はじめに
このページはAWS Solution Architect Professional(SAP)の資格を取得するため、重要ポイントを絞って記載していきます。分かりづらいところ、間違っているところがあれば是非ご指摘ください。
太文字の部分を覚えてくれると嬉しいです。
今回の説明対象
VPCエンドポイント
サービスの内容
機能説明
AWSの各サービスとVPCにあるEC2インスタンス等が「インターネットを通らず」「AWSのネットワーク内だけで」通信を行うことが出来る
主な利用方法
S3やDynamoDBなどデータを大量に集める場所をフルオープンにするとデータ漏えい等が心配になる。一方で、一つ一つセキュリティ設定を行うのも大変だし、管理も面倒である。
こういう時VPCエンドポイントが使える。VPCエンドポイントはAWSサービスと特定のVPCの間に出入口を作ってアクセスを行うことができるサービス。AWS内のネットワークで通信を行うことが最大の特徴。これによりAWSサービス側はインターネット通信を全て遮断しても相互においてデータのやりとりが可能になる。
特徴
- インターネットを介さずにS3やLambda、DynamoDBと通信が出来る。外部からのアクセスを防ぎ、セキュリティが担保出来る。おおよそS3とDynamoDBがテストでよく出てくる
- 特定の通信がNAT Gatewayなどを通過することがなくなるのでコスト削減が見込める
注意点
- AWSの全サービスが対応しているわけではなく、ゲートウェイエンドポイントもしくはPrivateLink(インターフェイスエンドポイント)と呼ばれるサービスに対応しているAWSサービスに限られる。とはいいながら、S3、Lambda、Kinesisなど多くのサービスが対応している
- VPCエンドポイントと通信する場合はエンドポイント専用のIPアドレスやプライベートDNS(AWS内部専用ドメイン)にアクセスする必要がある。プライベートDNSを使うならばVPCの設定を行うこと
- 先述の通りVPCエンドポイントにはゲートウェイエンドポイントとインターフェイスエンドポイントの2つが存在して仕組みが若干違う。ただ詳細はテストに出ないのでとりあえず言葉だけ覚えておけばよい。なお、ゲートウェイエンドポイントはS3とDynamoDBのみ対応している
コスト
- ゲートウェイエンドポイントの場合はコストがかからない。S3やDynamoDBで使わない理由がないのはこのため
- インターフェイスエンドポイントの場合はトラフィック量に応じて若干コストがかかるがインターネットを通過する費用より断然安いし安定してる
テストのポイント、その他
テストの出題ポイントとしてVPCエンドポイントを使うパターンは大体プライベートサブネットにあるEC2インスタンスからS3もしくはDynamoDBへの通信関係がほとんどの印象。VPCエンドポイントはコストも安く、通信も安定する。
ちなみにS3でVPCエンドポイントを利用する場合においてはセキュリティ設定内容もテストにて頻出。S3側でVPC以外の通信は行わないという要件があれば、特定のVPCからのみ通信を許可するバケットポリシーを忘れないようにする。