2012-11-03 43 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

謝謝弗羅伊克,原來是我的地區問題。 –