変更要約: in-scope サービス網羅: コンピュート/スケーリング/ストレージ(EC2 Auto Scaling/AWS Auto Scaling/ECS/Fargate/Lambda/S3)を追加
4.1VPC エンドポイントの実装
プライベートにつなぐ——ゲートウェイエンドポイント、インターフェースエンドポイント、PrivateLink、プライベート DNS——を理解します。インターネットを経由せず AWS サービスへ到達します。
VPC 内から AWS サービスへインターネットを経由せずアクセスするのが VPC エンドポイントです。対象により「ゲートウェイ型」と「インターフェース型」に分かれます。
4.1.12 種類のエンドポイント
- ゲートウェイエンドポイント:S3 と DynamoDB 専用。ルートテーブルにターゲットを追加。ENI なし・追加料金なし。
- インターフェースエンドポイント:多くの AWS サービスと PrivateLink に対応。サブネットに ENI(プライベート IP)を作り、SG が効く。
- プライベート DNS:インターフェースエンドポイントを有効化すると、通常のサービス名がプライベート IP に解決される。
- 使い分け:S3/DynamoDB=ゲートウェイ、それ以外(多数のサービス・自社サービス公開)=インターフェース/PrivateLink。
「S3/DynamoDB へプライベート=ゲートウェイエンドポイント(ルートテーブル・無料)」「その他のサービス=インターフェースエンドポイント(ENI・SG・課金)」「自社サービスを他 VPC に公開=PrivateLink」 は ANS-C01 で頻出です。ゲートウェイ型はルートテーブル、インターフェース型は ENI で実現される点を区別します。
ANS-C01 では DNS とアクセス制御の細部、そして S3 の 2 種類のエンドポイントの違いが問われます。インターフェースエンドポイントでプライベート DNS を有効化すると、リゾルバはそのサービスの通常名(例:secretsmanager.ap-northeast-1.amazonaws.com)をエンドポイントの ENI のプライベート IP に解決します。これにより既存コードを変えずにプライベート経路へ切り替わりますが、オンプレなど VPC 外から解決させたい場合は Route 53 Resolver のインバウンドエンドポイント経由で名前解決を VPC に向ける必要があります。アクセス制御は二層で、エンドポイントポリシー(リソースベースの IAM ポリシー)でそのエンドポイント経由で許す API/リソースを絞り、インターフェース型ではさらに ENI に付くセキュリティグループでポート 443 のソースを制限します。S3 には従来のゲートウェイエンドポイントに加え、S3 用インターフェースエンドポイントもあり、オンプレや別 VPC・別リージョンからプライベート IP で S3 に到達したいときに使います(ゲートウェイ型は同一リージョン・同一 VPC のルートテーブル経由に限られ、オンプレからは使えない)。VPC エンドポイントポリシーと S3 バケットポリシーの aws:sourceVpce 条件を組み合わせると、特定エンドポイント経由のアクセスだけを許可する強い境界を作れます。
| 観点 | ゲートウェイ型 | インターフェース型 |
|---|---|---|
| 対象サービス | S3・DynamoDB のみ | 多数の AWS サービス+PrivateLink |
| 実体 | ルートテーブルのプレフィックスリスト | サブネットの ENI(プライベート IP) |
| 料金 | 無料 | 時間課金+データ処理課金 |
| オンプレ/他 VPC から | 不可(同一 VPC のみ) | 可能(DX/VPN/ピアリング経由) |
| SG の適用 | なし | あり(ENI に付与) |
シナリオ:オンプレのバッチが Direct Connect 経由で S3 にアクセスするが、トラフィックを一切インターネットに出さず、特定バケットのみに限定したい。→ S3 用インターフェースエンドポイントを作り(ゲートウェイ型はオンプレから使えない)、エンドポイントポリシーとバケットポリシーの aws:sourceVpce で対象バケット/エンドポイントに限定。オンプレからの名前解決は Route 53 Resolver インバウンドエンドポイントで VPC に向ける。
FAQ:Q. プライベート DNS を有効にしたのに解決されない? A. VPC の DNS ホスト名/DNS 解決(enableDnsSupport・enableDnsHostnames)が無効だと機能しない。両方を有効化する。Q. ゲートウェイエンドポイントに SG を付けたい? A. 付けられない。アクセス制御はエンドポイントポリシーとルートテーブルで行う。SG が要るならインターフェース型。
ひっかけ:「VPC エンドポイントがあれば NAT ゲートウェイは常に不要」は誤り。エンドポイントは対象 AWS サービスへの経路を提供するだけで、汎用のインターネット送信(OS パッケージ取得・任意の外部 API)には NAT が要る。逆に「S3 アクセスのために NAT を使う」のはコスト無駄で、ゲートウェイエンドポイントが正解。
4.1.2この節のまとめ
- S3/DynamoDB=ゲートウェイ、その他=インターフェース(ENI)
- 自社サービス公開=PrivateLink、名前解決=プライベート DNS
進捗の記録にはログインが必要です。
理解度チェック
(軽い確認用)Q1. プライベートサブネットの EC2 から S3 へ、インターネットを経由せず追加料金なしでアクセスしたい。何を実装しますか?
Q2. VPC から Systems Manager や Secrets Manager など多くの AWS サービスへプライベートに接続したい。何を実装しますか?
Q3. インターフェースエンドポイントの説明として正しいものはどれですか?

