簡體   English   中英

如何將 MongoDB Atlas 連接到 GCP(谷歌雲平台)?

[英]how to connect MongoDB Atlas to GCP(Google Cloud Platform)?

我嘗試將托管在谷歌雲平台(gcp)應用引擎上的應用連接到我的 Mongo Atlas DB。 Mongo 想讓我將 gcp 應用程序 ip 列入白名單。 但是 gcp 沒有 static IP 供我列入白名單。

我想確保我應用了安全最佳實踐,據我所知,將所有 ips 的數據庫列入白名單並不安全。 那么如何在不打開所有ip的情況下做到這一點呢?

您有 2 個解決方案

從這個示例中,我們看到 8.34.208.0/20 和 8.35.192.0/21 IP 范圍都可用於 App Engine 流量。 對任何額外網絡塊的其他查詢可能會返回額外的 IP 范圍。

請注意,使用 static IP 地址過濾不被認為是一種安全有效的保護手段。 例如,攻擊者可以設置一個惡意 App Engine 應用程序,該應用程序可以與您的應用程序共享相同的 IP 地址范圍。 相反,我們建議您使用 OAuth 和證書采取深度防御方法。

  • 您可以執行 VPC 對等互連。 這需要幾件事
  1. 付費訂閱 Mongo Atlas
  2. 創建一個{Mongo Atlas 和您的項目之間的對等互連]( https://docs.atlas.mongodb.com/security-vpc-peering/ )
  3. 創建一個無服務器 VPC 連接器並將其添加到您的 App Engine 以允許它訪問 VPC 上的私有 IP (以及連接到 VPC 的對等連接,例如您的 Mongo Atlas DB)

在創建 VM 時,您可以選擇保留 static IP。

在“創建實例”頁面上,滾動到“網絡”,您會看到 I. 內部 IP II 的選項。 外置 IP

如果您在 Atlas 上運行 M10-Cluster(或更高版本),則 VPC-Peering 是您通往 go 的方式。 我建議嘗試本教程 他們正在解釋將哪些 CIDR 范圍(您稱為 IP)列入白名單。

這里需要注意的一件事是,他們使用的是 GCP Kubernetes 引擎。 使用 App Engine 需要付出一些額外的努力,因為它是 GCP“無服務器”解決方案之一,這就是為什么您不應該使用 static IP 或類似的東西的原因。 您需要通過連接器將您的應用程序連接到 VPC 網絡:

  1. 按照這些說明在與您的 GAE 應用程序相同的區域中創建一個連接器。 您可以使用 gcloud app describe 找出您的 GAE-App 的當前區域。 現在只需為連接器提供范圍10.8.0.0 (自動添加/28 )。 記住你給它起的名字。

  2. 根據您的環境,您的應用程序必須指向該連接器。 在 NodeJS 中,它是您的 app.yaml 文件,它看起來類似於以下內容:

     runtime: nodejs10

     vpc_access_connector:
         name: projects/GCLOUD_PROJECT_ID/locations/REGION_WHERE_GAE_RUNS/connectors/NAME_YOU_ENTERED_IN_STEP_1
  1. Go 到您的 Atlas 項目,導航到網絡訪問並將您在步驟 1 中為連接器設置的 CIDR 范圍列入白名單
  2. 您可能還需要將步驟 1 中的 CIDR 范圍列入 VPC 網絡的白名單。 您可以通過導航到 VPC-Network -> Firewall 在 GCP 中執行此操作

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM