AWS マネージドルール「cloudformation-stack-drift-detection-check」を使用して、AWS Config についての CloudFormation のドリフト検出エラーを解決するにはどうすればよいですか?

所要時間1分
0

AWS マネージドルールの cloudformation-stack-drift-detection-check を使用して、AWS Config についての AWS CloudFormation のドリフト検出エラーを解決したいと考えています。

簡単な説明

CloudFormation コンソールでスタックのドリフトステータスが IN_SYNC と表示されている場合でも、次のエラーが表示される場合があります。

  • 「AWS CloudFormation はドリフトを検出できませんでした。NON_COMPLIANT に設定されます。ルールを再評価し、もう一度お試しください。問題が解決しない場合は、AWS CloudFormation サポートにお問い合わせください」
  • 「特定のスタックのスタックドリフト検出オペレーションが失敗しました。既存の AWS CloudFormation ロールのアクセス権限を確認し、不足しているアクセス権限を追加してください」

表示されるエラーに応じて、次のオプションのいずれかを選択します。

  • NON-COMPLIANT エラーが表示された場合は、AWS Config ルールを更新するのセクションの手順に従います。
  • アクセス権限エラーが表示された場合は、正しいアクセス権限を設定するのセクションの手順に従います。

注: AWS マネージドルールの cloudformation-stack-drift-detection-check チェックは、DetectStackDrift API を使用して CloudFormation スタックのドリフト検出をチェックします。このルールには、定期的および設定変更の両方のトリガータイプがあります。ドリフト検出が失敗すると、エラーメッセージが表示されます。

解決方法

AWS Config ルールを更新する

AWS Config コンソールで NON_COMPLIANT のエラーメッセージが表示されるのは、次の理由によります。

  • CloudFormation スタックのリソースは、ドリフト検出をサポートしていません。AWS Config ルールの NON_COMPLIANT リソースに対する注釈としてエラーが表示されます。例えば、AWS CloudTrail ログに「ResourceType については、ドリフト検出はサポートされていません」というエラーが表示されます。
  • AWS Config ルールは、DetectStackDrift の可用性によって異なります。スロットリングが発生すると、AWS Config がルールを NON_COMPLIANT に設定するため、スロットリングまたは「レートを超えました」というエラーが表示されます。

ドリフト検出サポートがないことに起因するエラーを解決するには、次の手順に従います。

NON_COMPLIANT ステータスの CloudFormation スタックを無視します。このシナリオでは、エラーは誤検出です。詳細については、リソースを評価するをご参照ください。

  • または -

スタックを評価から除外するプロビジョニングを含むカスタム AWS Config ルールを作成します。AWS Config ルールの例については、AWS Config ルールリポジトリおよび RDKlib をご参照ください。

DetectStackDrift の可用性に起因するエラーを解決するには、次の手順に従います。

1.    AWS Config ルールをもう一度評価します。

注: 例えば、ロールの Amazon リソースネーム (ARN) 用に、config.amazonaws.com という信頼できるアクセス権限と ReadOnlyAccess(AWS Managed) というポリシーアクセス権限をアタッチできます。これは、ルール必須パラメータの cloudformationRoleArn で指定されます。詳細については、ドリフトを検出する際の考慮事項をご参照ください。

2.    CloudFormation スタックでドリフト検出を実行します。

3.    AWS Config ルールを使用して評価を実行します。

正しいアクセス権限を設定する

必要な cloudformationRoleArn パラメータの AWS Identity and Access Management (IAM) ロールに DetectStackDrift API、DetectStackResourceDrift API、またはその他の必須のサービスのアクセス権限がない場合、アクセス権限エラーが表示されます。

このエラーを解決するには、IAM ロールの信頼ポリシーを編集します。cloudformationRoleArnconfig.amazonaws.com および ReadOnlyAccess(AWS Managed) アクセス権限をアタッチする必要があります。

関連情報

CloudFormation ワークショップ: ドリフト検出ラボ


AWS公式
AWS公式更新しました 3年前
コメントはありません

関連するコンテンツ