如何解决在尝试删除 AWS Config 中的修正操作时出现的错误“NoSuchRemediationConfigurationException”或“unexpected internal error”?

2 分钟阅读
0

当我删除与 AWS config 关联的修复操作时,收到类似以下内容之一的错误: 使用 AWS 命令行界面 (AWS CLI) 命令 delete-remediation-configuration:

"An error occurred (NoSuchRemediationConfigurationException) when calling the DeleteRemediationConfiguration operation: No RemediationConfiguration for rule exists."

-或者-

使用 AWS 管理控制台:

"An unexpected internal error occurred with AWS Config.Try again or contact AWS Support if the error persists."

如何解决此错误?

简短描述

之所以出现此错误消息,是因为您在创建时指定了 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-typeexample-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 规则。


相关信息

如何对 AWS Config 中失败的修复执行进行故障排除?

delete-config-rule

删除修复操作(控制台)

AWS 官方
AWS 官方已更新 3 年前