Amazon-Web-Services

AWS:限制對數據庫的外部訪問,但允許 ECS 任務訪問

  • March 27, 2022

我不擅長網路管理,所以我需要一些幫助才能在 AWS 上做一些非常基本的事情。基本上,我在 vpc 上有一個 RDS 數據庫,我們稱之為 VPC1。該數據庫還與 VPC 安全組“預設:sg1”相關聯

我有一個 API 伺服器需要使用 ECS 訪問作為 docker 映像(服務)執行的數據庫。此 API 伺服器與同一 VPC ID VPC1 上的負載均衡器相關聯。任務有外部 IP XXX.XXX.XXX.XXX 和內部 IP YYY.YYY.YYY.YYY

我要做的就是允許 ECS 服務訪問數據庫,但禁用所有其他外部訪問。

我嘗試了以下方法:

  • 將私有 IP 添加到入站 SG 規則
  • 將公共 IP 添加到入站 SG 規則
  • 將任務所屬網路的安全組添加到 SG 規則 用於測試的協議設置為“全部”

這些似乎都不起作用。我在這裡想念什麼?

我通常使用安全組引用而不是 IP 來執行此操作。確保為每個資源(DB、ECS)分配了一個不用於其他任何東西的安全組——即不是預設的 SG。預設值有效,但這不是好的做法,而且更難以跟踪。

您需要輸入匹配的安全組規則,以允許流量從 ECS 到 DB,並從 ECS 到 DB:

  • ECS SG:允許在所需埠上到DB SG 的****出站連接。
  • DB SG:允許來自DB SG 在所需埠上的入站連接。

由於安全組是有狀態的,您不需要允許傳入 ECS 或從 DB 傳出。

如果由於某種原因您需要使用 IP 執行此操作,請確保您使用私有 IP 而不是公共 IP。在 AWS 中,公共 IP 僅在 Internet 網關中轉換,它們不在 VPC 中使用。

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