本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
状态文件丢失后,安全地清 AWS 理 Terraform (AFT) 资源的 Account Factory
Gokendra Malviya,Amazon Web Services
摘要
当你使用 Acco AWS unt Factory for Terraform (AFT) 管理 AWS Control Tower 环境时,AFT 会生成一个 Terraform 状态文件来跟踪 Terraform 创建的资源的状态和配置。丢失 Terraform 状态文件可能会给资源管理和清理带来重大挑战。这种模式提供了一种系统的方法,可以安全地识别和移除 AFT 相关资源,同时保持环境的完整性。 AWS Control Tower
该过程旨在确保正确移除所有 AFT 组件,即使没有原始状态文件参考也是如此。此过程为在您的环境中成功重新建立和重新配置 AFT 提供了明确的途径,有助于确保最大限度地减少对运营的干扰。 AWS Control Tower
有关 AFT 的更多信息,请参阅AWS Control Tower 文档。
先决条件和限制
先决条件
对 A FT 架构有透彻的了解。
对以下账户的管理员访问权限:
AFT 管理账户
AWS Control Tower 管理账户
日志存档账户
审计账户
验证没有任何服务控制策略 (SCPs) 包含会阻止删除 AFT 相关资源的限制或限制。
限制
此过程可以有效地清理资源,但无法恢复丢失的状态文件,并且某些资源可能需要手动识别。
清理过程的持续时间取决于环境的复杂性,可能需要几个小时。
此模式已在 AFT 版本 1.12.2 中进行了测试,并删除了以下资源。如果您使用的是其他版本的 AFT,则可能需要删除其他资源。
服务名称
资源数量
AWS CodeBuild
6
AWS CodeCommit
4
AWS CodePipeline
4
Amazon DynamoDB
5
亚马逊弹性计算云(亚马逊 EC2)
16
Amazon EventBridge
4
AWS Identity and Access Management (IAM) 角色
40
AWS Key Management Service (AWS KMS)
2
AWS Lambda
17
Amazon Simple Storage Service(Amazon S3)
2
Amazon Simple Notification Service (Amazon SNS)
2
Amazon Simple Queue Service(Amazon SQS)
2
AWS Systems Manager
62
AWS Step Functions
4
重要
通过此模式中的步骤删除的资源无法恢复。在执行这些步骤之前,请仔细验证资源名称并确保它们是由 AFT 创建的。
架构
下图显示了 AFT 组件和高级工作流程。AFT 建立了一个 Terraform 管道,可以帮助你在中配置和自定义账户。 AWS Control Tower AFT 遵循一种 GitOps 模型来实现账户配置过程的自动化 AWS Control Tower。您可以为账户请求创建 Terraform 文件并将其提交到存储库,存储库提供的输入触发 AFT 帐户配置工作流程。账户配置完成后,AFT 可以自动运行其他自定义步骤。

在此架构中:
AWS Control Tower 管理账户是专用于 AWS 账户 该 AWS Control Tower 服务的账户。这通常也称为AWS 付款人账户或AWS Organizations 管理账户。
AFT 管理账户是专门用 AWS 账户 于 AFT 管理操作的账户。这与贵组织的管理账户不同。
Vended 账户 AWS 账户 包含您选择的所有基准组件和控件。AFT AWS Control Tower 用来出售一个新账户。
有关此架构的更多信息,请参阅 AWS Control Tower 研讨会中的 AFT 简介
工具
AWS 服务
AWS Control Tower按照规范性最佳实践,帮助您设置和管理 AWS 多账户环境。
AWS A@@ ccount Factory for Terraform (AFT) 设置了 Terraform 管道,以帮助你在中配置和自定义账户和资源。 AWS Control Tower
AWS Organizations随着 AWS 资源的增长和扩展,可以帮助你集中管理和治理环境。使用 Organizations,您可以创建账户和分配资源,对账户进行分组以组织工作流程,应用监管政策,并通过对所有账户使用单一付款方式来简化计费。
AWS Identity and Access Management (IAM) 通过控制谁经过身份验证并有权使用 AWS 资源,从而帮助您安全地管理对资源的访问权限。此模式需要 IAM 角色和权限。
其他工具
Terraform
是一款基础设施即代码 (IaC) 工具 HashiCorp ,可帮助您创建和管理云和本地资源。
最佳实践
有关 AWS Control Tower信息,请参阅 AWS Control Tower 文档中的AWS Control Tower 管理员最佳实践。
对于 IAM,请参阅 IAM 文档中的安全最佳实践。
操作说明
Task | 描述 | 所需技能 |
---|---|---|
删除由 AFT 标签标识的资源。 |
| AWS 管理员、AWS DevOps、 DevOps 工程师 |
删除 IAM 角色。 |
| AWS 管理员、AWS DevOps、 DevOps 工程师 |
删除 AWS Backup 备份保管库。 |
| AWS 管理员、AWS DevOps、 DevOps 工程师 |
删除 Amazon CloudWatch 资源。 |
| AWS 管理员、AWS DevOps、 DevOps 工程师 |
删除 AWS KMS 资源。 |
| AWS 管理员、AWS DevOps、 DevOps 工程师 |
Task | 描述 | 所需技能 |
---|---|---|
删除 S3 存储桶。 |
| AWS 管理员、AWS DevOps、 DevOps 工程师 |
删除 IAM 角色。 |
| AWS 管理员、AWS DevOps、 DevOps 工程师 |
Task | 描述 | 所需技能 |
---|---|---|
删除 IAM 角色。 |
| AWS 管理员、AWS DevOps、 DevOps 工程师 |
Task | 描述 | 所需技能 |
---|---|---|
删除 IAM 角色。 |
| AWS 管理员、AWS DevOps、 DevOps 工程师 |
删除 EventBridge 规则。 |
| AWS 管理员、AWS DevOps、 DevOps 工程师 |
故障排除
事务 | 解决方案 |
---|---|
断开互联网网关失败。 | 在删除由 AFT 标签标识的资源时,如果在断开或删除 Internet 网关时遇到此问题,则必须先删除 VPC 终端节点:
|
您找不到指定的 CloudWatch 查询。 | 如果您找不到 AFT 创建的 CloudWatch 查询,请按照以下步骤操作:
|
相关资源
其他信息
要在 L CloudWatch ogs Insights 控制面板上查看 AFT 查询,请从右上角选择已保存和示例查询图标,如以下屏幕截图所示:
