Google-Cloud-Platform

Google Cloud VPC 網路對等互連 - DNS 未共享?

  • September 9, 2018

我有兩個 VPC 網路:

  • 一種

它們通過 VPC 網路對等互連相互連結。來自網路 A 的機器可以通過 IP 訪問來自網路 B 的機器。

但是,它們無法通過內部 dns 名稱(machinea.c.gc-project.internal)相互訪問

根據Google云文件,這是不可能的,說明:

對等網路無法訪問在網路中創建的 Compute Engine 內部 DNS 名稱。應使用 VM 的 IP 地址來訪問對等網路中的 VM 實例。

我該如何解決這個問題,以便他們實際上能夠使用 DNS 名稱?

現在我只是將IP放在了彼此的主機文件中,但是應該有更好的方法,對嗎?

在某種程度上,您已經回答了自己的問題。您是對的,根據您引用的文件,內部 DNS 方案目前在 GCP 上的 VPC 對等互連中不可用。

你有三個選擇。

  1. 像以前一樣使用主機文件。這很容易設置,但隨著環境的增長,維護起來會很複雜,儘管您可以尋求配置管理工具來幫助 - 例如 Ansible - 自動分發和維護更新。
  2. 您可以在 Google Cloud DNS 上部署一個新的 DNS 區域。有關該服務的更多詳細資訊,請點擊此處:Cloud DNS 概述 雖然此服務目前僅適用於公共區域,因此您需要註冊一個域或使用一個已經擁有的域。作為一個公共區域,這些名稱可以在網際網路上解析,這可能是可取的,也可能是不可取的。您還可以使用外部公共 DNS 提供商。
  3. 部署您自己的 DNS 伺服器。你可以在虛擬機上設置 BIND 或類似的東西來充當 DNS 伺服器。您需要更新虛擬機上的 DNS 設置才能使用這些新伺服器,我建議至少部署兩個,例如在每個 VPC 中部署一個,以實現彈性。主要優點是該區域可以是私有的,因此您無需購買域名或在網際網路上公開記錄。當然,您需要維護 DNS 伺服器,這可能是可取的,也可能是不可取的。您也可以執行遠端私有 DNS 伺服器,例如通過 VPN,但我不建議這樣做,因為這樣您會創建對 VPN 連接的硬依賴。

值得補充的是,AWS 和 Azure 都支持私有區域作為其自己的 DNS 服務的一部分,因此 Google 將來會增加對類似服務的支持並非不可想像。

希望有幫助。

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