Q66 — AWS DOP-C02 第3章
第 66/100 問 | ← 第3章
DevOpsエンジニアがコンテナベースのアーキテクチャを構築しています。エンジニアは、Amazon ECSクラスターおよびEC2コンテナインスタンスを起動するためのAmazon EC2 Auto Scalingグループを自動的にプロビジョニングするためにAWS CloudFormationテンプレートを使用することを決定しました。CloudFormationスタックの作成が成功した後、エンジニアはECSクラスターとEC2インスタンスが正常に作成され、スタックの作成が完了したにもかかわらず、EC2インスタンスが異なるECSクラスターに関連付けられていることに気づきました。 DevOpsエンジニアは、この問題を解決するためにCloudFormationテンプレートをどのように更新すべきですか?
- A. AWS::ECS::Clusterリソース内でEC2インスタンスを参照し、AWS::ECS::Serviceリソース内でECSクラスターを参照します。
- B. AWS::AutoScaling::LaunchConfigurationリソースのUserData属性内でECSクラスターを参照します。 ✓
- C. AWS::EC2::InstanceリソースのUserData属性内でECSクラスターを参照します。
- D. AWS::CloudFormation::CustomResourceリソース内でECSクラスターを参照し、適切なECSクラスターにEC2インスタンスを登録するAWS Lambda関数をトリガーします。
正解: B. AWS::AutoScaling::LaunchConfigurationリソースのUserData属性内でECSクラスターを参照します。
解説
AWS CloudFormationでECSクラスターをデプロイする際、EC2インスタンス上のECSエージェントはUserDataスクリプトを通じて明示的にターゲットクラスターを指定する必要があります。AWS::AutoScaling::LaunchConfigurationのUserData属性でECS_CLUSTER環境変数を設定することが鍵となる手順であり、AWS公式ドキュメントではECSコンテナインスタンスがこのパラメータに依存して指定されたクラスターに参加することを明記しています。選択肢Bはこの構成方法を正しく反映しており、他の選択肢はECSクラスター名をインスタンス起動時に動的に注入しない、または非標準的なメカニズムを採用しています。