SAA-C03コストを最適化したアーキテクチャの設計MEDIUM単一選択

ある企業が、開発・テスト環境のワークロードを Auto Scaling グループ(ASG)配下の EC2 インスタンスで運用しており、これを月〜金の 9:00〜18:00(平日の営業時間のみ)だけ稼働させ、それ以外の時間は停止させてコストを削減したい。毎日同じスケジュールで起動・停止する必要があり、手動操作なしで自動化したい。最小限の設定で実現する最も適切な方法はどれか。

  1. A. Auto Scaling グループのスケジューリングアクションで、desired capacity を 0 にして停止・必要台数にして起動するスケジュールを設定する。
  2. B. ASG を使わずに起動した単体の EC2 インスタンスに対して、EventBridge スケジュールルールと Lambda を組み合わせ、StartInstances / StopInstances API を呼び出して起動・停止を自動化する。
  3. C. CloudWatch アラームで CPU 使用率が 0% の時間が 15 分続いたらインスタンスを停止する Lambda 関数をトリガーする。
  4. D. EC2 インスタンスを Spot インスタンスとして起動し、料金が安い時間帯に自動起動されるよう設定する。
解答と解説を見る

正解: A

本問のワークロードは Auto Scaling グループ配下にあるため、ASG のスケジューリングアクションを使うのが最もシンプルかつ適切である。スケジューリングアクションは特定の時刻(cron 式または日時指定)に desired capacity を変更でき、平日 9:00 に必要台数へ、18:00 に 0 へ設定するだけで起動・停止の自動化が完結する。選択肢BのEventBridge + Lambda で StartInstances / StopInstances を呼ぶ方式は、ASG 配下ではない単体の EC2 を制御する場合の手法であり、ASG 配下のインスタンスを直接停止すると ASG がヘルスチェックで補充して再起動してしまうため、本問の構成には適さない。選択肢DのSpot インスタンスはコスト削減手段ではあるが、スケジュールに沿った確実な起動・停止を保証するものではない。選択肢AのCPU 0% での停止は、メンテナンス中などに意図せず停止してしまうリスクがあり、スケジュールベースの制御より予測可能性で劣る。

▸ この試験を本気で演習する(全150問・無料)