模擬問題集DOP-C02練習問題 6

DOP-C02 練習問題 6

AWS DevOps Engineer – Professional・インシデントおよびイベントへの対応・無料公開(全 200 問中 15 問を無料公開中)

問題
あるDevOpsエンジニアが、複数のAmazon EC2インスタンスを含むネストされたスタック(nested stack)を追加するために、AWS CloudFormationスタックを更新しています。DevOpsエンジニアが更新されたスタックをデプロイしようとすると、ネストされたスタックのデプロイが失敗します。 DevOpsエンジニアが失敗の原因を特定するには、何をすべきですか?

選択肢と解説

  • 1
    失敗したスタックに対してCloudFormationの「detect root cause(根本原因の検出)」機能を使用して失敗を分析し、失敗の最も可能性の高い原因となるイベントを返す。
  • ルートスタックを ParentId プロパティに指定して、失敗したスタックをクエリする。返されたすべてのスタックの StackStatusReason プロパティを調べて、ネストされたスタックのデプロイが失敗した理由を特定する。
  • 3
    アプリケーションが実行されているAWSアカウントでAWS Systems Managerを有効にする。AWS Systems Manager Automationの AWS-SupportTroubleshootCFNCustomResource ランブックを使用して、ネストされたスタックのデプロイが失敗した理由を特定する。
  • 4
    CloudFormationテンプレートを設定してログをAmazon CloudWatchに発行する。CloudWatchコンソールで失敗したスタックのCloudFormationログを表示して、ネストされたスタックのデプロイが失敗した理由を特定する。

解説

【正解】B

【0からの解説】
ネストされたスタックは、親(ルート)スタックの中から子スタックを呼び出す入れ子構造です。子スタックが失敗すると親スタックも失敗しますが、本当の失敗理由(どのリソースで何が起きたか)は子スタック側のイベントに記録されています。

失敗原因を特定する正攻法は、CloudFormationのスタックイベントを調べることです。具体的には DescribeStacksListStacks でスタックを照会し、ネストされたスタックを ParentId(親スタックのID)で絞り込み、各スタックの StackStatusReason(ステータス理由)を確認します。StackStatusReason には「このリソースがこういう理由で失敗した」という具体的なメッセージが入るため、ここからEC2作成失敗などの根本原因に辿り着けます。これがBであり、CloudFormationが標準で提供する正規の調査手段です。

【誤りの選択肢】
A:「detect root cause」という名称のCloudFormation機能は存在しない(ドリフト検出 detect drift とは別物)。実在しない機能を指しており誤り。
C:AWS-SupportTroubleshootCFNCustomResource は“カスタムリソース”のトラブルシュート用ランブックであり、EC2インスタンスを含む通常リソースのネストスタック失敗の調査には対象が合わない。
D:CloudFormation自体はスタックの詳細ログをCloudWatchへ自動発行する仕組みを標準では持たない(個々のリソースのログはあっても、スタックの失敗理由はスタックイベントに出る)。設定も曖昧で正攻法ではない。
B:ParentId で子スタックを特定し StackStatusReason を確認するのが、ネストスタック失敗原因を特定する標準手順。

【参考】
Working with nested stacks
DescribeStacks - AWS CloudFormation API
Troubleshooting CloudFormation
← 練習問題 5練習問題 7
DOP-C02 の模擬問題集は全 200

本番形式の練習テスト 4 回を、試験モード/演習モードで受験できます。 全問に解説付き、ドメイン別の弱点分析にも対応。模試プラン(月額 ¥980)からご利用いただけます。

DOP-C02 の模試を受ける料金プランを見る

DOP-C02 の無料公開問題

問題 1問題 2問題 3問題 4問題 5問題 6問題 7問題 8問題 9問題 10問題 11問題 12問題 13問題 14問題 15