AWS Config で修復アクションを削除しようとしたときに発生する「NoSuchRemediationConfigurationException」または「予期しない内部エラー」のエラーを解決する方法を教えてください。

最終更新日: 2020 年 1 月 14 日

AWS コマンドラインインターフェイス (AWS CLI) コマンド delete-remediation-configuration を使用して、AWS Config ルールに関連付けられた修復アクションを削除する手順に従いました。以下のようなエラーが表示されます。

「DeleteRemediationConfiguration オペレーションを呼び出すときにエラーが発生しました (NoSuchRemediationConfigurationException): ルールの RemediationConfiguration がありません。」

-または-

AWS マネジメントコンソールを使用する:

「AWS Config で予期しない内部エラーが発生しました。やり直してもエラーが続く場合は、AWS サポートにご連絡ください。」  

簡単な説明

このエラーメッセージは、 PutRemediationConfiguration API 呼び出し ResourceType パラメータが作成時に指定されたが、削除中ではないために発生します。PutRemediationConfiguration API で ResourceType パラメータを使用する場合は、DeleteRemediationConfiguration API で ResourceType パラメータも使用する必要があります。

注: PutRemediationConfiguration にリソースタイプが提供されていない場合、デフォルトは ResourceType=* です。

解決方法

AWS Config ルールに関連付けられたリソースタイプを削除するには、以下の手順に従います。

重要: 開始する前に、最新バージョンの AWS CLI がインストールされ、設定されていることを確認してください。

1.    AWS CLI コマンド describe-remediation-configurations を実行して、次のようなPutRemediationConfiguration で使用されるリソースタイプを検証します。

注: example-config-rule-name を AWS Config ルール名に置き換えます。

aws configservice describe-remediation-configurations --config-rule-names example-config-rule-name

2.    次のような出力が表示されます。  

{
    "RemediationConfigurations": [
        {
            "TargetType": "SSM_DOCUMENT", 
            "MaximumAutomaticAttempts": 5, 
            "Parameters": {
                "AutomationAssumeRole": {
                    "StaticValue": {
                        "Values": [
                            "arn:aws:iam::example-accoun-Id:role/example-IAM-role"
                        ]
                    }
                }, 
                "BucketName": {
                    "ResourceValue": {
                        "Value": "RESOURCE_ID"
                    }
                }, 
                "SSEAlgorithm": {
                    "StaticValue": {
                        "Values": [
                            "AES256"
                        ]
                    }
                }
            }, 
            "Config-rule-name": "example-Config-rule-name", 
            "ResourceType": "AWS::S3::Bucket",                             
            "TargetId": "AWS-EnableS3BucketEncryption", 
            "RetryAttemptSeconds": 60, 
            "Automatic": true, 
            "Arn": "arn:aws:config:example-region:example-account-ID:remediation-configuration/example-config-rule-name/7467e289-f789-4b99-a848-deeeb3e90a0e"
        }
    ]
}

注: この例では、リソースタイプは AWS::S3::Bucket です。

3.    次のような AWS CLI コマンド delete-remediation-configuration を実行します。

注: example-config-rule-nameexample-resource-type、および example-region を AWS Config ルール名、リソースタイプ、および AWS リージョンに置き換えます。

aws configservice delete-remediation-configuration --config-rule-name example-config-rule-name --resource-type example-resource-type --region example-region 

AWS Config ルールに関連付けられた修復アクションが正常に削除されます。これで、AWS Config ルールを削除できます。