AWS CloudFormation 模板 - 动态添加同一对象的多个实例

AWS CloudFormation 模板 - 动态添加同一对象的多个实例

我正在尝试创建一个 CloudFormation 模板,其中包含配置聚合器为了汇总来自其他区域的数据,同一模板文件还应定义一个(一个或多个)对象聚合授权

问题是,我想询问用户(当他们应用模板时)要授权此聚合器在哪些地区使用。另一个选择是授权此帐户所有相关/活跃的地区。

我找不到实现这一点的方法 - 根据用户输入(或从相关区域列表中选择)使模板以某种方式动态化。这可能吗,还是我的方法/工具不对?

答案1

我只会进行全球性调查,因为您未使用的区域不会生成很多事件。

如果您希望它是区域性的,那么类似这样的方法应该可以工作。只需在运行模板之前定义参数,我将它们放在 json 文件中。

AWSTemplateFormatVersion: '2010-09-09'
Parameters:
  ApplyToUsEast1:
    Description: Whether to create resource in US-East-1. Value "true" or "false".
    Type: String
  ApplyToUsWest1:
    Description: Whether to create resource in US-West-1. Value "true" or "false".
    Type: String

Conditions:
  ConditionUSEast1: !Equals [ !Ref ApplyToUsEast1, "true"]
  ConditionUSWest1: !Equals [ !Ref ApplyToUsWest1, "true"]

Resources: 
  AggregatorUSEast1:
    Condition: ConditionUSEast1
    Type: AWS::Config::AggregationAuthorization

  AggregatorUSWest1:
    Condition: ConditionUSWest1
    Type: AWS::Config::AggregationAuthorization

参数文件

[
    {
        "ParameterKey": "ApplyToUsEast1",
        "ParameterValue": "true"
    },
    {
        "ParameterKey": "ApplyToUsWest1",
        "ParameterValue": "false"
    }
]

像这样运行

aws cloudformation create-stack --stack-name config --template-body file://config.yaml --parameters file://config.json

相关内容