トラブルシューティング
適合パックを使用する際に発生しうる問題をトラブルシューティングするには、次の問題を確認してください。
適合パックの失敗ステータス
コンフォーマンスパックの作成、更新、削除中にコンフォーマンスパックが失敗したというエラーが発生した場合は、コンフォーマンスパックのステータスを確認できます。
aws configservice describe-conformance-pack-status --conformance-pack-name MyConformancePack1
次のような出力が表示されます。
"ConformancePackStatusDetails": [ { "ConformancePackName": "
ConformancePackName
", "ConformancePackId": "ConformancePackId
", "ConformancePackArn": "ConformancePackArn
", "ConformancePackState": "CREATE_FAILED", "StackArn": "CloudFormation stackArn
", "ConformancePackStatusReason": "Failure Reason
", "LastUpdateRequestedTime": 1573865201.619, "LastUpdateCompletedTime": 1573864244.653 } ]
ConformancePackStatusReason で失敗に関する情報を確認します。
レスポンスに stackArn が存在する場合
エラーメッセージが明確でない場合、または内部エラーが原因である場合は、AWS CloudFormation コンソールに移動して次の作業を行います。
-
出力から stackArn を検索します。
-
CloudFormation スタックの [イベント]タブを選択し、失敗したイベントをチェックします。
ステータスの理由は、今フォーマンスパックが失敗した理由を示しています。
レスポンスに stackArn が存在しない場合
適合パックの作成中に障害が発生しても、stackArn がステータスレスポンスに存在しない場合、考えられる原因は、スタックの作成に失敗し、CloudFormation がロールバックされ、スタックが削除されていることです。CloudFormation コンソールに移動し、[削除済み] 状態のスタックを検索します。失敗したスタックが見つかる可能性があります。CloudFormation スタックには、適合パック名が含まれます。失敗したスタックが見つかった場合は、CloudFormation スタックの [イベント] タブを選択し、失敗したイベントをチェックします。
これらのどのステップでもうまくいかず、失敗理由が内部サービスエラーである場合は、もう一度オペレーションを試みるか、AWS Supportセンター
適合パック内のダングリングルール
適合パックをデプロイするには、適合パックテンプレートにルールをデプロイするための基盤となる AWS CloudFormation スタックをバックグラウンドで作成する必要があります。これらのルールはサービスにリンクされたルールであり、適合パックの外部で更新または削除することはできません。
基盤となる CloudFormation スタックを変更すると、適合パックとそのルールが管理不能になる状況が発生します。これらの管理不可能なルールはダングリングルールです。
CloudFormation スタックと適合パック間のドリフト
CloudFormation コンソールから直接、適合パックテンプレートのルール名を更新できます。CloudFormation コンソールから直接テンプレートを更新しても、デプロイされた適合パックは更新されません。
このドリフトにより、ダングリングルールが作成されます。適合パックからルールを削除しようとすると、次のようなエラーが発生します。
"An AWS service owns ServiceLinkedConfigRule. You do not have permissions to take action on this rule. (Service: AmazonConfig; Status Code: 400; Error Code: AccessDeniedException; Request ID:
my-request-ID
; Proxy: null)".
適合パックを削除しようとすると、ダングリングルールを削除できず、次のようなエラーが表示されます。
"User: arn:aws:sts::
111122223333
:assumed-role/AWSServiceRoleForConfigConforms/AwsConfigConformsWorkflow is not authorized to perform: config:DeleteConfigRule on resource:my-dangling-rule
この問題を解決するには、以下の手順を実行します。
スタックを削除します。詳細については、「CloudFormation ユーザーガイド」の「AWS CloudFormation コンソールからスタックを削除する」を参照してください。
AWS Config コンソールまたは DeleteConformancePack API を使用して適合パックを削除します。組織適合パックで、管理アカウントまたは委任管理者アカウントを使用している場合は、DeleteOrganizationConformancePack API を使用します。
適合パックのダングリングルールの Amazon リソースネーム (ARN) を使用してAWS Supportセンター
に連絡し、アカウントのクリーンアップに役立ててください。
この問題を回避するには、次のベストプラクティスを覚えておいてください。
適合パックの CloudFormation スタックを直接更新しないでください。
適合パックとその基盤となる CloudFormation スタックの間にドリフトが生じる変更は絶対に行わないでください。
適合パックのサービスリンクロール (SLR) は変更できません。更新するリソースが SLR のアクセス許可ポリシーの一部であることを確認します。
適合パックの削除済み CloudFormation スタック
CloudFormation スタックと適合パックの間にドリフトがない限り、適合パックまたはその CloudFormation スタックのルールを CloudFormation コンソールから直接削除することは推奨されません。
この問題を修正するには、適合パックのダングリングルールの Amazon リソースネーム (ARN) を使用して AWS Supportセンター
この問題を回避するには、次のベストプラクティスを覚えておいてください。
適合パックの基盤となる CloudFormation スタックは絶対に削除しないでください。
DeleteConformancePack API を使用して適合パックを削除します。組織適合パックで、管理アカウントまたは委任管理者アカウントを使用している場合は、DeleteOrganizationConformancePack API を使用します。