Q65 — AWS DOP-C02 第1章
第 65/100 問 | ← 第1章
DevOpsエンジニアがAmazon ECSサービス向けにCI/CDパイプラインを作成しています。ECSコンテナはApplication Load Balancerの後ろで実行され、3層アプリケーションのWeb層として機能します。成功したデプロイの基準は、Web層がデプロイ後にアプリケーションのデータベースおよびミドルウェア層と通信できることを保証することです。 これを自動化するにはどうすればよいですか?
- A. Webアプリケーション内に、データベースおよびミドルウェア層への接続をテストするヘルスチェックエンドポイントを作成します。このエンドポイントをロードバランサのヘルスチェックURLとして使用します。 ✓
- B. 品質保証チーム向けに承認ステップを作成し、依存レイヤーへの接続性を検証します。依存レイヤーへの接続に問題がある場合、パイプライン内の変更を拒否します。
- C. Amazon RDSのアクティブ接続数およびAmazon CloudWatch ELBメトリクスを使用して、オープン接続数に大きな変化が生じた際にアラートを発行します。
- D. Amazon Route 53ヘルスチェックを使用してWebサービスの問題を検出し、エラーが発生した場合にCI/CDパイプラインをロールバックします。
正解: A. Webアプリケーション内に、データベースおよびミドルウェア層への接続をテストするヘルスチェックエンドポイントを作成します。このエンドポイントをロードバランサのヘルスチェックURLとして使用します。
解説
DevOpsの実践において、アプリケーションの異なるレイヤー間で正しく通信できるように保証することは極めて重要です。本問では、デプロイ時にWeb層がアプリケーションのデータベースおよびミドルウェア層と通信できることを自動的に検証する方法を求めています。選択肢Aは、Webアプリケーション内に依存レイヤーへの接続をテストするヘルスチェックエンドポイントを作成し、それをロードバランサのヘルスチェックURLとして使用するという解決策を提示しています。これは、ロードバランサが定期的にWeb層が依存レイヤーに正常に接続できるかを確認できるため、一般的かつ効果的な自動化手法です。選択肢Bは手動プロセスを含むため、自動化要件を満たしません。選択肢CはAmazon RDSおよびCloudWatchによるモニタリングを提案していますが、これはWeb層と依存レイヤー間の通信検証を直接解決しません。選択肢DはRoute 53ヘルスチェックについて述べていますが、これはDNSレベルのヘルスチェックであり、アプリケーションレイヤー間の通信を直接対象としていません。したがって、選択肢Aが最も適切な解答です。