SAA-003
プライベートサブネットのEC2インスタンスからAmazon S3へアクセスする必要があります。インターネット経由の通信を避け、NAT Gatewayのコストも発生させたくありません。最も適した構成はどれですか?
選択肢
解説と正解
解説と正解を読む(先に自分で回答してから開くのがおすすめです)
正解:B. S3 Gateway VPC Endpointを作成し、対象サブネットのルートテーブルに関連付ける
解説
S3 Gateway VPC Endpointを使うと、プライベートサブネットからS3へAWSネットワーク内でアクセスできます。NAT Gatewayの固定費も不要です。
選択肢ごとの解説
A. NAT Gatewayを作成し、プライベートサブネットのルートテーブルから0.0.0.0/0をNAT Gatewayへ向ける
NAT Gatewayは要件上避けたいコストが発生します。
B. S3 Gateway VPC Endpointを作成し、対象サブネットのルートテーブルに関連付ける
正解です。S3向けのGateway VPC Endpointは低コストでプライベートアクセスを実現できます。
C. EC2にパブリックIPを付与してS3へアクセスする
パブリックIPを付与するとインターネット経由になり、要件に反します。
D. Internet Gatewayをプライベートサブネットに直接関連付ける
Internet GatewayはVPCにアタッチするもので、プライベートサブネットに直接関連付けるものではありません。
実務での使いどころ
プライベートサブネット上の EC2 から S3 へアクセスする経路には、NAT Gateway 経由(インターネット経由でパブリック S3 エンドポイントへ)と、VPC Endpoint 経由(AWS 内部ネットワーク経由)の 2 通りが存在する。S3 と DynamoDB は Gateway 型 VPC Endpoint を提供しており、Gateway Endpoint 自体には追加料金が発生しない。NAT Gateway は時間単価とデータ処理量で課金されるため、S3 トラフィックを VPC Endpoint に逃がすだけでも、データ転送量の多い構成では大きなコスト削減になる。 Gateway Endpoint と Interface Endpoint(PrivateLink ベース、ENI を AZ ごとに配置)は別物で、課金体系も異なる。Gateway Endpoint は S3 と DynamoDB の 2 サービス限定で無料、それ以外の多くの AWS サービスは Interface Endpoint(ENI 時間課金とデータ処理課金)となる。設計時には、エンドポイントポリシーで「特定バケットへの操作のみ許可」する制限をかけ、想定外バケットへの抜け道を塞ぐのが実務上の基本となる。ルートテーブル設定の漏れで一部サブネットだけがインターネット経由になる事故も起きやすいため、対象 VPC 内の全関連ルートテーブルに Endpoint を関連付けたか確認する。 SAA-C03 では「プライベートサブネットから S3 へ低コストでアクセスしたい」「NAT Gateway の固定費を避けたい」という要件で Gateway VPC Endpoint が正解となる。Interface Endpoint と Gateway Endpoint の使い分け、エンドポイントポリシーによる絞り込み、PrivateLink によるサービス連携も上位試験では問われる。