在模板中向 AWS lambda 函数添​​加多个安全组

问题描述

我想向模板中的 lambda 函数添​​加两个安全组。但是,这是一个条件语句,我找不到我该怎么做。我在下面举个例子:

VpcConfig:
        SecurityGroupIds:
           - !If 
            - isProd
            - !Ref SecurityIds + securityGroup2
            - !Ref SecurityIds

SecurityIds 是一个被引用的安全组。我的目标是,如果环境是 prod,那么它应该添加两个安全组到 lambda (SecurityIds + SecurityGroup2),如果它不是 prod,只需添加一个安全组 (SecurityIds)。我不想将所有 lambda 添加到 securityGroup2,因为我无法将此安全组添加到 SecurityIds 列表中。

解决方法

你已经很接近了。应该是这样的:

      VpcConfig:
        SecurityGroupIds:
          !If
            - isProd
            - [!Ref SecurityIds,securityGroup2]
            - [!Ref SecurityIds]

请注意 - 之前的所有缩进和缺少 !If