VPCエンドポイント -ゲートウェイエンドポイント-
インターネットを介さずにVPC内のリソースとS3,DynamoDB間をセキュアに接続できる。
これにより、NATゲートウェイを配置しなくてもプライベートサブネットからS3,DynamoDBへ接続ができる。
参考:VPCエンドポイント
この記事でやること
プライベートサブネットからVPCエンドポイントを介してS3に接続します。
前提条件
S3バケットの中には【folder-a】というフォルダを作成しておきます。
大まかな手順
1.EC2に権限付与
2.VPCエンドポイント作成
やってみた
###1.EC2に権限付与
IAMポリシー作成
EC2(Server-B)がS3にアクセスするため、IAMポリシーを作成します。
今回はリスト(一覧表示)アクションと対象となるS3バケットを指定します。
IAMロール作成
IAMロール作成し、先ほど作成したポリシーをアタッチします。
次にEC2コンソールから、EC2(Server-B)にアタッチします。
2.VPCエンドポイント作成
VPCコンソールで、【エンドポイントの作成】をクリックします。
エンドポイント作成画面が表示されるので上から順に、
①検索バーに【S3】を入力
②タイプがゲートウェイのエンドポイントを選択
③使用するVPCを選択
④S3に接続するEC2が配置されたサブネット(Subnet-B)を選択
最後にエンドポイントの作成ボタンをクリックします。
作成したVPCエンドポイントのステータスがアクティブになっていることを確認します。
Server-Bが配置されているサブネット(Subnet-B)のルートテーブルに、VPCエンドポイントへのルートが追加されていることを確認します。
エンドポイント作成時にサブネットを選択することで自動的に追加されます。
疎通確認
接続元のEC2(Server-B)にssh接続します。
疎通確認前に、aws configureコマンドを実行し、リージョンを指定します。
リージョンのみ指定し、他はENTERでOKです。
S3バケットの中身が確認できましたので、接続できています。
NATゲートウェイを使用しなくても プライベートサブネットからS3へ接続できることが確認できました!
感想
AWSのドキュメントや試験の参考書を見ても、うーん。。という感じですが実際に作成すると簡単でした。
セキュリティ、コスト最適化の観点からも便利な機能だと思いました。