自由気ままに書いちゃおう

好きなことをつらつらと・・・

VPCエンドポイントについて

■概要
通常、EC2からS3へのアクセスはインターネットを通して通信される。
・プライベートサブネットからの通信はNATゲートウェイ経由
・パブリックゲートウェイであればインターネットゲートウェイ経由
 
※プライベートサブネットからの通信にNATを使用しない場合には、そもそもS3への接続が不可
 
しかし、VPCエンドポイント(厳密には、ゲートウェイエンドポイント)を設定することにより、
プライベートセグメントのEC2からインターネットを介さずセキュアな通信が可能となる。
正確な用語については、以下URLを参照ください。
 
 
■注意点
VPCエンドポイントを作成する際は、
サブネット上のパブリック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:~