這個頁面說明如何建立轉送區域。如需詳細背景資訊,請參閱「轉送區域」一節。
開始之前,請確認您瞭解下列事項:
- 標準轉送與私人轉送之間的差異,如「轉送目標和轉送方法」一節所述
- 傳出 DNS 轉送方法
- 轉送目標的網路需求
- Cloud DNS 轉送區域的最佳做法
如要建立新的代管私人轉送區域,請完成下列步驟。
控制台
前往 Google Cloud 控制台的「Create a DNS zone」(建立 DNS 區域) 頁面。
在「Zone type」(區域類型) 中,選取「Private」(私人)。
輸入區域名稱,例如
my-new-zone。輸入私人區域的 DNS 名稱字尾,區域中的所有記錄都會使用這個字尾。例如:
example.private。選用:新增說明。
在「Options」(選項) 下方,選取「Forward queries to another server」(將查詢轉寄到其他伺服器)。
選取必須顯示私人區域的網路。
如要新增轉送目標,請點按「 Add item」(新增項目)。您可以新增多個 IP 位址,或單一完整網域名稱 (FQDN)。請注意,轉送目標必須是 IP 位址清單或 FQDN,且您無法在同一個區域中同時使用 IP 位址和 FQDN。
如要強制使用私人轉送將項目傳送至轉送目標,請在「Private forwarding」(私人轉送) 下方勾選「Enable」(啟用) 核取方塊。
點按「Create」(建立)。
gcloud
請執行 dns managed-zones create 指令。
gcloud dns managed-zones create NAME \
--description=DESCRIPTION \
--dns-name=DNS_SUFFIX \
--networks=VPC_NETWORK_LIST \
--forwarding-targets=FORWARDING_TARGETS_LIST \
--private-forwarding-targets=PRIVATE_FORWARDING_TARGETS_LIST \
--visibility=private
更改下列內容:
NAME:區域名稱DESCRIPTION:區域說明DNS_SUFFIX:區域的 DNS 尾碼,例如example.privateVPC_NETWORK_LIST:以半形逗號分隔的虛擬私有雲網路清單,這些網路必須有權查詢區域FORWARDING_TARGETS_LIST:以半形逗號分隔的 IP 位址清單,或傳送查詢的單一完整網域名稱。網域名稱會解析為 IP 位址。使用這個旗標指定的 RFC 1918 IP 位址,必須位於虛擬私有雲網路,或是使用 Cloud VPN 或 Cloud Interconnect 連線到 Google Cloud的地端部署網路。使用這個旗標指定的非 RFC 1918 IP 位址必須可以透過網際網路存取PRIVATE_FORWARDING_TARGETS_LIST:以半形逗號分隔的 IP 位址清單,或傳送查詢的單一完整網域名稱。網域名稱會解析為 IP 位址。使用這個旗標指定的任何 IP 位址,都必須位於虛擬私有雲網路,或是使用 Cloud VPN 或 Cloud Interconnect 連線到 Google Cloud 的地端部署網路
Terraform
API
使用 managedZones.create 方法傳送 POST 要求:
POST https://dns.googleapis.com/dns/v1/projects/PROJECT_ID/managedZones
{
"name": "NAME",
"description": "DESCRIPTION",
"dnsName": "DNS_NAME",
"visibility": "private"
"privateVisibilityConfig": {
"kind": "dns#managedZonePrivateVisibilityConfig",
"networks": [{
"kind": "dns#managedZonePrivateVisibilityConfigNetwork",
"networkUrl": VPC_NETWORK_1
},
{
"kind": "dns#managedZonePrivateVisibilityConfigNetwork",
"networkUrl": VPC_NETWORK_2
},
....
]
},
"forwardingConfig": {
"kind": "dns#managedZoneForwardingConfig",
"targetNameServers": [{
"kind": "dns#managedZoneForwardingConfigNameServerTarget",
"ipv4Address": FORWARDING_TARGET_1
},
{
"kind": "dns#managedZoneForwardingConfigNameServerTarget",
"ipv4Address": FORWARDING_TARGET_2
},
....
]
},
}
更改下列內容:
PROJECT_ID:要在當中建立代管區域的專案 IDNAME:區域名稱DESCRIPTION:區域說明DNS_NAME:區域的 DNS 尾碼,例如example.privateVPC_NETWORK_1和VPC_NETWORK_2:位於同一專案中的虛擬私有雲網路網址,這些虛擬私有雲網路能夠查詢此區域中的記錄。您可以依照指引,新增多個虛擬私有雲網路。如要確定虛擬私有雲網路的網址,請使用下列gcloud指令描述網路,並將VPC_NETWORK_NAME替換成網路名稱:gcloud compute networks describe VPC_NETWORK_NAME
--format="get(selfLink)"FORWARDING_TARGET_1和FORWARDING_TARGET_2:轉送目標名稱伺服器的 IP 位址,或單一完整網域名稱。您可以依照指引,新增多個 IP 位址。這裡指定的 RFC 1918 IP 位址必須位於虛擬私有雲網路,或是使用 Cloud VPN 或 Cloud Interconnect 連線至 Google Cloud 的地端部署網路。使用這個旗標指定的非 RFC 1918 IP 位址必須可以透過網際網路存取
轉送目標網路需求
Cloud DNS 將要求傳送至轉送目標時,會傳送封包,來源範圍請見下方表格。
| 轉送目標類型 | 來源範圍 |
|---|---|
第 1 類目標 有權使用轉送區域的「相同」虛擬私有雲網路中, Google Cloud VM 的內部 IP 位址或內部直通網路負載平衡器。 第 2 類目標 地端部署系統的 IP 位址,使用 Cloud VPN 或 Cloud Interconnect 連線至有權使用轉送區域的虛擬私有雲網路。 如要進一步瞭解支援的 IP 位址,請參閱「轉送目標和轉送方法」一節。 |
Cloud DNS 對所有客戶皆使用 |
第 3 類目標 可透過網際網路存取的 DNS 名稱伺服器外部 IP 位址,「或是」 Google Cloud 資源的外部 IP 位址,例如其他虛擬私有雲網路中 VM 的外部 IP 位址。 |
Google 公用 DNS 來源範圍 |
第 4 類目標 目標名稱伺服器的完整網域名稱,可透過 虛擬私有雲網路解析順序解析為 IPv4 和 IPv6 位址。網域名稱最多可解析為 50 個 IP 位址。 解析的 IP 位址可以是第 1 類到第 3 類目標類型。 |
視解析的 IP 位址而定,來源範圍可能是下列其中之一:
|
第 1 類和第 2 類目標
如要存取第 1 類或第 2 類目標,Cloud DNS 必須符合下列條件。無論是目標為 RFC 1918 IP 位址且您使用標準轉送,還是選擇私人轉送,這些規定都相同:
35.199.192.0/19的防火牆設定如果是第 1 類目標,請為 TCP 和 UDP 通訊埠
53流量建立允許防火牆規則的輸入流量,適用於每個授權虛擬私有雲網路中的轉送目標。如果是第 2 類目標,請設定地端部署網路防火牆和類似設備,允許 TCP 和 UDP 通訊埠53。轉送目標路由
如果是第 1 類目標,Cloud DNS 會使用子網路路由,在有權使用轉送區域的虛擬私有雲網路中存取目標。如果是第 2 類名稱目標,Cloud DNS 會使用自訂動態或自訂靜態路由 (不包含標記的靜態路由) 存取轉送目標。
透過相同虛擬私有雲網路將路由傳回
35.199.192.0/19如果是第 1 類目標, Google Cloud 會使用特殊轉送路徑將流量轉送至
35.199.192.0/19目的地。如果是第 2 類目標,您的地端部署網路必須具有35.199.192.0/19目的地的路由,且下一個躍點位於要求來源的相同虛擬私有雲網路中,並透過 Cloud VPN 通道或 Cloud Interconnect 的 VLAN 連結轉送。想瞭解如何遵循這項規定,請參閱「第 2 類目標的傳回路由策略」一節。由目標直接回應
Cloud DNS 規定接收封包的轉送目標必須是傳送回覆給
35.199.192.0/19的目標。如果轉送目標將要求傳送至「不同」的名稱伺服器,而「其他」名稱伺服器回應了35.199.192.0/19,Cloud DNS 會忽略該回應。基於安全考量, Google Cloud 預期每個目標名稱伺服器的 DNS 回覆來源位址,都必須與轉送目標的 IP 位址相符。
第 2 類目標的傳回路徑策略
Cloud DNS「無法」透過網際網路或不同的虛擬私有雲網路,傳送來自第 2 類轉送目標的回應。回應「必須」傳回同一個虛擬私有雲網路,但可以使用該網路中的任何 Cloud VPN 通道或 VLAN 連結。
- 如果是使用靜態轉送的 Cloud VPN 通道,請在地端部署網路中手動建立路由,將目的地設為
35.199.192.0/19,下一個躍點設為 Cloud VPN 通道。如果是使用策略路由的 Cloud VPN 通道,請設定 Cloud VPN 的本機流量選取器和地端部署 VPN 閘道的遠端流量選取器,加入35.199.192.0/19。 - 如果 Cloud VPN 通道使用動態轉送或 Cloud Interconnect,請在管理通道或 VLAN 連結的 Cloud Router 的 BGP 工作階段中,為
35.199.192.0/19設定自訂路由 advertisement。
第 3 類目標
當 Cloud DNS 使用標準轉送存取外部 IP 位址時,會預設轉送目標是網際網路上的系統、可公開存取,或是 Google Cloud 資源的外部 IP 位址。
舉例來說,第 3 類目標包含不同虛擬私有雲網路中 VM 的外部 IP 位址。
系統不支援私人轉送至第 3 類目標。
第 4 類目標
第 4 類目標會先解析目標的 IP 位址。解析的轉送目標最多可解析為 50 個 IP 位址,包括 IPv4 和 IPv6 位址。取決於已解析轉送目標的網路,第 4 類目標的網路規定會比照第 1、第 2 或第 3 類目標。
如要進一步瞭解使用 FQDN 做為轉送目標的其他規定,請參閱「使用轉送區域」一節。
後續步驟
- 如要使用代管區域,請參閱「建立、修改及刪除區域」一文。
- 如要瞭解使用 Cloud DNS 時可能遇到的常見問題解決方案,請參閱這篇文章。
- 如要查看 Cloud DNS 總覽,請參閱這篇文章。