難易度は Level 1(やさしめ)〜Level 5(難関) の5段階です。
AWS SAAのサンプル問題(本番形式・解説付き)
AWS SAA(Amazon Web Services・AWS Certified Solutions Architect – Associate(SAA-C03))の出題形式を、実際の問題で確かめられます。ここに掲載する5問は、無料の会員登録で解ける模試 第1回(65問)の冒頭から抜粋したオリジナル問題です。当サイトは全910問を本番CBT準拠の形式で収録しており、この5問はそのごく一部にあたります。
設問1
ある企業は、同じ AWS アカウントの中に、受注システム用と在庫システム用の 2 つの VPC を持っている。受注システムのアプリは、在庫システムのデータベースにプライベート IP アドレスで直接接続する必要がある。今後ほかの VPC とつなぐ予定は無く、接続は 2 つの VPC の間だけでよい。企業は、構成をできるだけ単純にし、費用も最小にしたいと考えている。これらの要件を満たす構成はどれか。
- VPC ピアリングを設定する(正解)
- Transit Gateway を新規に構築する
- 両 VPC をインターネット経由で接続する
- 各 VPC に NAT ゲートウェイを置く
解説
2つの VPC 間の単純な1対1プライベート接続は、VPC ピアリングが最もシンプルで低コストです。Transit Gateway は多数の VPC をハブ&スポークで束ねる場合に有利でこの規模では過剰、インターネット経由はプライベート要件に反し、NAT はアウトバウンド用で VPC 間接続の手段ではありません。
他の選択肢が誤りである理由
- 「Transit Gateway を新規に構築する」Transit GatewayはVPCやオンプレ拠点を大規模にハブ&スポークで束ねるサービスであり、2つのVPC間の単純な1対1接続には過剰なコストと複雑さを伴います。
- 「両 VPC をインターネット経由で接続する」インターネット経由では通信が外部ネットワークを通るため、プライベートIPで直接通信するという要件を満たせません。
- 「各 VPC に NAT ゲートウェイを置く」NAT ゲートウェイはプライベートサブネットからインターネットへのアウトバウンド変換専用であり、VPC間のプライベート相互通信を実現する手段ではありません。
設問2
ある企業が、EC2 上に自分で構築したメッセージの仲介基盤を運用している。OS のパッチ適用、仲介ソフトの更新、障害時の復旧に担当者が多くの時間を取られ、ほかの業務が進まない。企業は、責任共有モデルの考え方を踏まえて、担当者が抱える作業そのものを減らす設計の方針を決めたい。メッセージの量は今後も増える見込みで、担当者を増やす予算も無い。最も適切なのはどれか。
- インスタンスタイプを大きくし、1 台あたりの処理量を増やして台数を減らす
- 専用ホストへ移し、ハードウェアを占有して構成を安定させる
- Auto Scaling を導入し、負荷に応じてインスタンス数を増減させる
- マネージドサービスへ寄せ、OS とミドルウェアの保守を AWS 側へ移す(正解)
解説
マネージド型・サーバーレス型へ寄せるほど利用者の責任範囲は狭まり、OS やミドルウェアの保守が AWS 側へ移って運用負荷が下がります。「インスタンスタイプを大きくし、1 台あたりの処理量を増やして台数を減らす」は誤りです。台数が減っても OS とミドルウェアの保守作業は利用者に残ります。ハードウェアの占有は保守の担い手を変えないため運用負荷は下がりません。「Auto Scaling を導入し、負荷に応じてインスタンス数を増減させる」は誤りです。台数の自動調整は可用性と費用の話で、保守責任の所在は動きません。
他の選択肢が誤りである理由
- 「インスタンスタイプを大きくし、1 台あたりの処理量を増やして台数を減らす」台数が減っても OS とミドルウェアの保守作業は利用者に残る。
- 「専用ホストへ移し、ハードウェアを占有して構成を安定させる」ハードウェアの占有は保守の担い手を変えないため運用負荷は下がらない。
- 「Auto Scaling を導入し、負荷に応じてインスタンス数を増減させる」台数の自動調整は可用性と費用の話で、保守責任の所在は動かない。
設問3
ある企業が、Web アプリのセッション情報とワンタイムトークンを Amazon DynamoDB のテーブルに保存している。これらのデータは作成から 24 時間を過ぎると不要になるが、削除されずに残り続け、ストレージの費用が増えている。企業は、期限を過ぎたデータを自動で消したいが、削除のためのプログラムを作って動かすことや、削除のための追加の費用は避けたい。最も適した機能はどれか。
- 毎晩Lambdaで全件スキャンして期限切れを削除する方式となっており、スキャンをオンデマンドキャパシティモード(On-Demand)のテーブルに対して実行すれば、読み取りコストを追加料金なしでゼロに抑えられる
- テーブルを毎日作り直す
- グローバルセカンダリインデックスを追加する方式を採用しており、有効期限の属性をGSIのパーティションキーに設定すれば、期限切れアイテムがインデックス側で自動的に削除される仕組みが働く
- DynamoDB の有効期限属性を設定し、期限切れアイテムを自動削除させる(正解)
解説
アイテムに期限のタイムスタンプ(TTL 属性)を設定すると、DynamoDB が期限切れアイテムを自動的に(追加料金なしで)削除し、ストレージと不要データを抑えられます。自前の全件スキャン削除は読み取りコストと運用負荷が高く、テーブル再作成やGSI追加は期限管理の手段になりません。
他の選択肢が誤りである理由
- 「毎晩Lambdaで全件スキャンして期限切れを削除する方式となっており、スキャンをオンデマンドキャパシティモード(On-Demand)のテーブルに対して実行すれば、読み取りコストを追加料金なしでゼロに抑えられる」オンデマンドモードであっても実際に読み取ったリクエスト量に応じた課金は発生するため、テーブル全体を毎晩スキャンする処理自体のコストがゼロになるわけではなく、追加コストや自前のバッチ処理を避けたいという要件には反します。
- 「テーブルを毎日作り直す」テーブルを毎日作り直すとデータ移行・参照先変更が必要になり運用が大幅に複雑化するうえ、アイテム単位の細かな期限管理にも対応できない。
- 「グローバルセカンダリインデックスを追加する方式を採用しており、有効期限の属性をGSIのパーティションキーに設定すれば、期限切れアイテムがインデックス側で自動的に削除される仕組みが働く」GSIはクエリのアクセスパターンを増やすための副次的なインデックスであり、パーティションキーに何を設定してもアイテムを期限に基づいて自動的に削除する機能そのものは持たないため、期限切れデータの自動削除にはTTL属性の設定が別途必要です。
設問4
ある企業が、EC2 インスタンスにアタッチした EBS ボリュームに業務データを保存している。リージョン全体の災害に備え、ボリュームのバックアップを毎日取得して、別のリージョンにも保管する必要がある。企業は、取得とコピーを自動で行い、変更のあった部分だけを保存して費用を抑えたい。取得とコピーの日時や保持の世代も、ルールとして決めておきたい。運用負荷の少ない方法はどれか。
- EBS スナップショットを定期取得(増分)し、別リージョンへスナップショットコピーする(正解)
- ボリューム全体を毎回 S3 へ丸ごとコピーし、コピー先のバケットに S3 ライフサイクルポリシーを設定して古い世代を自動削除する運用にする
- インスタンスを停止してAMIを手動で作るだけにする方式を採用しており、AMI作成時に自動的に別リージョンへコピーする設定と定期保持ポリシーがデフォルトで有効になっている
- ボリュームをGlacierに直接移動する方式を用いており、EBSコンソールのストレージクラス変更メニューからボリュームをオブジェクトとしてGlacierへ直接エクスポートできる(Glacier は S3 のアーカイブ向けストレージクラス)
解説
EBS スナップショットは増分で S3 に保存され、別リージョンへコピーして地理的冗長を確保でき、Data Lifecycle Manager で取得・コピー・保持を自動化できます。丸ごとコピーは非効率で、AMI手動作成のみでは定期性/別リージョン保管が担保されず、EBS を直接 Glacier へ移すことはできません。
他の選択肢が誤りである理由
- 「ボリューム全体を毎回 S3 へ丸ごとコピーし、コピー先のバケットに S3 ライフサイクルポリシーを設定して古い世代を自動削除する運用にする」毎回ボリューム全体をゼロからコピーする操作は差分検出を伴わない全量転送であり、コピー先にライフサイクルポリシーを設定しても転送そのものの非効率さは変わらず、時間とコストが無駄にかかり続けます。
- 「インスタンスを停止してAMIを手動で作るだけにする方式を採用しており、AMI作成時に自動的に別リージョンへコピーする設定と定期保持ポリシーがデフォルトで有効になっている」AMIの作成はデフォルトでは元リージョンにのみ保存され、別リージョンへのコピーや古い世代の自動削除といった保持ポリシーはいずれも手動または別途の自動化設定なしには行われません。
- 「ボリュームをGlacierに直接移動する方式を用いており、EBSコンソールのストレージクラス変更メニューからボリュームをオブジェクトとしてGlacierへ直接エクスポートできる(Glacier は S3 のアーカイブ向けストレージクラス)」EBSボリュームはブロックストレージであり、S3のようなストレージクラスの概念を持たないため、ボリュームをGlacierへ直接移動・エクスポートする機能はAWSに存在しません。
設問5
ある研究機関が、数 PB のゲノムデータを Apache Spark で解析する処理を毎週 1 回実行している。処理には数百台規模のノードから成るクラスターが必要だが、構築やソフトウェアの設定、ノード数の調整を自分たちで行う余裕はない。解析が終わったらクラスターを止めて、待機中の費用を払わないようにしたい。最も適したサービスはどれか。
- Amazon EMR(正解)
- 単一の大型 EC2 インスタンス
- Amazon Athena 単体
- AWS Lambda の大量並列
解説
Spark/Hadoop など分散処理フレームワークのクラスターをマネージドに構築・スケールでき、ジョブ後に縮退・終了してコストを抑えられるのが EMR です。単一 EC2 や Lambda はペタバイト級分散処理に不向き、Athena はアドホッククエリ向きです。
他の選択肢が誤りである理由
- 「単一の大型 EC2 インスタンス」単一インスタンスでは Spark/Hadoop の分散処理の恩恵が得られず、ペタバイト級のデータ処理には性能が不十分です。
- 「Amazon Athena 単体」アドホッククエリ向けのサーバーレスサービスであり、Spark/Hadoop クラスターを構成してカスタム分散処理を実行する機能はありません。
- 「AWS Lambda の大量並列」最大実行時間が 15 分という制限があり、ステートフルな分散処理フレームワーク(Spark 等)の長時間ジョブには適しません。
続きは、会員登録なしでそのまま50問解けます。採点と解説つきで、上と同じ本物の問題です。
登録なしで50問解く