如何使用合并账单将所有 AWS 服务(包括正在运行的实例、API、Snapsorts)迁移到其子账户?

如何使用合并账单将所有 AWS 服务(包括正在运行的实例、API、Snapsorts)迁移到其子账户?

我有一个主 AWS 账户,并已将一个子账户与其关联。我想将所有 AWS 服务(包括正在运行的实例、API、Snapsorts、用户组权限、标签等)迁移到合并账单的子账户。

我怎样才能实现这个目标?

Cloudformation 是否有助于移动所有资源(包括数据(文件、配置、数据库表))以将相同的设置复制到其他帐户?

答案1

据我所知,您无法随心所欲地迁移。您要做的就是将所有资源迁移到一个全新的帐户,这既不简单(见下文),也不可能直接完成。最佳实践是模板化您的基础设施(这就是 CloudFormation 所做的,OpsWorks 可以帮助管理该基础设施的运行 - 不过还有其他工具……请查看 Hashicorp),对您的应用程序和数据库代码进行版本控制,构建代码部署管道(我使用 Jenkins 和 CodeDeploy 的组合),将您的数据放入备份系统(S3 是一个不错的选择),以便您可以在帐户之间移动它,然后构建、测试、中断、冲洗并重复。让我重申:这并​​不容易。我刚刚总结了三个人三个月来一直在做的事情,我们仍然只有 2 个堆栈进入 5 个堆栈部署管道。您能详细告诉我们您为什么要尝试转移到子帐户吗?是否可以开设一个新帐户,并将当前正在使用的帐户设为子帐户?

答案2

我有一种方法可以实现这一点,但该方法尚未实施。

  1. 从源账户的现有服务器创建云形成模板。
  2. 修改模板并将 ECS 和 Docker 相关的更改添加到模板中,同时为不同的环境(qa、dev 等)传递环境/数据变量以使其可重复使用。
  3. 使用云形成将修改后的模板导入到目标帐户。
  4. 对于 S3。a) 获取目标账户 ID。b) 在源账户中,创建允许访问目标(或新)账户的存储桶策略。c) 将组策略和该组的有效 iam 用户附加到目标账户。d) 一旦目标账户有权访问 s3 存储桶,我们就可以使用命令行界面 aws cli 复制存储桶。aws s3 sync s3://sourcebucket s3://destinationbucket
  5. 对于 RDS。a) 创建数据库快照。b) 与目标账户共享快照。c) 在目标账户中,从快照创建数据库实例
  6. 您可以在新帐户中手动创建组、用户和角色,其策略与当前源帐户类似,或者可以使用云形成工具来创建角色和组。
  7. 您可以使用 Cloud Formation 工具在新帐户中设置网络。a) 从现有源帐户创建包括安全组、角色、vpc、子网的 json 模板。b) 使用 Cloud Formation 工具在新帐户中导入此 json 模板。

看看是否有帮助。

相关内容