AWS認定資格 WEB問題集&徹底解説

ソリューションアーキテクト-プロフェッショナル

正解 A問題
要復習(もう一度解きたい問題) 1 2 3 4
合格に向けて、もっと深く学習する
豊富な問題と詳細なAWSサービス解説を、24時間無料でお試しいただけます
プレミアム会員機能を無料で試す ❯
問題文と選択肢
ある動画配信企業は、3 つのアベイラビリティーゾーン (AZ) で構成される VPC 環境を運用しており、プライベートサブネットにデプロイされた複数のアプリケーションサーバーが Amazon S3 および Amazon DynamoDB と頻繁に通信を行っています。パブリックサブネットには各 AZ に NAT ゲートウェイが配置され、インターネット向けトラフィックと AWS サービスへのアクセスの両方を処理しています。

月次のコスト分析を実施したところ、データ転送コストが想定の 3 倍に達しており、特に NAT ゲートウェイの処理バイト数に対する課金が大きな割合を占めていることが判明しました。セキュリティ要件として、プライベートサブネットのリソースはインターネットから直接アクセスできないようにする必要があります。

コストを大幅に削減しつつ、アプリケーションの機能を維持するために推奨される対策はどれですか。
  • S3とDynamoDB用のGateway VPC Endpointをそれぞれ作成し、プライベートサブネットのルートテーブルに関連付ける。エンドポイントポリシーで必要なアクションのみを許可する
  • S3とDynamoDB用のInterface VPC Endpointをそれぞれ作成し、各プライベートサブネットに配置する。セキュリティグループでアプリケーションサーバーからのトラフィックのみを許可する
  • AWS PrivateLinkを使用してS3とDynamoDBへの接続を確立し、各Availability ZoneにPrivateLink Endpointを配置する。エンドポイントのセキュリティグループを適切に設定する
  • Transit Gatewayを作成してVPCに接続し、S3とDynamoDB向けのルーティングを集約する。Transit Gatewayのルートテーブルでトラフィックフローを制御する
解説 頻出度★★★★★
この問題は、「NAT ゲートウェイのデータ処理料金が高い × 通信相手は Amazon S3 と Amazon DynamoDB × プライベートのまま」という要件で、この 2 サービスだけが使えて追加料金が発生しないゲートウェイ型 VPC エンドポイントを選べるかがポイント
正解

A. S3とDynamoDB用のGateway VPC Endpointをそれぞれ作成し、プライベートサブネットのルートテーブルに関連付ける。エンドポイントポリシーで必要なアクションのみを許可する

ゲートウェイ型 VPC エンドポイントに対応しているのは Amazon S3 と Amazon DynamoDB の 2 つだけで、本問の通信相手はまさにこの 2 つ。
ルートテーブルにエンドポイント向けのルート(プレフィックスリスト宛て)が追加され、S3 / DynamoDB へのトラフィックが NAT ゲートウェイを経由せずに AWS ネットワーク内で直接届くため、NAT ゲートウェイのデータ処理料金がそのまま削減される。
ゲートウェイ型は追加料金なしで利用でき、インターネットゲートウェイを経由しないためプライベートサブネットのリソースがインターネットから到達可能になることもない。エンドポイントポリシーで必要なアクションのみ許可すればセキュリティ要件も満たす、コスト効果が最大の解。

B. S3とDynamoDB用のInterface VPC Endpointをそれぞれ作成し、各プライベートサブネットに配置する。セキュリティグループでアプリケーションサーバーからのトラフィックのみを許可する

インターフェース型 VPC エンドポイントは各 AZ に ENI を作成する方式で、ENI ごとの時間料金+データ処理料金が発生する。
通信自体はプライベートになるものの、NAT ゲートウェイの課金を別の従量課金に置き換えるだけで「コストを大幅に削減する」という要件には応えられない。
S3 / DynamoDB のように無料のゲートウェイ型が使えるサービスで、あえて課金されるインターフェース型を選ぶのはコスト最適化の観点で誤り。

C. AWS PrivateLinkを使用してS3とDynamoDBへの接続を確立し、各Availability ZoneにPrivateLink Endpointを配置する。エンドポイントのセキュリティグループを適切に設定する

AWS PrivateLink はインターフェース型エンドポイントの基盤技術であり、実質的に選択肢 B と同じ構成。したがって時間課金とデータ処理料金が発生する点も同じで、コスト削減効果はゲートウェイ型に及ばない。
「PrivateLink」という語感でよりセキュアかつ最適に見えるが、本問の要件(大幅なコスト削減)を満たす手段としては最適解ではない。

D. Transit Gatewayを作成してVPCに接続し、S3とDynamoDB向けのルーティングを集約する。Transit Gatewayのルートテーブルでトラフィックフローを制御する

AWS Transit Gateway は VPC 間やオンプレミスとの接続を集約するルーターの役割を果たすサービスで、S3 や DynamoDB といったAWS のパブリックサービスエンドポイントへの経路を提供するものではない
接続しても S3 / DynamoDB 向けの通信は結局 NAT ゲートウェイ経由のままとなり、問題の課金は解消しない。
さらにアタッチメントの時間料金とデータ処理料金が上乗せされ、コストはむしろ増える。

構成図

【変更前】アプリケーションサーバー ──▶ NAT ゲートウェイ(データ処理料金)──▶ S3 / DynamoDB
【変更後】アプリケーションサーバー ──▶ ゲートウェイ型 VPC エンドポイント(追加料金なし)──▶ S3 / DynamoDB
                                (インターネット向けの通信だけが NAT ゲートウェイを使う)
これだけ覚える(記憶フック)
S3 と DynamoDB はゲートウェイ型エンドポイントが無料。NAT ゲートウェイ経由をやめるだけでデータ処理料金が消える。
正解への思考ルート 問題文から要件を抽出し、選択肢の適否を判断するのがポイントです。
要件 判断ポイント
NAT ゲートウェイの「処理バイト数」への課金が支配的 S3 / DynamoDB 向けの通信を NAT ゲートウェイから迂回させることが本質的な対策
→選択肢(D)を消す
通信相手は Amazon S3 と Amazon DynamoDB ゲートウェイ型 VPC エンドポイントに対応する 2 サービスそのもの。この組み合わせが出たら第一候補
→選択肢(A)が正解
コストを「大幅に」削減したい ゲートウェイ型は追加料金なし。インターフェース型/PrivateLink は時間課金+データ処理料金が残る
→選択肢(B・C)を消す
プライベートサブネットのリソースはインターネットから直接アクセスさせない ゲートウェイ型はルートテーブル経由で AWS ネットワーク内を通るだけで、インターネットからの着信経路は増えない
→選択肢(A)が正解
アプリケーションの機能は維持する エンドポイント導入後もインターネット向け通信は NAT ゲートウェイが処理するため、NAT ゲートウェイを削除する必要はない
→選択肢(A)が正解
ひっかけポイント
  • 選択肢 B・C は「プライベート接続になる」という点でセキュリティ要件は満たしてしまう。判断の決め手は料金体系(インターフェース型は時間課金+データ処理料金、ゲートウェイ型は無料)
  • AWS PrivateLink=インターフェース型エンドポイントの基盤。選択肢 C は B の言い換えにすぎず、両方が同じ理由で不正解になる(=どちらも正解ではないと見抜ける)
  • Transit Gateway は「ルーティングを集約する」という語感で万能に見えるが、S3 / DynamoDB へのパブリックエンドポイント通信の経路にはならない。VPC 間・オンプレ接続用と割り切る
  • ゲートウェイ型はルートテーブルへの関連付けが必須。「作っただけ」では効果が出ないため、選択肢に「ルートテーブルに関連付ける」と書かれているかを確認する
出題バリエーション 同じ知識が本番では条件を変えて出題されます。
問題文がこう変わったら 正解はこう変わる
オンプレミス(Direct Connect / VPN)から S3 にプライベートアクセスしたい」 ゲートウェイ型は VPC 内からしか使えないため、S3 のインターフェース型エンドポイント(PrivateLink)が正解に変わる。
「NAT ゲートウェイの費用の大半が外部 API / OS パッチのダウンロードによるもの」 VPC エンドポイントでは減らせない。通信量そのものの削減やキャッシュ・リポジトリの VPC 内配置が正解軸に。
「エンドポイント経由で特定のバケットだけにアクセスさせたい」 エンドポイントポリシーと、バケットポリシーの aws:SourceVpce 条件による制限が正解軸に。
「通信相手が Amazon Kinesis や Systems Manager などである」 ゲートウェイ型は使えないため、インターフェース型 VPC エンドポイントが正解になる。
AZ 間のデータ転送料金が高い」 論点が変わり、同一 AZ 内での通信に寄せる設計(クロス AZ 通信の削減)が正解軸に。
関連サービスの解説 Amazon DynamoDB
Amazon Simple Storage Service (Amazon S3)
Amazon VPC
AWS PrivateLink
リファレンス この問題を解くために必要な知識を扱う公式ドキュメントです。
知識項目 公式ドキュメント
ゲートウェイ型 VPC エンドポイント(対応サービスは S3 と DynamoDB のみ・追加料金なし) ゲートウェイエンドポイントを使用して Amazon S3 と DynamoDB にアクセスする
+ 質問 / コメント
解答・解説に疑問がある場合や、よりよい解説がある場合など、お気軽にコメントください。ただし、短文コメントは表示されません。また、中傷などコメントの内容によっては、会員機能を停止させて頂きます。教え学び合える場になれば嬉しいです。(コメント投稿にはログインが必要です)
正答率 66%
No.6 解説
ある動画配信企業は、3 つのアベイラビリティーゾーン (AZ) で構成される VPC 環境を運用しており、プライベートサブネットにデプロイされた複数のアプリケーションサーバーが Amazon S3 および Amazon DynamoDB と頻繁に通信を行っています。パブリックサブネットには各 AZ に NAT ゲートウェイが配置され、インターネット向けトラフィックと AWS サービスへのアクセスの両方を処理しています。

月次のコスト分析を実施したところ、データ転送コストが想定の 3 倍に達しており、特に NAT ゲートウェイの処理バイト数に対する課金が大きな割合を占めていることが判明しました。セキュリティ要件として、プライベートサブネットのリソースはインターネットから直接アクセスできないようにする必要があります。

コストを大幅に削減しつつ、アプリケーションの機能を維持するために推奨される対策はどれですか。
  • S3とDynamoDB用のGateway VPC Endpointをそれぞれ作成し、プライベートサブネットのルートテーブルに関連付ける。エンドポイントポリシーで必要なアクションのみを許可する
  • S3とDynamoDB用のInterface VPC Endpointをそれぞれ作成し、各プライベートサブネットに配置する。セキュリティグループでアプリケーションサーバーからのトラフィックのみを許可する
  • AWS PrivateLinkを使用してS3とDynamoDBへの接続を確立し、各Availability ZoneにPrivateLink Endpointを配置する。エンドポイントのセキュリティグループを適切に設定する
  • Transit Gatewayを作成してVPCに接続し、S3とDynamoDB向けのルーティングを集約する。Transit Gatewayのルートテーブルでトラフィックフローを制御する

(会員限定)当問題の評価をお願いします。改善に活用します。