AWS EC2からS3へアクセスする(ユーザーのキー)

AWSのEC2からS3のバケットへIAMユーザーのキーでアクセスするサンプルです。

目次

サンプル 概要と準備
  IAMユーザーを作成する
VPCにエンドポイントを作成する
EC2のコンソールでキーを割り当てる
EC2のコンソールからS3のバケットを参照する
S3からEC2にファイルを取得して参照する
EC2のコンソールでキーを削除する

概要と準備

  • IAMユーザーのキーをEC2に割り当てS3へアクセスします。
    注意:アクセスキーとシークレットキーの使用はセキュリティ的に非推奨です。
    ここでは、動作確認のため行っています。
  • EC2の作成とS3へのファイルアップロード済みです。
  • AWS EC2のAWS CLIをバージョンアップしています。
    https://aws.amazon.com/jp/s3/

 

IAMユーザーを作成する

1.検索入力欄で「IAM」と入力し、表示された「IAM」をクリックします。

2.左の画面で「ユーザー」をクリックし、「ユーザーを追加」ボタンをクリックします。

3.ユーザー名を入力します。

 

4.AWSのアクセスの種類は、「アクセスキー・プログラムによるアクセス」にチェックを入れます。
「次のステップ:アクセス権限」ボタンをクリックします。

 

5.「既存のポリシーを直接アタッチ」をクリックし、入力欄にs3を入力して検索し「AmazonS3FullAccess」にチェックを入れ
「次のステップ:タグ」→「次のステップ:確認」→「ユーザーの作成」ボタンをクリックしてユーザーを作成します。

 

6..csvのダウンロードでファイルをダウンロードして保存しておきます。

ファイルの中にアクセスキーとシークレットキーが記載されています。

 

VPCにエンドポイントを作成する

1.検索入力欄で「VPC」と入力し、表示された「VPC」をクリックします。

2.左の画面で「エンドポイント」をクリックし、「エンドポイントを作成」をクリックします。

3.エンドポイントの名前タグを入力します。サービスカテゴリは、AWSのサービスを選択します。

 

4.検索欄でS3と入力し、Gatewayタイプのサービス名を選択します。

 

5.VPCは、作成したVPCを選択しました。

 

6.ルートテーブルも、作成したルートテーブルを選択しました。
「エンドポイントの作成」をクリックするとエンドポイントが作成されます。

 

EC2のコンソールでキーを割り当てる

1.Tera TermのSSHでEC2に接続します。
Tera TermのSSHでEC2に接続する

 

2.コンソールでaws configureコマンドでキーを入力します。

[ec2-user@ip-10-0-10-4 ~]$ aws configure
AWS Access Key ID [None]: アクセスキー
AWS Secret Access Key [None]: シークレットキー
Default region name [None]: ap-northeast-1
Default output format [None]:

3行目は、デフォルトにするリージョンを入力します。
4行目は、何も入力せずエンターキーを押します。

 

EC2のコンソールからS3のバケットを参照する

aws s3 lsでバケットが表示されます。

[ec2-user@ip-10-0-10-4 ~]$ aws s3 ls
2022-07-12 15:35:34 test-s3-data-2022
[ec2-user@ip-10-0-10-4 ~]$ aws s3 ls s3://test-s3-data-2022
2022-07-13 16:36:42        774 aws-test1.png
2022-07-21 15:10:39         16 test-data1.txt
[ec2-user@ip-10-0-10-4 ~]$

3行目は、バケット内のファイルを表示しています。

デフォルトのリージョンではない場合は、コマンドの後に--region リージョン名を指定します。

aws s3 ls s3://test-s3-data-2022 --region ap-northeast-1

 

S3からEC2にファイルを取得して参照する

aws s3 cpでバケットのファイルを取得できます。

[ec2-user@ip-10-0-10-4 ~]$ aws s3 cp s3://test-s3-data-2022/test-data1.txt /home/ec2-user
download: s3://test-s3-data-2022/test-data1.txt to ./test-data1.txt
[ec2-user@ip-10-0-10-4 ~]$ more test-data1.txt
hello world test

 

EC2のコンソールでキーを削除する

more ~/.aws/credentials

rm -r ~/.aws

1行目は、キーの内容が表示されます。
3行目は、フォルダごと削除され、アクセスの権限がなくなります。

関連の記事

AWS IAMユーザを作成するサンプル

△上に戻る