如何指定安全组中的所有端口 - CloudFormation
Posted
技术标签:
【中文标题】如何指定安全组中的所有端口 - CloudFormation【英文标题】:How to specify all ports in Security group - CloudFormation 【发布时间】:2016-12-25 13:58:07 【问题描述】:我现在有这样的 CloudFormation 脚本:
"SecurityGroupIngress" : [
"IpProtocol" : "tcp",
"FromPort" : "0",
"ToPort" : "65535",
"CidrIp" : "0.0.0.0/0"
]
它看起来像这样,这很好:
但我想知道如何更新模板来获得这个:
注意端口表示全部。我也想知道它们是否不同?
【问题讨论】:
【参考方案1】:我发布的原始解决方案(并被原始发布者接受)停止工作,因为 AWS 不再支持它。为了避免一连串的反对票,我删除了答案。替代方案是:
指定端口 0 和 65535或
为所有协议打开所有端口,而不仅仅是 TCP(如下面的thewire247
所建议的)
"SecurityGroupIngress" : [
"IpProtocol" : "-1",
"CidrIp" : "0.0.0.0/0"
]
【讨论】:
不幸的是,这似乎不起作用(至少不再起作用)。我试过这个并得到TCP/UDP (from) port (-1) out of range
。我必须明确指定0
和65535
:(【参考方案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"
【讨论】:
请将其更改为接受的答案,当前接受的答案不再有效以上是关于如何指定安全组中的所有端口 - CloudFormation的主要内容,如果未能解决你的问题,请参考以下文章
如何将 AWS RDS 安全组中的 Zapier IP 地址列入白名单