AWS VPC 對等互連與 PrivateLink 對第 3 方雲端資料庫的網路存取

AWS VPC 對等互連與 PrivateLink 對第 3 方雲端資料庫的網路存取

AWS在這裡。我有一個簡單的應用程式伺服器,它在 EC2 執行個體上運行,這些執行個體位於自動擴展(「目標」)群組中,前面是應用程式負載平衡器 (ALB)。 ALB 的網域名稱在 DNS 中透過 CNAME 對應到我的 dev 子網域,例如dev.myapp.example.com.因此,我可以使用curlwgetPostMan 等來觸發 HTTP 請求http://dev.myapp.example.com並從中獲取回應,並且這些請求在位於 ALB 後面的任何 EC2 執行個體(在自動擴展組中)之間實現負載平衡。

在這些 EC2 執行個體上執行的應用程式伺服器需要連接到第三方資料庫即服務。MyCloudDB為了解決這個問題,我們將這個雲端資料庫稱為「 」。

當我手動配置 EC2 執行個體並在那裡部署我的應用程式伺服器時,為了讓它與 進行通信MyCloudDB,我需要登入MyCloudDBWeb 控制台並使用 /32 子網路存取清單 EC2 執行個體的公共 IP(老實說我不知道為什麼在 /32 子網上)。例如,如果 AWS 為實例指派一個公用 IP,例如 ,1.2.3.4那麼我需要登入MyCloudDB並新增 的存取清單項目1.2.3.4/32。然後,只有這樣,應用程式伺服器(在新的 EC2 執行個體上運行)才能連接到MyCloudDB.

我正在嘗試弄清楚如何使此允許/訪問列表設定與我的 ALB 及其自動縮放組相容。顯然,自動擴展組中的 EC2 執行個體是短暫的,將根據我的自動擴展規則啟動和關閉。由於我們需要動態/彈性,因此我需要一種方法來告訴MyCloudDB「信任」來自 ALB 後面的 EC2 執行個體的任何請求。顯然,不要放鬆安全性太多,以免給自己帶來麻煩。

提供MyCloudDB3 種類型的網路存取選項:

  • IP訪問列表(_我目前正在使用的,獨家)
  • VPC 對等互連
    • 這允許我的應用程式 VPC 與MyCloudDBVPC對等
  • 私有端點
    • 允許 AWS PrivateLink 連接到MyCloudDB
  • 管理 REST API
    • 允許我透過 RESTful(Web 服務)API 管理 IP 存取列表
    • 因此我可以建立一個 EC2 執行個體生命週期掛鉤來執行一個腳本,透過或其他一些工具將執行個體 IP 位址新增至MyCloudDBIP 存取清單curl

因此,從自動化的角度來看,我擁有的 3 個選項實際上是:VPC 對等、私有端點 (PrivateLink) 或 API 呼叫。我可以梳理 API 呼叫選項的優缺點,但我正在努力“透過樹木看森林「關於 VPC 對等互連與 PrivateLink 選項。

A主要呼籲最終我將擁有 CloudFormation 範本來管理將此 ALB 部署到新的(臨時)環境。因此,我不僅需要此連接解決方案適用於位於 ALB 後面的 EC2 實例,還需要它與將透過 CloudFormation 預配的 ALB 配合使用。

鑑於我的情況、背景和需求,VPC 對等互連與 PrivateLink 相比有何優點/缺點?

答案1

這幾乎正是 PrivateLink 的用途。他們實際上在您的 VPC 中放置了一個網路接口,您可以存取它。在他們這邊,它會到達 NLB,然後進入他們的資料庫。這是最低限度的特權,也是我會做的。

VPC 對等互連將您的網路的更多部分開放給他們的更多網路。如果您的 IP 範圍發生衝突,事情就會變得更加困難。在這種情況下我看不到任何優勢。

如果 IP 存取清單是唯一的選項,您的自動擴充組將需要靜態 IP。在每個子網路中建立 NAT 閘道並將其彈性 IP 列入白名單即可實現此目的。

相關內容