使用CodePipeline-将CloudFormation堆栈部署到另一个帐户

时间:2018-09-01 09:59:04

标签: amazon-cloudformation aws-codepipeline

我正在帐户000000000000中配置CodePipeline。

我想部署一个CloudFormation堆栈

  • 通过CodePipeline执行CloudFromation模板
  • 但不在帐户123456789123中,也不在00000000000中

问题

如何配置“部署”类型的CodePipeline操作来执行此操作?
特别是如何将其指向帐户123456789123?

我到目前为止所做的

我认为它是通过角色起作用的。123456789123。

我在帐户123456789123中创建了一个IAM角色,
信任帐户00000000000,
信任服务cloudformation。
我将其命名为arn:aws:iam::123456789123:role/CFDep

下面是我的CodePipeline-Action的配置。 我遇到错误The role name is invalid. Check that the specified role exists and can be assumed by AWS CloudFormation.为什么?

enter image description here

1 个答案:

答案 0 :(得分:1)

来自docs

  

您不能使用AWS CodePipeline控制台创建或编辑   使用与另一个AWS账户关联的资源的管道。   但是,您可以使用控制台创建以下内容的常规结构   管道,然后使用AWS CLI编辑管道并添加   这些资源。另外,您也可以使用   现有管道并手动向其中添加资源。

您可以执行以下两项操作之一:

  1. 使用aws codepipeline cli编辑管道

    aws codepipeline update-pipeline --cli-input-json file://pipeline.json

    OR

  2. 使用cloudformation创建管道本身

    您可以将AWS参考架构中的this pipeline definition用于交叉帐户管道,作为模板的起点。