Q56 — AWS DOP-C02 第2章

第 56/100 問 | ← 第2章

マルチレイヤーアプリケーションでは、毎回デプロイ時にAmazon RDS MySQLデータベースインスタンス内のテーブルを削除・再作成する必要があります。このプロセスには数分かかる場合があり、完了するまでWebレイヤーは接続できません。現在、WebレイヤーはAmazon EC2 Auto Scalingグループで構成されており、デプロイ時にインスタンスが終了・置換されます。AWS CodeBuildジョブがSQLクエリを実行してMySQLテーブルを初期化しています。

正解: D. EC2 Auto Scalingライフサイクルフックを使用してWebレイヤーの構成を一時停止し、テーブルが初期化されるまで待機します。

解説

Webレイヤーがデータベースが完全に構成される前に起動しないようにするには、Webレイヤーの起動とデータベーステーブルの初期化ステータスを同期させる仕組みが必要です。問題文の環境を考慮すると、各選択肢を検討します:A. RDS MySQLをAuroraに置き換えることは、問題解決の直接的な方法ではなく、スナップショットの使用はWebレイヤー起動との同期を保証しません。B. Auto Scalingグループの起動設定を変更してユーザーデータ実行を一時停止しても、データベーステーブルの初期化ステータスとは直接関連せず、所要時間が正確でない可能性があります。C. AWS Step Functionsはステータス監視と管理が可能ですが、問題文には複雑なフロー制御の必要性は記載されておらず、実装が過剰になります。D. EC2 Auto Scalingライフサイクルフックは、Webレイヤーインスタンスの起動前にカスタムアクション(例:テーブル初期化完了の待機)を実行できるため、Webレイヤーがデータベース構成完了前に起動することを確実に防止できます。これは直接的かつ効果的な方法です。したがって、正解はDです。