AWS 安全组不允许入站流量
Posted
技术标签:
【中文标题】AWS 安全组不允许入站流量【英文标题】:AWS Security Group Not Permitting Inbound Traffic 【发布时间】:2012-10-24 05:08:03 【问题描述】:我想让app-server
组中的节点与database
组中的mysql 和redis 机器通信。但是,我只能使显式 IP 用于入口规则。当我尝试定义组时,为了使自动缩放更容易,流量被阻止。
这是我的设置:
当我跑步时
ec2-describe-group database
我明白了
PERMISSION 890752071609 database ALLOWS tcp 3306 3306 FROM USER 890752071609 NAME default ID sg-5ce3766c ingress
PERMISSION 890752071609 database ALLOWS tcp 3306 3306 FROM USER 890752071609 NAME app-server ID sg-b81b8088 ingress
PERMISSION 890752071609 database ALLOWS tcp 6379 6379 FROM USER 890752071609 NAME default ID sg-5ce3766c ingress
PERMISSION 890752071609 database ALLOWS tcp 6379 6379 FROM USER 890752071609 NAME app-server ID sg-b81b8088 ingress
PERMISSION 890752071609 database ALLOWS tcp 0 65535 FROM USER 890752071609 NAME database ID sg-d262f1e2 ingress
PERMISSION 890752071609 database ALLOWS tcp 22 22 FROM CIDR 0.0.0.0/0 ingress
但是,当我尝试使用 redis-cli 从 app-server
组中的机器连接到端口 6379 时,我收到了 redis 超时错误。
如果我明确添加要连接的服务器的弹性 IP,像这样
PERMISSION 890752071609 database ALLOWS tcp 3306 3306 FROM CIDR 111.snip.25/32 ingress
PERMISSION 890752071609 database ALLOWS tcp 6379 6379 FROM CIDR 222.snip.25/32 ingress
redis-cli 调用有效。但是,我希望更加灵活,而是添加整个安全组。
amazon docs 状态
通过将安全组指定为源,您允许来自属于源安全组的所有实例的传入流量。您允许的传入流量基于源安全组中实例的私有 IP 地址。如果您正在创建三层 Web 服务(请参阅创建三层 Web 服务),您可以在您的帐户中指定另一个安全组。
这应该可行,不是吗?我做错了什么?
【问题讨论】:
【参考方案1】:检查/尝试的一些建议:
-
AWS sec 组不允许跨区域规则。不知道你们的Redis机器是不是在同一个地区。
尝试从 AWS Web Interface 或 Dome9 控制台 (www.dome9.com) 创建此设置,以确保没有未显示的隐藏设置。
不要失去希望 - 这种设置应该有效 - AWS sec 组是为此用例设计的。
【讨论】:
谢谢 Froyke,原来是我的地区问题。以上是关于AWS 安全组不允许入站流量的主要内容,如果未能解决你的问题,请参考以下文章