2012-11-03 120 views
1

我想允许app-server组中的节点与database组中的mysql和redis机器交谈。但是,我只能使显式IP适用于入口规则。当我尝试定义组时,为了使自动缩放更容易,流量被阻止。AWS安全组不允许入站流量

这里是我的设置:从

当我运行

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 

但是,当我尝试使用连接到端口6379的Redis-CLI在app-server组中的一台机器上,我收到一个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服务)。

这应该工作,不是吗?我究竟做错了什么?

回答

2

一些建议,以检查/尝试:

  1. AWS秒群体做允许跨区域的规则。我不知道你的Redis机器是否在同一个地区。
  2. 尝试从AWS Web Interface或Dome9 Console(www.dome9.com)创建此设置,以确保没有未显示的隐藏设置。

不要松散的希望 - 这种设置应该工作 - AWS sec组是为这个用例设计的。

+0

谢谢弗罗伊克,原来是我的地区问题。 –