AWS SAA(Solutions Architect - Associate)対策

VPCエンドポイント

このレッスンでできるようになること。SAA で最も繰り返し出る言い回しである「インターネットを経由せずに S3 へアクセスしたい」を、2 種類のエンドポイントのどちらかに正しく振り分けられるようになります。

要件の文から入る

ある企業が、プライベートサブネットの EC2 から S3 へ毎晩数テラバイトのログを書き出しています。今は NAT ゲートウェイ経由で出ています。監査から「S3 への通信はインターネットを経由しないこと」を求められ、同時に経理から「NAT の転送料を下げたい」と言われました。何を入れますか。

答えは S3 用のゲートウェイ型 VPC エンドポイントです。この 1 手で、通信は AWS のネットワーク内に留まり、NAT ゲートウェイを通らなくなるので処理データ量の課金も消えます。しかもゲートウェイ型のエンドポイント自体には追加料金がかかりません。要件文の 2 つが同時に片付くので、この形が試験で好まれます。

2 種類の線引き

ゲートウェイ型インターフェース型 (PrivateLink)
対応サービスS3 と DynamoDB のみ多数の AWS サービス、自社サービス、Marketplace
仕組みルートテーブルにプレフィックスリスト向けの経路を追加サブネットに ENI を作り、プライベート IP を持たせる
名前解決通常のサービスエンドポイント名のままプライベート DNS で同じ名前をプライベート IP に解決
制御エンドポイントポリシー + ルートテーブルエンドポイントポリシー + セキュリティグループ
オンプレミスから利用できないDirect Connect や VPN 経由で利用できる
料金追加料金なし時間課金 + 処理データ量課金
冗長化ルートテーブル単位。AZ の概念なしサブネット単位。AZ ごとに ENI を作る

表の 1 行目が最強の判別材料です。ゲートウェイ型は S3 と DynamoDB の 2 つだけなので、要件文のサービス名がこの 2 つ以外なら、その時点でインターフェース型に決まります。逆に S3 か DynamoDB で、しかも「追加料金をかけずに」「最も低コストで」と書かれていたらゲートウェイ型です。

最後の 2 行も効きます。オンプレミスから VPC 経由で S3 へ届かせたい、という要件ではゲートウェイ型は使えません。この場合はインターフェース型を選びます。またインターフェース型は ENI なので、可用性の要件があれば複数 AZ のサブネットに作ります。ここは NAT ゲートウェイと同じ考え方です。

要件語から構成への対応表

要件文の言い回し選ぶもの
インターネットを経由せずに S3 へ、追加料金をかけずにS3 のゲートウェイ型エンドポイント
インターネットを経由せずに DynamoDB へDynamoDB のゲートウェイ型エンドポイント
インターネットを経由せずに SQS や Secrets Manager へインターフェース型エンドポイント
オンプレミスから専用線経由で S3 へS3 のインターフェース型エンドポイント
自社の SaaS を他アカウントへ非公開で提供PrivateLink (エンドポイントサービス)
NAT の転送料を減らしたいS3 と DynamoDB はゲートウェイ型へ逃がす

よくある引っ掛け

1 つめは、S3 の要件に対してインターフェース型を選ばせるものです。技術的には動きます。しかし時間課金と処理データ量課金が乗るので、「最も低コストで」と書かれていたら負けます。惜しい選択肢の典型です。

2 つめは、パブリック IP を外して NAT だけで済ませる案です。NAT を通った時点で通信は一度インターネットへ出るので、「インターネットを経由しない」という要件語を満たしません。到達性だけを見ると正しく見えるので引っ掛かります。

3 つめは、ゲートウェイ型に対してセキュリティグループを設定する選択肢です。ゲートウェイ型は ENI を持たないのでセキュリティグループの対象になりません。制御はエンドポイントポリシーで行います。

まとめ

  • 「インターネットを経由せず」はまず VPC エンドポイントを疑います
  • ゲートウェイ型は S3 と DynamoDB のみ。ルートテーブルに経路が入り、追加料金はありません
  • インターフェース型は ENI を作る方式で、対応サービスが広い代わりに時間課金と処理データ量課金がかかります
  • オンプレミスから使いたい要件はインターフェース型です
  • NAT の転送料が論点なら、S3 と DynamoDB の通信をゲートウェイ型へ逃がすのが定番の答えです
生田 陸人
ゆめさくエンジニア / 現役ソフトウェアエンジニア
編集 LuaGate編集部

復習ミニクイズ

ある企業がプライベートサブネットの EC2 から S3 へ大量のログを転送しています。要件は「S3 への通信がインターネットを経由しないこと」と「追加のネットワーク費用を最も低く抑えること」です。最も適切な構成はどれですか。