本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
故障排除
检查以下问题,以帮助解决您在使用一致性包时可能遇到的问题。
一致性包的失败状态
如果在创建、更新或删除一致性包时收到指示操作失败的错误,则可以检查一致性包的状态。
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 不存在时
如果您在创建一致性包时收到失败,但状态响应中不存在,则可能的原因是堆栈创建失败并回 CloudFormation 滚并删除了堆栈。 stackArn 前往 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
要修复此问题,请执行以下步骤:
删除 堆栈。有关更多信息,请参阅上的 “删除堆栈” AWS CloudFormationCloudFormation 用户指南中的控制台。
使用删除一致性包 AWS Config 控制台或使用 DeleteConformancePackAPI. 如果是组织合规包,并且您使用的是管理或委派管理员帐户,请使用。DeleteOrganizationConformancePackAPI
请联系 AWS Support 将一致性包中悬挂规则的 Amazon 资源名称 (ARN) 置于中心位置
,以帮助清理您的账户。
为避免出现此问题,请记住以下最佳实践:
切勿对一致性包 CloudFormation 堆栈进行任何直接更新。
切勿尝试进行在一致性包与其底层 CloudFormation 堆栈之间造成偏差的更改。
无法修改一致性包的服务相关角色 (SLR)。确保您要更新的资源是权限策略的一部分SLR。
已删除一致性包的 CloudFormation 堆栈
除非 CloudFormation 堆栈和一致性包之间存在偏差,否则不建议直接从控制台删除一致性包或其 CloudFormation 堆栈中的规则。 CloudFormation
要解决此问题,请联系 AWS Support 将一致性包中悬挂规则的 Amazon 资源名称 (ARN) 置于中心位置
为避免出现此问题,请记住以下最佳实践:
切勿删除一致性包的底层 CloudFormation 堆栈。
使用删除一致性包。DeleteConformancePackAPI如果是组织合规包,并且您使用的是管理或委派管理员帐户,请使用。DeleteOrganizationConformancePackAPI