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

如何在AWS中便捷配置大量CIDR IP地址的访问权限?

批量配置AWS安全组/ACL以允许美国IP访问

核心限制说明

AWS安全组默认单组最多支持60条入站/出站规则,76000条IP/CIDR远超出该限额,因此优先推荐CIDR聚合或AWS WAF地理匹配方案,而非直接批量添加规则。


方案1:AWS WAF地理匹配(最省心)

如果你的Web应用部署在CloudFront、ALB或API Gateway后,直接用WAF的地理匹配规则即可实现仅允许美国用户访问:

  • 新建WAF Web ACL,添加规则:选择「地理匹配」条件,指定国家为美国(US),动作为「允许」
  • 将Web ACL关联到你的分发/负载均衡/网关
  • 优势:无需手动维护IP列表,AWS自动更新地区对应IP段,完全规避规则数量问题

方案2:CIDR聚合后批量配置

先将76000条CIDR合并为更少的大网段,再添加到网络ACL(网络ACL默认每个子网支持20条规则,可申请提升限额):

  1. 用cidrmerge工具聚合CIDR:
    # macOS安装示例
    brew install cidrmerge
    # 聚合IP列表并输出到新文件
    cidrmerge your_us_ips.txt > merged_us_ips.txt
    
  2. 用AWS CLI批量导入到网络ACL:
    NACL_ID="acl-xxxxxx"
    SUBNET_ID="subnet-xxxxxx"
    RULE_NUMBER=100
    
    while read cidr; do
      aws ec2 create-network-acl-entry --network-acl-id $NACL_ID --ingress --rule-number $RULE_NUMBER --protocol tcp --port-range From=80,To=80 --allow --cidr-block $cidr
      RULE_NUMBER=$((RULE_NUMBER+10))
    done < merged_us_ips.txt
    # 将子网关联到该网络ACL
    aws ec2 associate-network-acl --network-acl-id $NACL_ID --subnet-id $SUBNET_ID
    

方案3:Terraform批量管理(适合基础设施即代码场景)

如果用Terraform管理AWS资源,可通过变量传入CIDR列表动态生成规则:

  1. 准备us_cidrs.tfvars文件:
    allowed_us_cidrs = [
      "1.2.3.0/24",
      "5.6.7.0/24",
      # ... 填入聚合后的CIDR列表
    ]
    
  2. Terraform配置文件:
    variable "allowed_us_cidrs" {
      type = list(string)
    }
    
    resource "aws_network_acl" "us_only" {
      vpc_id = "vpc-xxxxxx"
    
      dynamic "ingress" {
        for_each = var.allowed_us_cidrs
        content {
          rule_number = index(var.allowed_us_cidrs, ingress.value) * 10
          protocol    = "tcp"
          from_port   = 80
          to_port     = 80
          cidr_block  = ingress.value
          action      = "allow"
        }
      }
    
      egress {
        rule_number = 100
        protocol    = "-1"
        from_port   = 0
        to_port     = 0
        cidr_block  = "0.0.0.0/0"
        action      = "allow"
      }
    }
    
  3. 执行部署:
    terraform apply -var-file=us_cidrs.tfvars
    

内容的提问来源于stack exchange,提问作者Danli Denny Deng

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.07 19:55:30