我想使用 AWS CloudFormation 将我的资源从一个 AWS 账户预调配到另一个账户。
简短描述
要使用 CloudFormation 在目标账户中创建资源,您必须拥有一个 YAML 或 JSON 格式的 CloudFormation 模板来定义指定的资源。当 CloudFormation 模板准备就绪后,请使用目标账户中的模板来创建堆栈并预调配指定的资源。
要在源账户中手动预调配资源,请使用 CloudFormation IaC 生成器来生成源账户模板。然后,使用该模板来定义目标账户的堆栈模板的资源。
解决方法
使用 IaC 生成器创建源账户模板
**注意:**以下步骤适用于 IaC 生成器支持的手动预调配资源。IaC 生成器仅支持您的 AWS 区域中支持 AWS 云管控 API 的资源类型。
完成以下步骤:
- 从您的源账户打开 CloudFormation 控制台。
- 在导航窗格中,选择 IaC generator(IaC 生成器)。然后,选择 Start a new scan(开始新扫描)。
**注意:**扫描时间取决于您拥有的资源数量,如果是 1,000 个资源,最多可能需要 10 分钟。
- 选择 Create template(创建模板)。
- 在 Specify template details(指定模板详细信息)页面的 Prerequisite - Prepare template(先决条件-准备模板)部分下,选择 Start from a new template(从新模板开始),然后更新 Provide template details(提供模板详细信息)部分。
- 选择 Next(下一步)。
- 在 Add scanned resources(添加扫描的资源)页面上,选择要复制的资源,然后选择 Next(下一步)。
- 在 Add related resources(添加相关资源)页面上,添加要复制的相关资源,然后选择 Next(下一步)。
- 在 Review and Create(查看并创建)页面上,选择 Create template(创建模板),然后选择 Download(下载)。
创建目标账户模板
**注意:**如果在运行 AWS 命令行界面 (AWS CLI) 命令时收到错误消息,请参阅 AWS CLI 错误故障排除。此外,请确保您使用的是最新版本的 AWS CLI。
生成源账户模板后,请使用该模板作为参考来创建目标账户模板。务必将源账户模板的公共资源属性复制到目标账户模板。
当您引用源账户模板来创建目标账户模板时,请执行以下操作:
- 该模板可能包含来自源账户的全球唯一 ARN 和属性值。修改模板中的 ARN 或属性,然后根据您的目标账户用例进行定义。
- 修改模板的属性,例如资源属性和逻辑 ID,然后为您的用例创建参数。
- 对于 IaC 生成器不支持的资源,请运行这些资源的 AWS CLI 命令以查看资源详细信息。在输出中,确定您的资源配置属性,然后使用 CloudFormation 资源类型参考来定义您的资源。
在目标账户中创建 CloudFormation 堆栈
当您的 CloudFormation 模板准备好与指定资源的配置属性一起使用时,请在目标账户中创建一个堆栈来预调配资源。为了更好地管理资源,请将您的资源分组为多个堆栈。