小编jar*_*row的帖子

AWS Cloudformation - 如何从另一个嵌套堆栈中依赖资源

我有一个带有嵌套堆栈的 CF 父模板。我想要做的是在嵌套堆栈之一中设置 DependsOn 属性,以检查来自另一个嵌套堆栈的资源。

这是我的设置:

父堆栈:(在嵌套堆栈之间传递资源引用)

  RDS:
    Type: AWS::CloudFormation::Stack
    Properties:
      TemplateURL: https://cf-app-stack.s3.eu-west-2.amazonaws.com/infrastructure/rds.yaml
      Parameters:
        EnvironmentName: !Ref AWS::StackName
        DBVPCSecurityGroup: !GetAtt SecurityGroups.Outputs.DBVPCSecurityGroup
        PrivateSubnet1: !GetAtt VPC.Outputs.PrivateSubnet1
        PrivateSubnet2: !GetAtt VPC.Outputs.PrivateSubnet2

  ECS:
    Type: AWS::CloudFormation::Stack
    Properties:
      TemplateURL: https://cf-app-stack.s3.eu-west-2.amazonaws.com/infrastructure/ecs-cluster.yaml
      Parameters:
        EnvironmentName: !Ref AWS::StackName
        MasterDB: !GetAtt RDS.Outputs.MasterDB
        InstanceType: t2.micro
        ClusterSize: 1
        VPC: !GetAtt VPC.Outputs.VPC
        SecurityGroup: !GetAtt SecurityGroups.Outputs.ECSHostSecurityGroup
        Subnets: !GetAtt VPC.Outputs.PrivateSubnets
Run Code Online (Sandbox Code Playgroud)

嵌套 RDS 堆栈:(导出数据库资源引用)

 MasterDB:
    Type: AWS::RDS::DBInstance
    Properties:
      DBSnapshotIdentifier: arn:aws:rds:eu-west-2:731152906121:snapshot:db-starter-image
      AllocatedStorage: !Ref DBAllocatedStorage
      DBInstanceClass: !Ref DBInstanceClass
      Engine: MySQL
      # Some DB instance properties aren't valid when you restore from …
Run Code Online (Sandbox Code Playgroud)

amazon-web-services aws-cloudformation

4
推荐指数
1
解决办法
2126
查看次数