資格道場
記事法人
Amazon Web ServicesLevel 3

難易度は Level 1(やさしめ)〜Level 5(難関) の5段階です。

AWS SAAのサンプル問題(本番形式・解説付き)

AWS SAA(Amazon Web Services・AWS Certified Solutions Architect – Associate(SAA-C03))の出題形式を、実際の問題で確かめられます。ここに掲載する5問は、無料の会員登録で解ける模試 第1回(63問)の冒頭から抜粋したオリジナル問題です。当サイトは全435問を本番CBT準拠の形式で収録しており、この5問はそのごく一部にあたります。

設問1

ある企業が、ステートレスなバッチ処理を多数のEC2インスタンスで並列実行している。処理は途中で中断・再開しても問題なく、完了まで数十分かかる。コストを最小化したい。最も適したインスタンスの購入オプションはどれか。

  • オンデマンドインスタンス
  • 1年間の Savings Plans を購入したオンデマンド
  • ハードウェア専有の Dedicated Hosts
  • スポットインスタンス(正解)

解説

中断耐性があり再開可能なワークロードは、最大90%割引のスポットインスタンスが最もコスト効率に優れます。中断されても再実行できるため要件に合致します。常時起動の定常負荷なら Savings Plans/リザーブドが向きますが、ここでは中断可なのでスポットが最適です。

他の選択肢が誤りである理由

  • オンデマンドインスタンス通常料金が適用されるオンデマンドは割引がなく、中断耐性のある断続的なワークロードに使うには割高です。
  • 1年間の Savings Plans を購入したオンデマンド1年間のコミットメントが発生するため、断続的なバッチ処理では不使用時間帯の料金も無駄になります。
  • ハードウェア専有の Dedicated Hostsハードウェア専有は規制対応やソフトウェアライセンス要件向けのオプションで、コスト最小化とは正反対の選択です。

設問2

ECS でコンテナ化したマイクロサービスを運用する企業が、EC2 インスタンスの管理(パッチ・スケーリング・キャパシティ計画)から解放されたいと考えている。最も運用負荷の低い起動タイプはどれか。

  • EC2 起動タイプ(自己管理のコンテナインスタンス)
  • EC2 スポットフリート上の ECS
  • AWS Fargate 起動タイプ(正解)
  • EKS のセルフマネージドノードグループ

解説

Fargate はサーバーレスのコンテナ実行環境で、ホスト EC2 のプロビジョニングやパッチ適用が不要です。タスク単位でリソースを指定するだけで動くため運用オーバーヘッドが最小になります。EC2 起動タイプやセルフマネージドノードはホスト管理が必要です。

他の選択肢が誤りである理由

  • EC2 起動タイプ(自己管理のコンテナインスタンス)ホスト EC2 のプロビジョニング・パッチ・スケーリングをユーザー自身が管理しなければならず、運用負荷が残ります。
  • EC2 スポットフリート上の ECSコスト削減にはなりますが、スポット中断時の処理や EC2 のライフサイクル管理はユーザー責任で、Fargate より運用負荷が高くなります。
  • EKS のセルフマネージドノードグループECS ではなく Kubernetes 基盤であり、ノード管理をユーザーが行う必要があるため運用負荷はさらに大きくなります。

設問3

Auto Scaling グループ配下の Web 層で、毎日決まって18時から19時にアクセスが急増する。負荷の立ち上がりが速く、メトリクス検知後のスケールアウトでは増設が間に合わない。最も適した対策はどれか。

  • ターゲット追跡スケーリングのみを設定し、評価間隔を最短にして急いで対応する
  • スケジュールされたスケーリングで、急増前にあらかじめ容量を増やしておく(正解)
  • インスタンスタイプをより大きなものに変更し、1台あたりの処理能力を高めておく
  • ヘルスチェックの間隔とタイムアウトを最短値に設定し、異常と判定されたインスタンスをより早く入れ替えて応答不能な台数を減らす

解説

発生時刻が予測できる定期的な急増には、スケジュールされたスケーリング(Scheduled Scaling)で事前に台数を増やしておくのが最適です。メトリクス検知に依存する動的スケーリングだけでは立ち上がりに間に合いません。

他の選択肢が誤りである理由

  • ターゲット追跡スケーリングのみを設定し、評価間隔を最短にして急いで対応する評価間隔をどれだけ短くしても、ターゲット追跡スケーリングはメトリクスの実測値が閾値を超えたことを検知してから反応する仕組みであるため、負荷が発生する前に先回りして容量を増やす仕組みそのものは持たず、立ち上がりの速いスパイクには間に合いません。
  • インスタンスタイプをより大きなものに変更し、1台あたりの処理能力を高めておくインスタンスサイズを大きくしても処理能力の上限が固定的に引き上げられるだけであり、18時台の急増がその上限をさらに超える規模であれば結局対応しきれず、また平常時は常に過剰なスペックを抱えることになりコスト効率も悪化します。
  • ヘルスチェックの間隔とタイムアウトを最短値に設定し、異常と判定されたインスタンスをより早く入れ替えて応答不能な台数を減らすヘルスチェックはインスタンスが正常に稼働しているかを確認する仕組みであり、間隔やタイムアウトを詰めても検知できるのは既存インスタンスの健全性の変化だけで、負荷が立ち上がる前に台数を増やす動きにはつながりません。

設問4

ALB と Auto Scaling を2つのアベイラビリティゾーンに配置した Web アプリで、「1つのAZが完全に停止し、かつ残りのAZで新規インスタンスがまだ起動できていない瞬間でも、ピーク負荷の100%を処理し続ける」ことが要件である。各AZの最小構成として正しいのはどれか。

  • 各AZにピーク負荷の100%分のインスタンスを配置する(正解)
  • 各AZにピーク負荷の50%分のインスタンスを配置する
  • 各AZにピーク負荷の70%分のインスタンスを配置する
  • 1つのAZに100%、もう1つは空にしておく

解説

片方のAZが落ち、残りAZで増設が間に合わない瞬間でも100%を捌くには、残る1つのAZ単独でピークを処理できる必要があります。したがって各AZに100%分を持たせる構成(合計200%、N+1相当)が要件を満たします。各50%では片系喪失時に50%しか残りません。

他の選択肢が誤りである理由

  • 各AZにピーク負荷の50%分のインスタンスを配置する1つのAZが停止すると残り50%の処理能力しかなく、ピーク100%の要件を満たせません。
  • 各AZにピーク負荷の70%分のインスタンスを配置する片系喪失時に70%の処理能力しか残らず、100%のピーク要件を満たせません。
  • 1つのAZに100%、もう1つは空にしておく100%を持つAZが障害になった瞬間に残りのAZの容量がゼロになり、可用性が全く担保されません。

設問5

画像ファイルが S3 にアップロードされるたびに、サムネイルを自動生成する処理を実装したい。処理は短時間で完了し、リクエスト数は不定期に変動する。運用負荷とコストを最小化する構成はどれか。

  • 常時起動の EC2 インスタンスが S3 をポーリングして処理する
  • Auto Scaling グループの EC2 が定期的にバケットを走査する
  • AWS Batch のジョブを1分ごとに起動する
  • S3 のイベント通知で AWS Lambda 関数をトリガーして処理する(正解)

解説

イベント駆動かつ短時間・不定期な処理は、S3 イベント通知で Lambda を起動するサーバーレス構成が最適です。実行時のみ課金され、サーバー管理も不要です。常時起動 EC2 やポーリングはコストと運用負荷が無駄に高くなります。

他の選択肢が誤りである理由

  • 常時起動の EC2 インスタンスが S3 をポーリングして処理する常時起動のため処理がなくても費用が発生し、イベント駆動の Lambda に比べてコストと運用負荷が無駄に高くなります。
  • Auto Scaling グループの EC2 が定期的にバケットを走査する定期走査ではアップロードのたびにリアルタイムで反応できず、処理まで最大でポーリング間隔分の遅延が生じます。
  • AWS Batch のジョブを1分ごとに起動するBatch はコンテナジョブの立ち上がりに時間がかかり、不定期なイベントへのリアルタイム応答には適しません。

続きは、会員登録なしでそのまま50問解けます。採点と解説つきで、上と同じ本物の問題です。

登録なしで50問解く