AWS S3とEC2の接続

  • 2020年7月6日
  • 2024年7月9日
  • AWS
  • ,
  • 25ビュー

概要

VPC上のEC2とS3を接続する方法。エンドポイントを作成してS3を接続させます。

 

前提条件

・AWSアカウントを所持していること。
・VPC上にパブリック/プライベート用のEC2の構築済みであること。
構築方法の例

 

S3アクセス用のIAMの作成

① AWSマネジメントコンソールのサービスを検索するから「IAM」と検索し「IAM」を選択します。

 

② 左メニュー「ロール」→「ロールの作成」をクリックします。

 

③ 一般的なユースケース「EC2」を選択し「次のステップ:アクセス制限」をクリックします。

 

④ ポリシーのフィルタの検索で「S3」と検索し「AmazonS3FullAccess」を選択。「次のステップ:タグ」をクリックします。

 

⑤ ロールに名前を付けます。キーに「Name」値に「任意の名前」を入力し「次のステップ:確認」をクリックします。

 

⑥ ロール名の入力をし「ロールの作成」をクリックします。

 

⑦ ロールが一つ作成されたことを確認します。

 

⑧ EC2に移動し、左メニュー「インスタンス」からプライベートサブネットに接続されているEC2を選択します。「アクション」→「インスタンスの設定」→「IAMロールの割り当て/置換」をクリックします。

 

⑨ IAMロールの選択で、作成済みのロールを選択し「適用」をクリックします。

 

⑩ EC2にIAMロールの割り当てが完了しました。

S3バケットの作成

① AWSマネジメントコンソールのサービスを検索するから「S3」と検索し「S3」を選択します。

 

② 左メニュー「バケット」→「バケットの作成」をクリックします。

 

③ 任意のバケット名を入力します。(バケット名はAWS S3全体で一意の名前にする必要があります)

 

④ 「パブリックアクセスをすべてブロック」にチェックされていることを確認し「バケットを作成」をlクリックします。

 

⑤ 作成されたバケットが表示されていることを確認します。 

 

エンドポイントの作成

① AWSマネジメントコンソールのサービスを検索するから「VPC」と入力し「VPC」を選択します。

 

② サービス名で「S3」と入力し「com.amazonaws.ap-northeast-1.s3」を選択します。VPCでは「作成したVPC」を選択します。

 

③ ルートテーブルの選択で、作成した「プライベートサブネット」にチェックをします。

 

④ タグの追加でキーは「Name」。値は「任意の名前」を入力します。「エンドポイントの作成」をクリックします。

 

⑤ エンドポイントの作成が完了表示がされるので「閉じる」をクリックします。

 

⑥ 左メニュー「ルートテーブル」をクリックし、プライベート用のルートテーブルをクリックし、したメニュー「ルート」をクリックします。送信先に「com.amazonaws.ap-northeast-1)が存在すればOKです。

 

Amazon Linux上でS3の接続確認

① パブリック用のEC2にターミナル経由で接続します。

ssh -i *********.pem ec2-user@***.***.***.***(パブリックIP)

 

② パブリック→プライベート用のEC2に接続します。

ssh -i *********.pem ec2-user@***.***.***.***(プライベートIP)

 

③ rootに切替ます。

sudo su -

 

④ S3の接続確認コマンドを入力します。

aws s3 ls --region ap-northeast-1

 

⑤ 接続が正常名場合は以下のように接続しているS3が表示されます。

2020-07-06 01:24:38 sample-s3-20200706