2015-08-24 98 views
0

我有一個AWS RDS與此安全組:爲什麼此RDS安全組不讓我的EC2安全組連接?

MySQL/Aurora (3306) TCP (6) 3306 sg-3sf456 

當SG-3sf456是圍繞我的EC2集羣安全組。

我的EC2集羣無法連接到rds。但是,如果我向RDS安全組添加了另一個規則,即我的一臺EC2計算機的IP地址,並且嘗試從該計算機連接到RDS,它允許我進入?

我錯過了什麼?

編輯:這裏是我的EC2集羣的入站規則:

HTTP (80) TCP (6) 80 0.0.0.0/0 
HTTPS (443) TCP (6) 443 0.0.0.0/0 

出境,一切都是允許的。

+0

是你的RDS實例和EC2實例都在同一個VPC?當您通過IP地址允許EC2實例時,您使用的是私有IP地址還是公共IP地址? –

+0

是的,他們是在同一個VPC。這是一個很好的問題,我允許公共IP地址使用EC2實例。我剛剛嘗試使用私有地址rds連接失敗。這是一個線索嗎? –

+1

如果公共IP工作,那麼連接將進入外部世界並返回。爲了安全組工作,連接必須在VPC內部進行。確保您使用的是DNS名稱來引用您的RDS實例,並解析爲它的內部IP地址,而不是公有IP地址。 –

回答

1

您的設置似乎是正確的,但確保您使用RDS實例的私有IP地址。這樣,流量被視爲「來自」EC2實例,而不是來自互聯網。

執行此操作的最佳方法是使用與您的Amazon RDS實例關聯的DNS名稱。在VPC內解析此DNS名稱時,它將解析爲內部IP地址。如果您使用自己的DNS服務器,則需要一些額外的步驟來確定私有IP地址。

如果您不需要您的RDS實例可在VPC之外訪問,請將其PubliclyAccessible參數設置爲。這隻會給它一個私人IP地址。

參見:Using Amazon RDS with Amazon Virtual Private Cloud (VPC)