You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

CloudFormation安全组模板如何单条配置多个CIDR IP的Ingress规则

CloudFormation批量配置安全组多CIDR入站规则的实现方案

结论

可以实现单段代码批量引入多个CidrIp,无需逐行编写规则,目前最简便的实现方式是使用CloudFormation语言扩展的Fn::ForEach内置函数。

实现步骤

  1. 首先在模板顶部声明启用AWS语言扩展,支持循环遍历能力
  2. 在SecurityGroupIngress字段中使用Fn::ForEach遍历你定义的DbSubnetIpBlocks逗号分隔列表参数,批量生成规则结构

完整模板示例

{
    "AWSTemplateFormatVersion": "2010-09-09",
    "Transform": ["AWS::LanguageExtensions"],
    "Description": "HTTPS - Security Group",
    "Parameters": {
        "VPC": {
            "Type": "AWS::EC2::VPC::Id",
            "Description": "安全组所属的VPC ID"
        },
        "Name": {
            "Type": "String",
            "Description": "安全组的名称标签"
        },
        "DbSubnetIpBlocks": {
            "Description": "逗号分隔的CIDR地址块列表",
            "Type": "CommaDelimitedList"
        }
    },
    "Resources": {
        "MySG": {
            "Type": "AWS::EC2::SecurityGroup",
            "Properties": {
                "GroupDescription": "HTTPS访问安全组",
                "VpcId": {
                    "Ref": "VPC"
                },
                "SecurityGroupIngress": [{
                    "Fn::ForEach::AddHttpsIngress": [
                        "CidrBlock",
                        { "Ref": "DbSubnetIpBlocks" },
                        {
                            "IpProtocol": "tcp",
                            "CidrIp": { "Ref": "CidrBlock" },
                            "FromPort": "443",
                            "ToPort": "443"
                        }
                    ]
                }],
                "Tags": [
                    {
                        "Key": "Name",
                        "Value": { "Ref": "Name" }
                    }
                ]
            }
        }
    },
    "Outputs": {
        "SecurityGroupID": {
            "Description": "安全组ID",
            "Value": { "Ref": "MySG" }
        }
    }
}

注意事项

  • 你原模板中GroupDescription引用了不存在的Description参数,示例中已修正为固定描述,你可根据需求调整
  • 单安全组默认最多支持60条入站规则,你的50个CIDR场景完全符合限制,无需调整配额
  • 如果无法启用语言扩展,也可以通过AWS::EC2::SecurityGroupIngress独立资源配合循环实现,写法和上述逻辑一致

内容的提问来源于stack exchange,提问作者Gnay

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.24 18:24:07