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

AWS CDK 2.62.2中ALB自动生成ICMP出站拒绝规则的原因及建议

AWS CDK隐式创建ALB安全组时生成特殊ICMP规则的疑问解答

问题描述

使用AWS CDK 2.62.2版本,当通过以下代码让CDK隐式创建SecurityGroup时:

this.alb = new ApplicationLoadBalancer(this, 'Alb', {
  loadBalancerName: "Raido",
  vpc: props.vpc, 
  internetFacing: true,
  vpcSubnets: {
    subnetType: SubnetType.PUBLIC,
    onePerAz: true,
  },
  // securityGroup: props.securityGroup,
  idleTimeout: Duration.seconds(60),
  dropInvalidHeaderFields: false,
  desyncMitigationMode: DesyncMitigationMode.DEFENSIVE,
});

会生成一条特殊的ICMP出站规则,详情如下:

egress rule:
      Type: Custom ICMP - IPv4
      Protocol: 252
      Port: 86
      Destination: 255.255.255.255/32
      Description: Disallow all traffic

手动创建SecurityGroup时则不会生成该规则,疑问点:

  • CDK为何创建此规则?
  • 是否需要自行添加类似规则?

解答

为什么CDK会创建这条规则

这是CDK内部的占位式规则,用于处理安全组出站规则的管理逻辑:

  • AWS安全组默认会允许所有出站流量,但CDK在隐式创建安全组时,为了支持后续用户自定义出站规则的场景(避免自定义规则和默认全通规则冲突),会先添加这条特殊规则作为占位。
  • 这条规则实际上不会影响正常流量:它的协议(252)和端口(86)是非常见的ICMP类型,且优先级低于后续CDK自动添加的必要出站规则(比如ALB与后端通信、健康检查所需的规则),同时它的目标地址是广播地址,实际不会匹配正常的出站流量。

是否需要自行添加类似规则

不需要。

  • 如果是手动创建安全组:AWS默认会开放所有出站流量,若你有自定义需求,直接添加对应允许规则即可,无需添加这类占位规则。
  • 如果是通过CDK隐式创建安全组:这条规则是CDK的内部机制,无需用户手动干预,也不会对ALB的正常运行产生影响。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.03 01:35:45