使用Terraform在AWS组织中创建新账户时terraform plan提示无变更如何解决
首先明确:手动创建的AWS组织不会影响Terraform创建成员账户的操作,你可以按照以下步骤排查问题:
验证执行身份的账户归属与权限
必须使用AWS组织的管理账户(即创建该组织的根账户)下的IAM身份执行操作,普通成员账户无组织资源管理权限。你可以在当前执行环境运行aws organizations list-accounts命令,确认能否正常返回组织内所有账户列表,若调用报错则说明身份不符合要求。检查邮箱参数合法性
AWS要求每个账户对应唯一注册邮箱,如果你填写的email参数已经注册过AWS账户,或是已经加入当前AWS组织,Terraform会检测到已有匹配资源,返回无变更提示。请更换未注册过AWS的全新邮箱重试。检查Terraform配置与状态
- 确认
aws_organizations_account资源未配置count = 0、for_each = []这类会跳过资源创建的参数 - 运行
terraform state list命令,检查状态文件中是否已存在aws_organizations_account.new_aws_member_account记录。如果存在,说明状态中已记录该资源,可运行terraform state rm aws_organizations_account.new_aws_member_account移除旧状态记录后重新执行plan。
- 确认
补充可选配置(非必须)
若你的组织有强制要求新账户加入指定OU的管控策略,可补充parent_id参数指定目标组织单元ID,参考配置如下:resource "aws_organizations_account" "new_aws_member_account" { name = "XXX" email = "XXX@XXX" iam_user_access_to_billing = "ALLOW" parent_id = "ou-xxxx-xxxxxxxx" # 替换为你的目标OU ID }
内容的提问来源于stack exchange,提问作者Thanos
相关产品推荐
相关产品推荐

