本頁面說明如何設定 DNS 伺服器政策,並搭配虛擬私有雲 (VPC) 網路使用這些政策。使用這個頁面之前,請先詳閱 DNS 伺服器政策總覽。
事前準備
Cloud DNS API 會要求您建立 Google Cloud 專案,並啟用 Cloud DNS API。
如果您建立的應用程式會使用 REST API,還須建立 OAuth 2.0 用戶端 ID。
- 如果您還沒有 Google 帳戶,請註冊 Google 帳戶。
- 在 Google Cloud 控制台中啟用 Cloud DNS API。您可以選擇現有的 Compute Engine 或 App Engine 專案,也可以建立新的專案。
- 如需向 REST API 發出要求,必須建立 OAuth 2.0 ID,請參閱「設定 OAuth 2.0」。
- 請注意,在專案的後續步驟中,您需輸入下列資訊:
-
用戶端 ID (
xxxxxx.apps.googleusercontent.com)。 - 要使用的專案 ID。您可以在 Google Cloud 控制台的「Overview」(總覽) 頁面頂端找到這個 ID。此外,也能要求使用者提供想在應用程式中使用的專案名稱。
-
用戶端 ID (
如果您先前沒有執行過 Google Cloud CLI,請執行下列指令,指定專案名稱並透過 Google Cloud 控制台驗證:
gcloud auth login
如要選擇與先前不同的專案,請在指令列中指定 --project 選項。
建立 DNS 伺服器政策
每個 DNS 伺服器政策物件都可以定義下列任何伺服器政策:
- 傳入 DNS 伺服器政策,用於啟用傳入轉送
- 傳出 DNS 伺服器政策,用於指定一或多個替代名稱伺服器
- 傳入和傳出 DNS 伺服器政策
- DNS64 伺服器政策
每個虛擬私有雲網路最多只能參照一個 DNS 伺服器政策。如要為虛擬私有雲網路定義傳入及傳出轉送,請建立一個政策,同時定義傳入和傳出政策。您無法使用傳入 DNS 伺服器政策設定 DNS64。
建立傳入 DNS 伺服器政策
如要建立傳入 DNS 伺服器政策,請按照下列說明操作。Cloud DNS 會在政策適用的每個 VPC 網路中,透過子網路的主要 IPv4 位址範圍,建立一組「傳入轉送站 IP 位址」。建立政策後,您可以列出 Cloud DNS 建立的進入點。
控制台
在 Google Cloud 控制台中,開啟「Cloud DNS server policies」(Cloud DNS 伺服器政策) 頁面。
點選「Create policy」(建立政策)。
在「Name」(名稱) 欄位中,輸入要建立的傳入 DNS 伺服器政策名稱,例如
inbound-dns-server-policy。在「Inbound query forwarding」(傳入查詢轉送) 部分,選取「On」(開啟)。
您可以選擇啟用 DNS64,讓僅支援 IPv6 的工作負載與僅支援 IPv4 的目的地通訊。詳情請參閱「設定 DNS64」。
您可以在「Logs」(記錄) 部分選擇啟用私人 DNS 記錄,但這可能會導致 Cloud Logging 的費用增加。
在「Networks」(網路) 清單中,選取要繫結至這項 DNS 伺服器政策的虛擬私有雲網路。
每個網路只能繫結至單一政策。如果無法從清單中選取網路,表示該網路已用於另一個政策。如要查看政策使用的網路,請在「DNS server policies」(DNS 伺服器政策) 頁面中,查看「In use by」(使用政策的網路) 一欄。
點選「Create」(建立)。
gcloud
如要建立傳入 DNS 伺服器政策,請執行 dns policies
create 指令:
gcloud dns policies create NAME \
--description="DESCRIPTION" \
--networks="VPC_NETWORK_LIST" \
--enable-inbound-forwarding
更改下列內容:
NAME:政策名稱DESCRIPTION:政策說明VPC_NETWORK_LIST:以半形逗號分隔的虛擬私有雲網路清單,DNS 伺服器政策必須繫結至這些網路
Terraform
建立傳出 DNS 伺服器政策
如要為虛擬私有雲網路指定替代名稱伺服器清單,可以建立傳出 DNS 伺服器政策。
控制台
在 Google Cloud 控制台中,開啟「Cloud DNS server policies」(Cloud DNS 伺服器政策) 頁面。
點選「Create policy」(建立政策)。
在「Name」(名稱) 欄位中,輸入要建立的傳出 DNS 伺服器政策名稱,例如
outbound-dns-server-policy。在「Inbound query forwarding」(傳入查詢轉送) 部分,選取「Off」(關閉)。
您可以在「Logs」(記錄) 部分選擇啟用私人 DNS 記錄,但這可能會導致 Cloud Logging 的費用增加。
在「Alternative DNS servers (Optional)」(替代 DNS 伺服器 (選用)) 部分,按一下「Add item」(新增項目),然後在「IP Address」(IP 位址) 欄位中輸入傳出 DNS 伺服器的 IP 位址。
- 如要強制使用私人轉送功能將項目傳送至傳出 DNS 伺服器,請勾選「Private forwarding」(私人轉送) 核取方塊。
在「Networks」(網路) 清單中,選取要繫結至這項 DNS 伺服器政策的虛擬私有雲網路。
點選「Create」(建立)。
gcloud
如要建立傳出 DNS 伺服器政策,請執行 dns policies
create 指令:
gcloud dns policies create NAME \
--description="DESCRIPTION" \
--networks="VPC_NETWORK_LIST" \
--alternative-name-servers="ALTERNATIVE_NAMESERVER_LIST" \
--private-alternative-name-servers="PRIVATE_ALTERNATIVE_NAMESERVER_LIST"
更改下列內容:
NAME:政策名稱DESCRIPTION:政策說明VPC_NETWORK_LIST:以半形逗號分隔的虛擬私有雲網路清單,這些網路會查詢替代名稱伺服器ALTERNATIVE_NAMESERVER_LIST:以半形逗號分隔的 IP 位址清單,這些位址可設為替代名稱伺服器PRIVATE_ALTERNATIVE_NAMESERVER_LIST:以半形逗號分隔的 IP 位址清單,這些位址可設為替代名稱伺服器,並透過私人轉送功能存取
Terraform
為傳入和傳出轉送功能 DNS 建立伺服器政策
控制台
在 Google Cloud 控制台中,開啟「Cloud DNS server policies」(Cloud DNS 伺服器政策) 頁面。
點選「Create policy」(建立政策)。
在「Name」(名稱) 欄位中,輸入要建立的傳入 DNS 伺服器政策名稱,例如
inbound-outbound-dns-server-policy。在「Inbound query forwarding」(傳入查詢轉送) 部分,選取「On」(開啟)。
您可以在「Logs」(記錄) 部分選擇啟用私人 DNS 記錄,但這可能會導致 Cloud Logging 的費用增加。
在「Alternative DNS servers (Optional)」(替代 DNS 伺服器 (選用)) 部分,按一下「Add item」(新增項目),然後在「IP Address」(IP 位址) 欄位中輸入傳出 DNS 伺服器的 IP 位址。
- 如要強制使用私人轉送功能將項目傳送至傳出 DNS 伺服器,請選取「Private forwarding」(私人轉送)。
在「Networks」(網路) 清單中,選取要繫結至這項 DNS 伺服器政策的虛擬私有雲網路。
點選「Create」(建立)。
gcloud
如要為傳入和傳出轉送功能建立 DNS 伺服器政策,請執行 dns policies create 指令:
gcloud dns policies create NAME \
--description="DESCRIPTION" \
--networks="VPC_NETWORK_LIST" \
--alternative-name-servers="ALTERNATIVE_NAMESERVER_LIST" \
--private-alternative-name-servers="PRIVATE_ALTERNATIVE_NAMESERVER_LIST" \
--enable-inbound-forwarding
更改下列內容:
NAME:政策名稱DESCRIPTION:政策說明VPC_NETWORK_LIST:以半形逗號分隔的虛擬私有雲網路清單,必須在這些網路中建立傳入轉送位址,並查詢替代名稱伺服器ALTERNATIVE_NAMESERVER_LIST:以半形逗號分隔的 IP 位址清單,這些位址可設為替代名稱伺服器PRIVATE_ALTERNATIVE_NAMESERVER_LIST:以半形逗號分隔的 IP 位址清單,這些位址可設為替代名稱伺服器,並透過私人轉送功能存取
Terraform
列出傳入轉送站進入點
將傳入 DNS 伺服器政策套用至虛擬私有雲網路時,Cloud DNS 會建立一組區域性內部 IP 位址做為目的地,供地端部署系統或名稱解析器傳送 DNS 查詢。這些位址是虛擬私有雲網路名稱解析順序的進入點。
Google Cloud 防火牆規則「不會」套用至設為傳入轉送站進入點的區域性內部位址。Cloud DNS 會自動接受通訊埠 53 上的 TCP 和 UDP 流量。
每個傳入轉送站都會接受並接收來自 Cloud VPN 通道或 Cloud Interconnect 連結 (VLAN) 的查詢,這些通道或連結與區域性內部 IP 位址位於相同區域。VM 執行個體可透過相同虛擬私有雲網路中的任何內部 IP 位址,存取傳入轉送站。如要存取傳入轉送功能,網路介面必須有外部 IP 位址,或是 NIC 的子網路必須啟用 Private Google Access。
控制台
查看政策的傳入轉送站進入點清單:
在 Google Cloud 控制台中,開啟「Cloud DNS server policies」(Cloud DNS 伺服器政策) 頁面。
按一下政策名稱。
在「Policy details」(政策詳細資料) 頁面中,按一下「In use by」(使用政策的網路) 分頁標籤。
繫結至政策的每個網路,都會列出「Inbound query forwarding IP」(傳入查詢轉送 IP) 位址。
gcloud
如要列出設為所有傳入轉送政策進入點的區域性內部 IP 位址集,請執行 compute addresses
list 指令:
gcloud compute addresses list \
--filter='purpose = "DNS_RESOLVER"' \
--format='csv(address, region, subnetwork)'
更新 DNS 政策
以下各節提供變更虛擬私有雲網路,以及啟用或停用傳入轉送功能的相關資訊。
變更虛擬私有雲網路
變更 DNS 政策適用的虛擬私有雲網路清單時,會發生下列情況:
- 如果政策指定了傳入政策,系統會視需要,在虛擬私有雲網路中建立傳入轉送站的進入點。
如果政策指定了傳出政策,系統會更新每個虛擬私有雲網路的名稱解析順序,納入指定的替代名稱伺服器。
控制台
在 Google Cloud 控制台中,開啟「Cloud DNS server policies」(Cloud DNS 伺服器政策) 頁面。
按一下要變更的政策名稱。
點選 「Edit policy」(編輯政策)。
在「Networks」(網路) 清單中,勾選或取消勾選虛擬私有雲網路旁的核取方塊。
按一下「Save」(儲存)。
gcloud
如要修改 DNS 伺服器政策適用的網路清單,請執行 dns policies update 指令:
gcloud dns policies update NAME \
--networks="VPC_NETWORK_LIST"
更改下列內容:
NAME:政策名稱VPC_NETWORK_LIST:以半形逗號分隔的虛擬私有雲網路清單,這些網路適用於該政策;您指定的虛擬私有雲網路清單會取代先前的清單
啟用或停用傳入轉送功能
您可以為只定義了傳出政策 (替代名稱伺服器) 的 DNS 伺服器政策,啟用傳入轉送功能,也可以為現有的 DNS 政策停用傳入轉送功能。
控制台
為 DNS 伺服器政策啟用傳入轉送功能:
在 Google Cloud 控制台中,開啟「Cloud DNS server policies」(Cloud DNS 伺服器政策) 頁面。
按一下要變更的政策名稱。
點選 「Edit policy」(編輯政策)。
在「Inbound query forwarding」(傳入查詢轉送) 部分,選取「On」(開啟)。
按一下「Save」(儲存)。
為 DNS 伺服器政策停用傳入轉送功能:
- 開啟「Cloud DNS server policies」(Cloud DNS 伺服器政策) 頁面。
- 按一下要變更的政策名稱。
- 點選 「Edit policy」(編輯政策)。
- 在「Inbound query forwarding」(傳入查詢轉送) 部分,選取「Off」(關閉)。
- 按一下「Save」(儲存)。
gcloud
如要為 DNS 伺服器政策啟用傳入轉送功能,請執行 dns policies
update 指令:
gcloud dns policies update NAME \
--enable-inbound-forwarding
如要為 DNS 伺服器政策停用傳入轉送功能,請指定 --no-enable-inbound-forwarding 旗標:
gcloud dns policies update NAME \
--no-enable-inbound-forwarding
將 NAME 替換為政策名稱。
列出 DNS 政策
控制台
在 Google Cloud 控制台中,開啟「Cloud DNS server policies」(Cloud DNS 伺服器政策) 頁面。
系統會列出專案中建立的所有 DNS 伺服器政策。
gcloud
如要列出專案中的 DNS 伺服器政策,請執行 dns policies
list 指令:
gcloud dns policies list
刪除 DNS 政策
控制台
如要刪除 DNS 伺服器政策,該政策不得繫結至任何網路。請更新政策,先移除所有網路,再刪除政策。
在 Google Cloud 控制台中,開啟「Cloud DNS server policies」(Cloud DNS 伺服器政策) 頁面。
找到要刪除的政策,按一下名稱旁的 「Delete」(刪除)。
gcloud
如要刪除 DNS 伺服器政策,請執行 dns policies
delete 指令:
gcloud dns policies delete NAME
將 NAME 替換為要刪除的政策名稱。