Amazon cloudformation 如何重用CloudFormation代码块?

Amazon cloudformation 如何重用CloudFormation代码块?,amazon-cloudformation,Amazon Cloudformation,我想知道是否有一种方法可以让我在CloudFormation中重用代码块,而无需复制和粘贴。例如:现在我正在为不同的Redis群集发出一系列警报,唯一真正的区别是CacheClusterId(cache-001然后cache-002,在本例中是cache-003)本身。我查阅了说明书,但找不到不复制粘贴的好方法。或者是否可以使用值数组而不是单个值 "CacheMemoryUsage001": { "Type": "AWS::C

我想知道是否有一种方法可以让我在CloudFormation中重用代码块,而无需复制和粘贴。例如:现在我正在为不同的Redis群集发出一系列警报,唯一真正的区别是CacheClusterId(cache-001然后cache-002,在本例中是cache-003)本身。我查阅了说明书,但找不到不复制粘贴的好方法。或者是否可以使用值数组而不是单个值

    "CacheMemoryUsage001": {
      "Type": "AWS::CloudWatch::Alarm",
      "Properties": {
        "MetricName": "DatabaseMemoryUsagePercentage"
        ...
       }
        "Dimensions": [{
          "Name": "CacheClusterId",
          "Value": "cache-001"
        },
    ....

我想更好地组织模板,现在我每个集群有两种报警类型,它们越来越难维护和跟踪

有两种方法:

  • 使用。在这种情况下,公共资源的定义将放在单独的堆栈中,在主堆栈中,您将使用嵌套堆栈基于嵌套堆栈创建多个资源
  • 创建将执行基本的查找和替换类型的模板处理,以创建资源的副本

  • 通常有两种方法:

  • 使用。在这种情况下,公共资源的定义将放在单独的堆栈中,在主堆栈中,您将使用嵌套堆栈基于嵌套堆栈创建多个资源
  • 创建将执行基本的查找和替换类型的模板处理,以创建资源的副本

  • 除了前面提到的方法外,还可以将CodePipeline与CodeBuild一起使用。 使用AWS CDK(用于Instance标准python代码)在CodeBuild中动态创建CF模板,然后将其传递给CloudFormation部署阶段,该阶段将部署先前生成的模板

    第二,如果您想从一个中心位置在多个区域、账户或组织OU级别部署一个模板,则可以选择使用Stackset


    除了前面提到的方法外,还可以将CodePipeline与CodeBuild结合使用。 使用AWS CDK(用于Instance标准python代码)在CodeBuild中动态创建CF模板,然后将其传递给CloudFormation部署阶段,该阶段将部署先前生成的模板

    第二,如果您想从一个中心位置在多个区域、账户或组织OU级别部署一个模板,则可以选择使用Stackset