【问题标题】:How to specify all ports in Security group - CloudFormation如何指定安全组中的所有端口 - CloudFormation
【发布时间】:2016-12-25 13:58:07
【问题描述】:

我现在有这样的 CloudFormation 脚本:

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

它看起来像这样,这很好:

但我想知道如何更新模板来获得这个:

注意端口表示全部。我也想知道它们是否不同?

【问题讨论】:

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


    【解决方案1】:

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

    • 指定端口 0 和 65535

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

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

    【讨论】:

    • 不幸的是,这似乎不起作用(至少不再起作用)。我试过这个并得到TCP/UDP (from) port (-1) out of range。我必须明确指定065535 :(
    【解决方案2】:

    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" }

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

    【讨论】:

      【解决方案3】:

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

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

      【讨论】:

      • 请将其更改为接受的答案,当前接受的答案不再有效
      猜你喜欢
      • 2019-02-05
      • 1970-01-01
      • 1970-01-01
      • 2017-08-15
      • 1970-01-01
      • 1970-01-01
      • 2017-04-01
      • 2018-02-11
      • 1970-01-01
      相关资源
      最近更新 更多