本頁面提供建立、更新、列出及刪除 Cloud DNS 代管可用區的指示。使用本頁面前,請先熟悉 Cloud DNS 總覽和重要術語。
事前準備
Cloud DNS API 會要求您建立 Cloud DNS 專案並啟用 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 控制台的「總覽」頁面頂端找到 ID。您也可以要求使用者提供他們想在應用程式中使用的專案名稱。
-
用戶端 ID (
如果您之前未執行 Google Cloud CLI,請務必執行下列指令,指定專案名稱並透過 Google Cloud 主控台進行驗證:
gcloud auth login
如果您想在其他專案的 Google Cloud 資源上執行 gcloud
指令,請為此指令和本頁面中的其他 gcloud
指令指定 --project
選項。
建立代管可用區
您建立的每個受管理可用區都會與 Google Cloud 專案建立關聯。以下各節說明如何建立 Cloud DNS 支援的受控區域類型。
建立公開區域
如要建立新的受管理區域,請完成下列步驟。
主控台
前往 Google Cloud 控制台的「Create a DNS zone」頁面。
在「可用區類型」中,選取「公開」。
輸入「Zone name」(可用區名稱),例如
my-new-zone
。使用您擁有的網域名稱來輸入區域的「DNS name」(DNS 名稱) 字尾,區域中的所有記錄都會共用這個後置字串,例如:
example.com
。在「DNSSEC」底下選擇 Off、On 或 Transfer。詳情請參閱「為現有代管區域啟用 DNSSEC」。
按一下「建立」,隨即會顯示「Zone details」(可用區詳細資料) 頁面。
gcloud
請執行 dns managed-zones create
指令。
gcloud dns managed-zones create NAME \ --description=DESCRIPTION \ --dns-name=DNS_SUFFIX \ --labels=LABELS \ --visibility=public
更改下列內容:
NAME
:可用區名稱DESCRIPTION
:區域說明DNS_SUFFIX
:區域的 DNS 後置字串,例如example.com
LABELS
:可選的以半形逗號分隔的鍵/值組合清單,例如dept=marketing
或project=project1
;詳情請參閱 SDK 說明文件
Terraform
API
使用 managedZones.create
方法傳送 POST
要求:
POST https://dns.googleapis.com/dns/v1/projects/PROJECT_ID/managedZones { "name": "NAME", "description": "DESCRIPTION", "dnsName": "DNS_NAME", "visibility": "public" }
更改下列內容:
PROJECT_ID
:建立受管理區域的專案 IDNAME
:可用區名稱DESCRIPTION
:區域說明DNS_NAME
:區域的 DNS 後置字串,例如example.com
建立不公開區域
如要建立新的代管不公開區域,並由 Cloud DNS 管理私人 DNS 記錄,請完成下列步驟。詳情請參閱「Cloud DNS 私人區域的最佳做法」。
主控台
前往 Google Cloud 控制台的「Create a DNS zone」頁面。
在「可用區類型」中,選取「Private」。
輸入可用區名稱,例如
my-new-zone
。輸入私人區域的「DNS name」(DNS 名稱) 字尾,區域中的所有記錄都會共用這個後置字串,例如:
example.private
。選用步驟:新增說明。
在「選項」下方,選取「預設 (私人)」。
選取必須顯示私人區域的虛擬私有雲 (VPC) 網路。只有您選取的虛擬私有雲網路,才有權查詢該區域中的記錄。
按一下 [建立]。
gcloud
請執行 dns managed-zones create
指令。
gcloud dns managed-zones create NAME \ --description=DESCRIPTION \ --dns-name=DNS_SUFFIX \ --networks=VPC_NETWORK_LIST \ --labels=LABELS \ --visibility=private
更改下列內容:
NAME
:可用區名稱DESCRIPTION
:區域說明DNS_SUFFIX
:區域的 DNS 後置字串,例如example.private
VPC_NETWORK_LIST
:以半形逗號分隔的清單,當中列有獲授權查詢區域的 VPC 網路LABELS
:可選的以半形逗號分隔的鍵/值組合清單,例如dept=marketing
或project=project1
;詳情請參閱 SDK 說明文件
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" }, .... ] } }
更改下列內容:
PROJECT_ID
:建立受管理區的專案 IDNAME
:可用區名稱DESCRIPTION
:區域說明DNS_NAME
:區域的 DNS 後置字串,例如example.private
VPC_NETWORK_1
和VPC_NETWORK_2
:同一個專案中可查詢此區域記錄的虛擬私人雲端網路網址。您可以新增多個虛擬私有雲網路,如要判斷虛擬私有雲網路的網址,請使用下列gcloud
指令,並將VPC_NETWORK_NAME
替換為網路名稱:gcloud compute networks describe VPC_NETWORK_NAME \ --format="get(selfLink)"
建立具備特定 IAM 權限的可用區
個別資源代管可用區的 Identity and Access Management (IAM) 權限可讓您為同一個專案下的不同代管可用區設定特定的讀取、寫入或管理員權限。
如需建立具備特定身分與存取權管理 (IAM) 權限的可用區的操作說明,請參閱「建立具備特定 IAM 權限的可用區」。
建立 Service Directory DNS 區域
您可以建立 Service Directory 區域,讓以 Google Cloud為基礎的服務透過 DNS 查詢 Service Directory 命名空間。
如需建立 Service Directory DNS 區域的詳細操作說明,請參閱「設定 Service Directory DNS 區域」。
如需使用 DNS 查詢服務目錄的操作說明,請參閱「使用 DNS 進行查詢」。
Terraform
建立代管型反向查詢私人區域
代管的反向查詢區域是具有特殊屬性的私人區域,可指示 Cloud DNS 針對 Compute Engine DNS 資料執行 PTR 查詢。您必須為 Cloud DNS 設定受管理的反向查詢區域,才能正確解析虛擬機器 (VM) 執行個體的非 RFC 1918 PTR 記錄。
如需建立新的代管反向查詢私人區域的操作說明,請參閱「建立代管反向查詢區域」。
建立轉送可用區
轉送區域可讓您指定特定不公開區域的名稱伺服器。如需建立新的代管不公開轉送區域的操作說明,請參閱「建立轉送區域」。
建立對接可用區
DNS 對等互連功能可讓您將某個區域命名空間送出的記錄要求傳送到另一個虛擬私人雲端網路。如需建立對等互連可用區的操作說明,請參閱「建立對等互連可用區」。
建立跨專案繫結可用區
建立可繫結至同機構中其他專案所擁有網路的代管私人可用區。如要瞭解如何建立跨專案繫結可用區,請參閱「跨專案繫結可用區」。
更新代管區域
Cloud DNS 可讓您修改代管公開區域或 代管私人區域的特定屬性。
更新公開區域
您可以變更公開區域的說明或 DNSSEC 設定。
主控台
前往 Google Cloud 控制台的「Cloud DNS 區域」頁面。
按一下要更新的公開區域。
按一下「Edit」(編輯)
。如要變更 DNSSEC 設定,請在「DNSSEC」下方選取「Off」、「On」或「Transfer」。詳情請參閱「啟用現有代管區域的 DNSSEC」。
選用步驟:更新說明。
按一下 [儲存]。
gcloud
請執行 dns managed-zones update
指令。
gcloud dns managed-zones update NAME \ --description=DESCRIPTION \ --dnssec-state=STATE
更改下列內容:
NAME
:可用區名稱DESCRIPTION
:區域說明STATE
:DNSSEC 設定,例如Off
、On
或Transfer
更新不公開區域
您可以修改可顯示不公開區域的 VPC 網路。
主控台
前往 Google Cloud 控制台的「Cloud DNS 區域」頁面。
按一下要更新的私人區域。
按一下「Edit」(編輯)
。選取不公開區域必須顯示的 VPC 網路。只有所選的 VPC 網路可查詢區域中的記錄。
按一下 [儲存]。
gcloud
請執行 dns managed-zones update
指令。
gcloud dns managed-zones update NAME \ --description=DESCRIPTION \ --networks=VPC_NETWORK_LIST
更改下列內容:
NAME
:可用區名稱DESCRIPTION
:區域說明VPC_NETWORK_LIST
:以半形逗號分隔的清單,當中列有獲授權查詢區域的 VPC 網路
更新標籤
如要在受管理的區域新增、變更、移除所選標籤或清除所有標籤,請完成下列步驟。
gcloud
請執行 dns managed-zones update
指令。
gcloud dns managed-zones update NAME \ --update-labels=LABELS
gcloud dns managed-zones update NAME \ --remove-labels=LABELS
gcloud dns managed-zones update NAME \ --clear-labels
更改下列內容:
NAME
:可用區名稱LABELS
:可選的以半形逗號分隔的鍵/值組合清單,例如dept=marketing
或project=project1
;詳情請參閱 SDK 說明文件
列出代管區域並說明相關資訊
下列各節將說明如何列出或描述受管理的區域。
列出代管可用區
如要列出專案中的所有代管區,請完成下列步驟。
主控台
前往 Google Cloud 控制台的「Cloud DNS 區域」頁面。
在右側窗格中查看受管理的區域。
gcloud
請執行 dns managed-zones list
指令。
gcloud dns managed-zones list
如要列出所有受管理的區域,請將指令修改如下:
gcloud dns managed-zones list
--filter="visibility=public"
gcloud dns managed-zones list \ --filter="visibility=private"
描述代管區域
如要查看受管理區域的屬性,請完成下列步驟。
主控台
前往 Google Cloud 控制台的「Cloud DNS 區域」頁面。
按一下要檢查的區域。
gcloud
請執行 dns managed-zones describe
指令。
gcloud dns managed-zones describe NAME
將 NAME
替換為您的區域名稱。
刪除代管區域
刪除區域後,DNS 記錄會永久移除,無法復原。為避免 DNS 記錄遺失,請在刪除前匯出區域資料。如要瞭解如何匯出區域資料,請參閱「匯入及匯出資源記錄集」。
如要刪除受管理的區域,請完成下列步驟。
主控台
前往 Google Cloud 控制台的「Cloud DNS 區域」頁面。
按一下要刪除的受管理區域。
按一下「刪除儲存區」。
gcloud
移除可用區中的所有記錄,但
SOA
和NS
記錄除外。詳情請參閱「移除記錄」。您可以將空白檔案匯入記錄集,快速清空整個區域。詳情請參閱「匯入及匯出記錄集」。例如:touch empty-file gcloud dns record-sets import -z NAME \ --delete-all-existing \ empty-file rm empty-file
將
NAME
替換為您的區域名稱。如要刪除新的受管理私人可用區,請執行
dns managed-zones delete
指令:gcloud dns managed-zones delete NAME
將
NAME
替換為您的區域名稱。
後續步驟
- 如要找出使用 Cloud DNS 時可能遇到的常見問題解決方案,請參閱「疑難排解」。
- 如要設定 Cloud DNS 伺服器政策,並搭配虛擬私有雲網路使用這些政策,請參閱「套用 Cloud DNS 伺服器政策」。
- 如要搭配 Cloud DNS 使用 IDN,請參閱「使用國際化網域名稱建立可用區」。
- 如要顯示作業稽核記錄,請參閱「查看代管區域的作業」。