我想允许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
但是,当我尝试使用app-server
组中的计算机上的redis-cli连接到端口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通话有效。但是,我希望更灵活,而是添加整个安全组。
通过将安全组指定为源,您可以允许来自属于源安全组的所有实例的传入流量。您允许的传入流量基于源安全组中实例的专用IP地址。如果要创建三层Web服务,则可以在帐户中指定另一个安全组(请参阅创建三层Web服务)。
这应该有效,不是吗?我做错了什么?
答案 0 :(得分:2)
检查/尝试的建议很少:
不要失去希望 - 这种设置应工作 - AWS sec组是专为此用例而设计的。