■概要
通常、EC2からS3へのアクセスはインターネットを通して通信される。
・プライベートサブネットからの通信はNATゲートウェイ経由
・パブリックゲートウェイであればインターネットゲートウェイ経由
※プライベートサブネットからの通信にNATを使用しない場合には、そもそもS3への接続が不可
しかし、VPCエンドポイント(厳密には、ゲートウェイエンドポイント)を設定することにより、
プライベートセグメントのEC2からインターネットを介さずセキュアな通信が可能となる。
正確な用語については、以下URLを参照ください。
正確な用語については、以下URLを参照ください。
■注意点
VPCエンドポイントを作成する際は、
サブネット上のパブリックIPアドレスによるS3との通信が一旦切断される可能性があるため、
S3との通信が発生していないタイミングでの実施が望ましい。
サブネット上のパブリックIPアドレスによるS3との通信が一旦切断される可能性があるため、
S3との通信が発生していないタイミングでの実施が望ましい。
■補足
VPCエンドポイントを作成しても、S3のパブリックエンドポイントやDNS名は正常に動作する。
VPCエンドポイントは単にEC2からS3への通信経路を変更するだけのもの。
■設定方法
ここでは、S3へのエンドポイントを作成する手順を記載する。
1.VPCダッシュボード>エンドポイントをクリック
2.「エンドポイントの作成」をクリック
3.サービスカテゴリに「AWSサービス」を選択
4.サービス名で、「~.S3」を選択
5.VPCに、エンドポイントを作成したいVPCを選択
6.上記5で選択したVPCに紐づいているルートテーブルのうち、エンドポイントを宛先とするルートエントリを追加するルートテーブルを選ぶ
7.ポリシーには、ここでは「フルアクセス」を選択
8.「エンドポイントの作成」をクリック
9.VPCエンドポイントが作成されたことを確認
10.上記6で選択したルートテーブルに、S3へのルートエントリが追加されていることを確認
※送信先がS3の場合、ターゲットがエンドポイント(vpce~)となっていることを確認
11.上記6で選択したルートテーブルを使用しているEC2から、awscliコマンドでS3への通信状況を確認する。
# aws s3 ls --region ap-northeast-1 -recursive s3:~