如何指定安全组中的所有端口 - CloudFormation

时间:2016-08-18 15:01:12

标签: amazon-web-services amazon-cloudformation amazon-vpc

我现在有这样的CloudFormation脚本:

    "SecurityGroupIngress" : [{
      "IpProtocol" : "tcp",
      "FromPort" : "0",
      "ToPort" : "65535",
      "CidrIp" : "0.0.0.0/0"
    }]

它看起来像这样,很好:

enter image description here

但我想知道如何更新模板以获取此信息:

enter image description here

注意Ports说全部。我也想知道它们是不同的吗?

3 个答案:

答案 0 :(得分:10)

如果您希望允许所有协议和所有端口,则可以执行以下操作

{
  "IpProtocol" : "-1"
  "CidrIp" : "0.0.0.0/0"
}

答案 1 :(得分:8)

我发布的原始解决方案(并由原始海报接受)停止工作,因为AWS不再支持它。为了避免一连串的downvotes,我删除了答案。替代方案是:

  • 指定端口0和65535

打开所有协议的所有端口,而不仅仅是TCP(如下面的thewire247所示)

"SecurityGroupIngress" : [{
  "IpProtocol" : "-1",
  "CidrIp" : "0.0.0.0/0"
}]

答案 2 :(得分:3)

FromPort
TCP和UDP协议的端口范围的开始,或ICMP类型编号。如果为IpProtocol属性指定icmp,则可以将-1指定为通配符(即任何ICMP类型编号)。

ToPort
TCP和UDP协议的端口范围结束,或ICMP代码。如果为IpProtocol属性指定icmp,则可以将-1指定为通配符(即任何ICMP代码)。

离。
{ "IpProtocol" : "icmp", "FromPort" : "8", "ToPort" : "-1", "CidrIp" : "10.0.0.0/24" }

REF:
https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-security-group-ingress.html