如何在新的 Cloudformation 模板中引用 Cloudformation 资源?

How to reference Cloudformation Ressources in a new Cloudformation template?

我有两个 Cloudformation 文件,我想在另一个模板中引用一个模板中已创建的资源。例如:在第一个中,我创建了一个 ECS 集群。在第二个中,我想引用这个集群并在其中构建一个服务。我该怎么做?

为此,您必须 exporting stack output values 从第一个模板开始。据推测这将是 ECS 集群名称 and/or 其 arn:

MyCluster:
   Type: AWS::ECS::Cluster
   Properties: 
    #....

Outputs:
  MyClusterName:
     Value: !Ref MyCluster
     Export:
        Name: ECSClusterName

然后在第二个模板中,您将使用 ImportValue 来引用导出的输出:

MyESSService:
   Type: AWS::ECS::Service
   Properties: 
     Cluster: !ImportValue ECSClusterName