メインコンテンツへ移動
SAA-C03Cost-Optimized Architectures難易度難しい

SAA-026

VPC内のLambda関数がDynamoDBにアクセスします。NAT Gatewayの固定費を避けたい場合、最も適した構成はどれですか?

選択肢

解説と正解

解説と正解を読む(先に自分で回答してから開くのがおすすめです)

正解:D. DynamoDB Gateway VPC Endpointを作成する

解説

DynamoDB Gateway VPC Endpointを使うと、VPC内のリソースからDynamoDBへプライベートにアクセスでき、NAT Gatewayの固定費を避けられます。

選択肢ごとの解説

A. NAT Gatewayを各AZに作成する

NAT Gatewayは固定費が発生します。

B. Internet GatewayをLambdaに直接関連付ける

LambdaへInternet Gatewayを直接関連付ける構成はありません。

C. DynamoDBテーブルをパブリックサブネットに配置する

DynamoDBはVPC内サブネットに配置するサービスではありません。

D. DynamoDB Gateway VPC Endpointを作成する

正解です。DynamoDBアクセスでNAT Gatewayを不要にできます。

実務での使いどころ

S3 と DynamoDB は AWS の中でも特殊な扱いで、Gateway 型 VPC Endpoint を介して VPC 内のリソースから AWS バックボーン経由でアクセスできる。Gateway Endpoint 自体は無料で、データ転送料金もリージョン内であれば発生しないため、VPC 内 Lambda や EC2 から DynamoDB を呼ぶ要件では、NAT Gateway を経由するよりも大幅にコストを削減できる。NAT Gateway は時間単価(1 AZ あたり月額数十ドル)とデータ処理量で課金されるため、VPC Lambda の通信量が多いほど Endpoint 化の効果が大きい。 設計上の注意点として、Gateway Endpoint はルートテーブルへのプレフィックスリスト追加で動作するため、対象 VPC 内の全関連サブネットのルートテーブルに Endpoint を関連付けないと、一部 Lambda が依然として NAT Gateway 経由になる事故が起きやすい。また、Endpoint Policy で「特定の DynamoDB テーブルへのアクセスのみ許可」する制限をかけることで、想定外テーブルへのアクセスを VPC レベルで遮断できる。Gateway Endpoint が提供されるのは S3 と DynamoDB の 2 サービスに限定され、それ以外(Secrets Manager、KMS、SQS など)は Interface Endpoint(PrivateLink ベース、ENI 課金あり)となる。 SAA-C03 では「VPC 内 Lambda から DynamoDB へアクセス」「NAT Gateway の固定費を避けたい」「プライベート経路で接続したい」という要件で Gateway VPC Endpoint が正解となる。NAT Gateway 増設、Internet Gateway の Lambda 直接関連付け、DynamoDB をパブリックサブネットへ配置といった誤答は、コスト増・存在しない構成・サービス特性と矛盾するため除外できる。Interface Endpoint との使い分け、Endpoint Policy による絞り込みも上位で問われる。

関連リンク

関連サービス