VPC Endpoint プライベート接続構成
プライベートサブネット内のアプリケーションから、インターネットを経由せずにS3やDynamoDBへアクセスするVPC Endpoint構成です。
構成図
使用AWSサービス
サービス名をクリックすると、用語詳細ページで復習できます。
概要
この構成は、VPC内のプライベートサブネットにあるアプリケーションから、インターネットを経由せずにS3やDynamoDBなどのAWSサービスへアクセスするための設計です。
通常、プライベートサブネットからインターネット上のAWSサービスへ出るにはNAT Gatewayが必要になります。しかし、S3やDynamoDBなど一部のAWSサービスに対してはVPC Endpointを使うことで、AWSネットワーク内で通信を完結できます。
この構成は、セキュリティとコストの両方を意識したネットワーク設計としてSAAで問われやすいです。
構成図
flowchart TD
User[ユーザー]
ALB[Application Load Balancer]
VPC[VPC]
PublicSubnet[Public Subnet]
PrivateSubnet[Private Subnet]
App[EC2 / Lambda / Container App]
Endpoint[VPC Endpoint]
S3[(Amazon S3)]
DDB[(Amazon DynamoDB)]
IAM[IAM Policy]User -->|HTTPS| ALB
ALB --> PublicSubnet
PublicSubnet --> PrivateSubnet
PrivateSubnet --> App
App -->|Private Access| Endpoint
Endpoint --> S3
Endpoint --> DDB
IAM -.-> Endpoint
```
この構成で実現できること
| 項目 | 内容 |
|---|---|
| プライベート通信 | VPC内リソースからAWSサービスへインターネットを経由せずアクセスできる |
| セキュリティ向上 | パブリックIPやNAT Gateway経由の通信を減らせる |
| コスト削減 | S3やDynamoDB向けのGateway EndpointではNAT Gatewayの固定費を避けられる |
| 通信経路制御 | Endpoint Policyでアクセス先バケットや操作を制限できる |
使用AWSサービス
| サービス | 役割 |
|---|---|
| Amazon VPC | アプリケーションを配置するネットワーク |
| Private Subnet | 外部から直接アクセスさせないアプリケーション配置先 |
| VPC Endpoint | VPC内からAWSサービスへプライベート接続する入口 |
| Amazon S3 | 静的ファイル、ログ、バックアップなどの保存先 |
| Amazon DynamoDB | サーバーレスなNoSQLデータベース |
| IAM | VPC EndpointやAWSサービスへのアクセス権限制御 |
通信フロー
- ユーザーがApplication Load BalancerへHTTPSアクセスする
- ALBがプライベートサブネット内のアプリケーションへリクエストを転送する
- アプリケーションがS3またはDynamoDBへアクセスする
- 通信はVPC Endpointを通る
- AWSサービス側でIAM PolicyとEndpoint Policyが評価される
- 許可された操作だけが実行される
設計ポイント
可用性
VPC Endpoint自体はマネージドサービスです。Interface Endpointを使う場合は、複数AZに作成することでAZ障害時の影響を抑えられます。
S3やDynamoDBのGateway Endpointはルートテーブルに紐づけるため、対象サブネットのルートテーブル設計を確認します。
セキュリティ
プライベートサブネットのリソースにパブリックIPを付与しない設計にできます。
Endpoint Policyを使うと、例えば「特定のS3バケットへのGetObjectだけ許可する」といった制限ができます。
IAM Role側の権限とEndpoint Policyの両方で制御することで、誤操作や過剰権限のリスクを下げられます。
コスト
S3とDynamoDBのGateway Endpointは、NAT Gatewayを使う構成よりコストを抑えやすいです。
一方、Interface Endpointは時間課金とデータ処理課金が発生します。そのため、すべてのサービスにInterface Endpointを作るのではなく、通信量とセキュリティ要件を見て判断します。
パフォーマンス
AWSネットワーク内で通信できるため、インターネット経由の通信より経路を制御しやすくなります。
ただし、アプリケーション側のリトライ設計やタイムアウト設定は別途必要です。
SAA試験で問われるポイント
- プライベートサブネットからS3へアクセスする場合、Gateway Endpointが選択肢になる
- NAT Gatewayを使わずにAWSサービスへプライベート接続できる
- Interface EndpointとGateway Endpointの違いを理解する
- Endpoint Policyでアクセス範囲を制限できる
- セキュリティとコスト最適化を同時に満たす選択肢として出やすい
この構成の注意点
- Gateway EndpointはS3とDynamoDB向けに使う
- Interface Endpointはサービスごとに対応状況を確認する
- Interface Endpointはコストが発生するため、無制限に作らない
- ルートテーブルへの関連付け漏れがあると通信できない
- IAM Policyで許可していても、Endpoint Policyで拒否されるとアクセスできない
関連用語
関連比較
まとめ
VPC Endpointは、プライベートサブネットからAWSサービスへ安全にアクセスするための重要な構成です。
SAAでは「インターネットを経由しない」「NAT Gatewayを使わない」「S3やDynamoDBへアクセスしたい」という条件が出たら、VPC Endpointを候補に入れます。
他のAWS構成図も確認する
SAA対策では、AWSサービスを単体ではなく構成パターンとして理解することが重要です。
関連構成図
静的サイト
S3 + CloudFront 静的Webサイト構成
S3に配置した静的サイトをCloudFrontで高速・安全に配信する基本構成です。S3直接公開を避け、OACでCloudFront経由のアクセスに限定します。
サーバーレス
API Gateway + Lambda + DynamoDB サーバーレスAPI構成
API Gatewayを入口にし、Lambdaで処理し、DynamoDBへ保存するサーバーレスAPIの基本構成です。問い合わせフォームや小規模APIに向いています。
3層構成
VPC内3層Webアプリ構成
Public Subnet、Private Subnet、Database Subnetを分け、Web層・アプリ層・DB層を分離する基本的な3層Webアプリ構成です。