Amazon cloudformation 在2个区域部署2个相关的cloudformation堆栈部件

Amazon cloudformation 在2个区域部署2个相关的cloudformation堆栈部件,amazon-cloudformation,Amazon Cloudformation,我想在2个不同的区域(us-east-1、eu-west-1)部署2个cloudformation堆栈部件 其中一部分创建vpc和x资源-我想部署到us-east-1 第二部分创建与x相关的y资源。输出-我想部署到eu-west-1 我不能简单地在eu-west-1区域运行堆栈(它将只创建第一部分) 有什么方法可以做到这一点吗?当您以编程方式部署堆栈时,例如使用CLI和bash,您可以执行以下操作(CLI示例): 使用[deploy]命令在第一个区域中部署堆栈。CLI具有用于指定操作区域的参数

我想在2个不同的区域(us-east-1、eu-west-1)部署2个cloudformation堆栈部件

其中一部分创建vpc和x资源-我想部署到us-east-1

第二部分创建与x相关的y资源。输出-我想部署到eu-west-1

我不能简单地在eu-west-1区域运行堆栈(它将只创建第一部分)


有什么方法可以做到这一点吗?

当您以编程方式部署堆栈时,例如使用CLI和
bash
,您可以执行以下操作(CLI示例):

  • 使用[deploy]命令在第一个区域中部署堆栈。CLI具有用于指定操作区域的参数

  • 使用基本循环,您可以等待创建堆栈。提供堆栈创建的状态

  • 一旦状态为
    CREATE\u COMPLETE
    ,您再调用一次以获得输出

  • 从堆栈中获取输出,然后在所需区域部署第二个堆栈
    deploy
    命令具有
    --参数覆盖
    ,您可以为第二个堆栈指定输入参数。这些输入将来自第一个堆栈的输出


  • 您可以使用SDK做类似的事情,例如python中的boto3。

    CFN是区域服务。一个堆栈无法引用由其他区域中的堆栈创建的资源。如果以编程方式部署堆栈,则可以部署第一个堆栈,获取其输出,并将输出作为参数传递给在不同区域中启动的第二个堆栈。如何跨区域使用输出?我可以使用cloudformation吗?从其他区域的输出获取参数?