Q67 — AWS SOA-C02 第1章
第 67/100 問 | ← 第1章
ある会社は、AWS CloudFormationテンプレートを使用してAmazon EC2インスタンスとAmazon RDS DBインスタンスをプロビジョニングしています。SysOps管理者は、このテンプレートを更新して、DBインスタンスがEC2インスタンスの起動より先に作成されるようにする必要があります。 この要件を満たすために、SysOps管理者は何を行うべきですか?
- A. テンプレートにWaitConditionを追加します。EC2インスタンスのユーザーデータスクリプトを更新して、EC2インスタンスの起動後にシグナルを送信するようにします。
- B. EC2インスタンスリソースにDependsOn属性を追加し、RDSリソースの論理名を指定します。 ✓
- C. テンプレート内のリソースの順序を変更して、RDSリソースをEC2インスタンスリソースより前に記述します。
- D. 複数のテンプレートを作成します。AWS CloudFormation StackSetsを使用して、1つのスタックの完了を待ってから2番目のスタックを作成します。
正解: B. EC2インスタンスリソースにDependsOn属性を追加し、RDSリソースの論理名を指定します。
解説
AWS CloudFormationは、リソース間の依存関係に基づいて作成順序を制御します。DependsOn属性は、リソースの作成順序を明示的に宣言するための機能であり、指定されたリソースが完了した後に現在のリソースが作成されることを保証します。AWS公式ドキュメントでは、DependsOn属性はデフォルトの依存関係ロジックを上書きし、リソース順序を直接指定するために使用すると説明されています。選択肢Bは、EC2インスタンスリソースにDependsOn属性を追加し、RDSリソースの論理名を指定することで、RDSインスタンスの優先作成を確実に実現します。選択肢AのWaitConditionは外部からのシグナルを待つシナリオ向けであり、リソース間の順序制御には不適切です。選択肢Cのテンプレート内でのリソース順序は、実際のデプロイ順序には影響しません。選択肢DのStackSetsは、不要な複雑性を導入します。