当我尝试关闭组织中的 AWS 账户时,我收到 "ConstraintViolationException" 错误和关于我的账户配额的消息。
简短描述
AWS Organizations 限制您在任意 30 天滚动期间内可以关闭的账户数量。默认情况下,您在任意 30 天内可以关闭总成员账户的 20%,或 250 个账户。关闭账户的最低配额为 250 个账户,最高为 1,000 个账户。您无法增加此配额。例如,如果您的组织有 2,000 个成员账户,则您的配额为在任意 30 天内关闭 400 个账户。如果您的组织有 500 个成员账户,则您的配额为关闭 250 个账户。
如果您超过配额,则会收到以下错误:
"ConstraintViolationException - You have exceeded close account quota for the past 30 days."
配额的时间范围从首次关闭账户之日起算,而不是从日历月的月初开始。自首次关闭账户起 30 天后,您可以关闭更多账户。
解决方法
先决条件: 只有在开启所有功能后,您才能关闭 AWS Organizations 中的账户。
注意: 关闭账户操作与其他流程异步运行。即使账户关闭仍在进行中,您也可能会收到成功完成的消息。如果发生这种情况,请等待几分钟,让账户完全关闭,然后验证账户状态。
要检查账户关闭请求的状态,请使用 DescribeAccount API 或查看 AWS CloudTrail 日志。
使用 DescribeAccount API
运行以下 describe-account 命令来检索有关该账户的信息:
aws organizations describe-account --account-id AccountId
注意: 将 AccountId 替换为您在 CloseAccount 请求中发送的账户 ID。如果您在运行 AWS 命令行界面 (AWS CLI) 命令时收到错误,请参阅排查 AWS CLI 错误。此外,请确保您使用的是最新版本的 AWS CLI。
在输出中,检查 Status 元素。当账户关闭请求正在进行时,此状态为 PENDING_CLOSURE。请求完成后,状态更改为 SUSPENDED。
监控 CloudTrail 事件
查看 CloudTrail 日志中是否存在 CloseAccountResult 事件。CloudTrail 会在账户成功关闭后发布此事件。有关详细信息,请参阅 Logging API calls with AWS CloudTrail for AWS Organizations(使用 AWS CloudTrail 记录 AWS Organizations 的 API 调用)。
相关信息
Closing a member account in an organization with AWS Organizations(通过 AWS Organizations 关闭组织中的成员账户)