我想在多个地区创建包含资源的CloudFormation堆栈.这可能吗?

Tay*_*lli 14 aws-cloudformation

是否可以创建单个Amazon CloudFormation堆栈模板,例如在ap-southeast-1中实例化AWS :: EC2 :: Instance,在us-west-2中实例化另一个AWS :: EC2 :: Instance?

我怀疑没有,但我还没有找到一个明确的是/否说堆栈不能拥有跨越多个区域的资源.

Nav*_*jay 8

一个非常好的问题; 但我认为您无法创建分布在多个地区的资源.

cloudFormation的终点URL是基于地区的,AFAIK没有地方是否可以指定区域特定(差异区域)信息.

截至今天,您可以通过利用映射部分和get :: region函数以这种方式组合CloudFormation模板以使其区域独立; 但是不可能同时将模板分布在多个区域; 但可以预期下线.

  • 您现在拥有 CloudFormation StackSets,允许在多个区域和多个账户中进行部署。https://eu-west-1.console.aws.amazon.com/cloudformation/stacksets/home?region=eu-west-1#/stacksets (4认同)

Ian*_*art 6

接受的答案已过期。现在可以使用CloudFormation StackSets在帐户和区域之间创建堆栈。

  • 你能在你的回复中提供一个简单的样本吗? (3认同)

ala*_*ill 5

现在最好的选择是使用Cloudformation自定义资源来调用Lambda函数,以创建其他区域中的资源。当您运行CFN模板时,它将调用Lambda函数,您可以在其中创建利用AWS开发工具包创建所需资源的代码(Python,Node.js或Java)。CFN自定义资源允许您将参数传递给函数并从中获取“输出”,因此从CFN角度看,您可以将其像其他资源一样对待。

这是AWS文档的演练示例:http : //docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/template-custom-resources-lambda.html