Amazon-Ec2

AWS 安全組是否適用於實例上的程序之間的通信?

  • May 15, 2018

入站和出站流量規則是否適用於實例內部程序之間的通信?

例如,我的 MongoDB 實例在埠 27017 上執行,而我的 Node.js 應用程序正在同一台伺服器上偵聽埠 80 和 443。如果我只打開了埠 80 和 443 出站和入站規則而沒有向公眾開放 27017 出站/入站,我的 Node.js 應用程序仍然能夠連接到 MongoDB 實例嗎?

如果可能,我正在嘗試將我的 MongoDB 實例限制為本地連接,以防止通過此方法進行遠端 ssh 連接。

簡短的回答:不,他們沒有。

長答案:安全組在虛擬 NIC 級別工作,這意味著他們能夠控制“進入”EC2 實例以及“離開”它的內容。安全組對作業系統內程序之間的通信沒有任何控制權。

這樣做的安全方式

  1. 創建新的 VPC
  2. 創建一個將託管您的 Node.js 應用程序的公共子網
  3. 創建一個私有子網來託管您的 MongoDB 數據庫
  4. 附加一個安全組 [sg-app比如託管 Node.js 應用程序的 EC2 實例,該應用程序允許埠 80 和 443 上的入站和出站,源和目標為0.0.0.0/0
  5. 附加一個安全組 [sg-db比如託管 MongoDB 數據庫的 EC2 實例,該數據庫允許在埠 27017 上入站和出站,源和目標為sg-1 $$ Yes, you can specify a security group as a source/destination in your security group rules $$

引用自:https://serverfault.com/questions/912260