Amazon-Ec2
AWS 安全組是否適用於實例上的程序之間的通信?
入站和出站流量規則是否適用於實例內部程序之間的通信?
例如,我的 MongoDB 實例在埠 27017 上執行,而我的 Node.js 應用程序正在同一台伺服器上偵聽埠 80 和 443。如果我只打開了埠 80 和 443 出站和入站規則而沒有向公眾開放 27017 出站/入站,我的 Node.js 應用程序仍然能夠連接到 MongoDB 實例嗎?
如果可能,我正在嘗試將我的 MongoDB 實例限制為本地連接,以防止通過此方法進行遠端 ssh 連接。
簡短的回答:不,他們沒有。
長答案:安全組在虛擬 NIC 級別工作,這意味著他們能夠控制“進入”EC2 實例以及“離開”它的內容。安全組對作業系統內程序之間的通信沒有任何控制權。
這樣做的安全方式:
- 創建新的 VPC
- 創建一個將託管您的 Node.js 應用程序的公共子網
- 創建一個私有子網來託管您的 MongoDB 數據庫
- 附加一個安全組 [
sg-app
比如託管 Node.js 應用程序的 EC2 實例,該應用程序允許埠 80 和 443 上的入站和出站,源和目標為0.0.0.0/0
- 附加一個安全組 [
sg-db
比如託管 MongoDB 數據庫的 EC2 實例,該數據庫允許在埠 27017 上入站和出站,源和目標為sg-1
$$ Yes, you can specify a security group as a source/destination in your security group rules $$