S3へのアクセス許可について
こんにちは、ynakaです。
今回はAWSのサービスであるS3への接続方法について紹介しようと思います。
EC2からS3へ直接アクセスする際、デフォルトの状態だとEC2経由でのアクセスは許可されておらず、
マネジメントコンソールからGUIでS3を確認していると思います。
わざわざマネジメントコンソールにログインして確認するよりも、
EC2から直接S3のバケットなど確認する方法を紹介しようと思います。
前提条件
前提条件として以下は作成済みとします。
・EC2インスタンス
・S3バケット
[root@test ~]# aws s3 ls Unable to locate credentials. You can configure credentials by running "aws configure".
現在は許可されていないのでアクセス出来ません。
ちなみに「aws s3 ls」はS3内のバケットを一覧表示するコマンドとなります。
IAMロール作成
S3へアクセスする際に使用するIAMロールを作成します。
AWS > IAM > ロール > [ロールを作成]をクリック
信頼されたエンティティタイプ「AWSのサービス(デフォルト)」を選択し、
一般的なユースケース「EC2」を選択して[次へ]をクリック
許可ポリシーの検索窓で「s3」で検索し、「AmazonS3FullAccess」を選択して[次へ]
次に任意のロール名を入力して「ロールの作成」をクリック
今回は「s3fullaccess」とします。
IAMロールをEC2へ割り当て
次に作成したロールを接続元であるEC2へ割り当てます。
AWS > EC2 > [アクション] > [セキュリティ] > [IAMロールを変更]を選択
今回作成したIAMロールを選択して[Update IAM role]をクリック。
これで作成したIAMロールをEC2に割り当てることが出来ました。
これでわざわざマネジメントコンソールにログインせず、EC2上からバケット一覧表示や
コマンドでバケット/オブジェクト作成することが可能になりました。
[root@test ~]# aws s3 ls 2022-07-10 02:29:56 xxxxxx
コマンド上でバケットやオブジェクト作成する方法も機会があれば紹介しようと思います。
今回はこのあたりで終わりたいと思います。それではまた。