這個頁面說明如何新增、更新及刪除資源記錄集。
如要查看支援的資源記錄類型清單,請參閱「DNS 記錄總覽」。
事前準備
您必須先擁有或建立代管區域,才能建立資源記錄集。如要瞭解如何建立代管區域 (您可以在其中建立資源記錄集),請參閱「建立代管區域」。
新增資源記錄集
請按照下列步驟新增資源記錄集:
控制台
前往 Cloud de Confiance 控制台的「Cloud DNS zones」(Cloud DNS 區域) 頁面。
按一下要新增記錄的代管區域名稱。
在「Zone details」(區域詳細資料) 頁面中,按一下「Add standard」(新增標準)。
在「Create record set」(建立記錄集) 頁面的「DNS Name」(DNS 名稱) 欄位中,輸入 DNS 區域的子網域,例如
mail。系統會自動在結尾處加上點號。如要建立萬用字元 DNS 記錄,請輸入星號,例如
*.example.com。@ 字元不會動建立頂端節點記錄。 如要在網域頂層節點建立資源記錄,請將「DNS name」(DNS 名稱) 欄位留空。
選取「Resource record type」(資源記錄類型),例如
MX。在「TTL」(存留時間) 欄位中,輸入資源記錄存留時間的數字值,也就是記錄可快取的時間。這個值必須是正整數
從「TTL unit」(TTL 單位) 選單中選取時間單位,例如
minutes。視您選取的資源記錄類型而定,填入剩餘欄位。
如要輸入其他資訊,請按一下「Add item」(新增項目)。
點按「Create」(建立)。
gcloud
使用 gcloud dns record-sets create 指令新增資源記錄集:
gcloud dns record-sets create RRSET_NAME \
--rrdatas=RR_DATA \
--ttl=TTL \
--type=RRSET_TYPE \
--zone=MANAGED_ZONE
更改下列內容:
RRSET_NAME:與這個區域的 DNS 名稱相符的 DNS 名稱,做為傳入查詢的後置字串,例如test.example.comRR_DATA:與資源記錄集相關聯的任意值,例如198.51.100.5。您也可以輸入多個值 (rrdata1rrdata2rrdata3),例如198.51.100.510.2.3.4...TTL:解析器快取這個資源記錄集的存留時間 (以秒為單位),例如30RRSET_TYPE:這個資源記錄集的資源記錄類型,例如AMANAGED_ZONE:這個資源記錄集所屬的代管區域,例如my-zone-name。這個資源記錄集的名稱必須使用代管區域的 DNS 名稱做為後置字串
API
使用 resourceRecordSets.create 方法即可新增資源記錄集:
POST https://dns.googleapis.com/dns/v1/projects/PROJECT_ID/managedZones/MANAGED_ZONE/rrsets
{
"name": "RRSET_NAME",
"type": "RRSET_TYPE",
"ttl": TTL,
"rrdatas": [ RR_DATA ]
}
更改下列內容:
PROJECT_ID:專案 IDMANAGED_ZONE:這個資源記錄集所屬的代管區域,例如my-zone-name。這個資源記錄集的名稱必須使用代管區域的 DNS 名稱做為後置字串RRSET_NAME:與這個區域的 DNS 名稱相符的 DNS 名稱,做為傳入查詢的後置字串,例如test.example.comRRSET_TYPE:這個資源記錄集的資源記錄類型,例如ATTL:解析器快取這個資源記錄集的存留時間 (以秒為單位),例如30RR_DATA:與資源記錄集相關聯的任意值,例如"198.51.100.5"。您也可以半形逗號分隔方式輸入多個值,例如"198.51.100.5","10.2.3.4"
Terraform
在交易中新增資源記錄集
您可以建立指定變更的交易,藉此新增多個資源記錄集。交易是指包含一或多項 DNS 記錄變更的群組,必須以單元形式套用。整個交易不是成功就是失敗,確保您的資料絕不會處於不一致的狀態。您只能使用 gcloud CLI 或 Cloud DNS API 建立交易。
如要建立交易,請按照下列步驟操作:
gcloud
使用
gcloud dns record-sets transaction start指令即可開始交易:gcloud dns record-sets transaction start \ --zone=MANAGED_ZONE
將
MANAGED_ZONE替換成要管理資源記錄集的代管區域名稱,例如my-zone-name。使用
gcloud dns record-sets transaction add指令,將資源記錄集新增為交易的一部分:gcloud dns record-sets transaction add RR_DATA \ --name=DNS_NAME \ --ttl=TTL \ --type=RECORD_TYPE \ --zone=MANAGED_ZONE
更改下列內容:
RR_DATA:與資源記錄集相關聯的任意值,例如198.51.100.5。您也可以輸入多個值 (rrdata1rrdata2rrdata3),例如198.51.100.510.2.3.4...DNS_NAME:要新增的記錄集 DNS 或網域名稱,例如test.example.comTTL:記錄集的存留時間 (TTL),以秒為單位,例如300RECORD_TYPE:記錄類型,例如AMANAGED_ZONE:要管理的資源記錄集所屬的代管區域名稱,例如my-zone-name
使用
gcloud dns record-sets transaction execute指令來執行交易:gcloud dns record-sets transaction execute \ --zone=MANAGED_ZONE
使用
gcloud dns record-sets transaction add指令來新增萬用字元交易:gcloud dns record-sets transaction add \ --zone=MANAGED_ZONE \ --name=WILDCARD_DNS_NAME \ --type=RECORD_TYPE \ --ttl=TTL
更改下列內容:
MANAGED_ZONE:要管理的資源記錄集所屬的代管區域名稱,例如my-zone-nameWILDCARD_DNS_NAME:要新增的資源記錄集的 DNS 或網域名稱,例如*.example.com.(請注意結尾處的點號)RECORD_TYPE:記錄類型,例如CNAMETTL:記錄集的存留時間,以秒為單位,例如300
API
使用 changes.create 方法即可建立包含新資源記錄集的交易:
POST https://dns.googleapis.com/dns/v1/projects/PROJECT_ID/managedZones/MANAGED_ZONE/changes
{
"deletions": []
"additions": [
{
"name": DNS_NAME,
"type": RECORD_TYPE,
"ttl": TTL,
"rrdatas": [
RR_DATA
]
}
]
}
更改下列內容:
PROJECT_ID:您的專案 IDMANAGED_ZONE:代管區域名稱或 IDDNS_NAME:記錄集的 DNS 或網域名稱,例如test.example.com.(請注意結尾處的點號)RECORD_TYPE:記錄類型TTL:記錄集的存留時間 (TTL),以秒為單位,例如30RR_DATA:與資源記錄集相關聯的任意值,例如198.51.100.5。您也可以輸入多個值 (rrdata1rrdata2rrdata3),例如198.51.100.510.2.3.4...
如要將電子郵件傳送到網域,請在區域中新增 MX 記錄。假如您使用 Google Workspace 做為簡易郵件傳輸通訊協定 (SMTP) 供應商,請參閱「設定 Google Workspace 的 MX 記錄」一文。否則,請使用供應商提供的 MX 記錄詳細資料,並完成 Google Workspace 所述的設定程序。
查看區域的資源記錄集
如要查看區域的資源記錄集,請按照下列步驟操作:
控制台
前往 Cloud de Confiance 控制台的「Cloud DNS」頁面。
在「Zones」(區域) 分頁中,點按要查看資源記錄集的區域。
「Zone details」(區域詳細資料) 頁面會顯示該區域中所有資源記錄集的詳細資料。
gcloud
使用 gcloud dns record-sets list 指令來查看區域的 DNS 記錄:
gcloud dns record-sets list \ --zone="ZONE_NAME"
將 ZONE_NAME 替換成專案中的 DNS 區域名稱。
此指令會以含有前 100 筆記錄的資源記錄集,輸出 JSON 回應。您可以指定下列額外參數:
--limit:要列出的記錄集數量上限--name:只列出使用這個確切網域名稱的資源記錄集--type:只列出這類記錄。如果存在,也必須存在--name參數
API
使用 resourceRecordSets.list 方法即可查看區域的 DNS 記錄:
GET https://dns.googleapis.com/dns/v1/projects/PROJECT_ID/managedZones/MANAGED_ZONE/rrsets
更改下列內容:
PROJECT_ID:專案 IDMANAGED_ZONE:這個資源記錄集所屬的代管區域,例如my-zone-name。這個資源記錄集的名稱必須使用代管區域的 DNS 名稱做為後置字串
查看資源記錄集詳細資料
這項程序假設您已在代管的 Cloud DNS 區域中建立資源記錄集。
如要查看現有資源記錄集的詳細資料,請按照下列步驟操作:
控制台
前往 Cloud de Confiance 控制台的「Cloud DNS zones」(Cloud DNS 區域) 頁面。
按一下包含資源記錄集的區域。
按一下要查看詳細資料的資源記錄集。
「Resource record set details」(資源記錄集詳細資料) 頁面會顯示資源記錄集的詳細資料。
gcloud
使用 gcloud dns record-sets describe 指令來查看現有資源記錄集的詳細資料:
gcloud dns record-sets describe RRSET_NAME \ --type=RRSET_TYPE \ --zone=MANAGED_ZONE
更改下列內容:
RRSET_NAME:與這個區域的 DNS 名稱相符的 DNS 名稱,做為傳入查詢的後置字串,例如test.example.comRRSET_TYPE:這個資源記錄集的資源記錄類型,例如AMANAGED_ZONE:這個資源記錄集所屬的代管區域,例如my-zone-name。這個資源記錄集的名稱必須使用代管區域的 DNS 名稱做為後置字串
API
使用 resourceRecordSets.get 方法即可取得現有資源記錄集的詳細資料:
GET https://dns.googleapis.com/dns/v1/projects/PROJECT_ID/managedZones/MANAGED_ZONE/rrsets/RRSET_NAME/RRSET_TYPE
更改下列內容:
PROJECT_ID:專案 IDMANAGED_ZONE:這個資源記錄集所屬的代管區域,例如my-zone-name。這個資源記錄集的名稱必須使用代管區域的 DNS 名稱做為後置字串RRSET_NAME:與這個區域的 DNS 名稱相符的 DNS 名稱,做為傳入查詢的後置字串,例如test.example.comRRSET_TYPE:這個資源記錄集的記錄類型,例如A
更新資源記錄集
如要修改記錄集,請按照下列步驟操作:
控制台
如要為現有的資源記錄集套用部分更新,請按照下列步驟操作:
前往 Cloud de Confiance 控制台的「Cloud DNS 區域」頁面。
按一下要更新資源記錄集的區域。
在「Zone details」(區域詳細資料) 頁面中,按一下要更新的資源記錄集旁邊的「編輯」圖示 edit。
進行必要更新後,按一下「Save」(儲存)。
gcloud
使用 gcloud dns record-sets update 指令即可為現有的資源記錄集套用部分更新:
gcloud dns record-sets update RRSET_NAME \
--rrdatas=RR_DATA \
--ttl=TTL \
--type=RRSET_TYPE \
--zone=MANAGED_ZONE
更改下列內容:
RRSET_NAME:與這個區域的 DNS 名稱相符的 DNS 名稱,做為傳入查詢的後置字串,例如test.example.comRR_DATA:與資源記錄集相關聯的任意值,例如198.51.100.5。您也可以輸入多個值 (rrdata1rrdata2rrdata3),例如198.51.100.510.2.3.4...TTL:解析器快取這個資源記錄集的存留時間 (以秒為單位),例如30RRSET_TYPE:這個資源記錄集的資源記錄類型,例如AMANAGED_ZONE:這個資源記錄集所屬的代管區域,例如my-zone-name。這個資源記錄集的名稱必須使用代管區域的 DNS 名稱做為後置字串
API
使用 resourceRecordSets.patch 方法即可為現有的資源記錄集套用部分更新:
PATCH https://dns.googleapis.com/dns/v1/projects/PROJECT_ID/managedZones/MANAGED_ZONE/rrsets/RRSET_NAME/RRSET_TYPE
{
"ttl": TTL,
"rrdatas": RR_DATA,
"update_mask": {
"paths": ["rrset.ttl", "rrset.rrdatas"]
}
}
更改下列內容:
PROJECT_ID:專案 IDMANAGED_ZONE:這個資源記錄集所屬的代管區域,例如my-zone-name。這個資源記錄集的名稱必須使用代管區域的 DNS 名稱做為後置字串RRSET_NAME:與這個區域的 DNS 名稱相符的 DNS 名稱,做為傳入查詢的後置字串,例如test.example.comRRSET_TYPE:這個資源記錄集的資源記錄類型,例如ATTL:解析器快取這個資源記錄集的存留時間 (以秒為單位),例如30RR_DATA:與資源記錄集相關聯的任意值,例如198.51.100.5。您也可以輸入多個值 (rrdata1rrdata2rrdata3),例如198.51.100.510.2.3.4...
刪除資源記錄集
如果刪除資源記錄集,系統會永久移除其 DNS 記錄,且無法復原。為避免 DNS 記錄遺失,請先匯出資源記錄集再刪除。想瞭解如何匯出資源記錄集,請參閱「匯入及匯出資源記錄集」一節。
Cloud DNS 會在區域頂端節點自動建立 NS 和 SOA 記錄。這些記錄無法使用 Cloud DNS API 刪除,但會在區域刪除後自動刪除。詳情請參閱 RFC 1034。
如要刪除資源記錄集,請按照下列步驟操作:
控制台
前往 Cloud de Confiance 控制台的「Cloud DNS」頁面。
區域的記錄會列於「Zone details」(區域詳細資料) 頁面。
按一下區域名稱,以便刪除區域中的資源記錄集。
在要刪除的資源記錄集旁,勾選核取方塊。
按一下「Delete record sets」(刪除記錄集)。
gcloud
使用 gcloud dns record-sets delete 指令即可刪除現有的資源記錄集:
gcloud dns record-sets delete RRSET_NAME \
--type=RRSET_TYPE \
--zone=MANAGED_ZONE
更改下列內容:
RRSET_NAME:與這個區域的 DNS 名稱相符的 DNS 名稱,做為傳入查詢的後置字串,例如test.example.comRRSET_TYPE:這個資源記錄集的資源記錄類型,例如AMANAGED_ZONE:這個資源記錄集所屬的代管區域,例如my-zone-name。這個資源記錄集的名稱必須使用代管區域的 DNS 名稱做為後置字串
API
使用 resourceRecordSets.delete 方法即可刪除現有的資源記錄集:
DELETE https://dns.googleapis.com/dns/v1/projects/PROJECT_ID/managedZones/MANAGED_ZONE/rrsets/RRSET_NAME/RRSET_TYPE
更改下列內容:
PROJECT_ID:專案 IDMANAGED_ZONE:這個資源記錄集所屬的代管區域,例如my-zone-name。這個資源記錄集的名稱必須使用代管區域的 DNS 名稱做為後置字串RRSET_NAME:與這個區域的 DNS 名稱相符的 DNS 名稱,做為傳入查詢的後置字串,例如test.example.comRRSET_TYPE:這個資源記錄集的資源記錄類型,例如A
匯入及匯出資源記錄集
如要將資源記錄集複製到代管區域,或從代管區域複製資源記錄集,可以使用 import 和 export 指令。您可以從 BIND 區域檔案格式或 YAML 檔案格式匯入資料記錄集,也可以將資料記錄集匯出成這些格式。
gcloud
使用
dns record-sets import指令即可匯入資源記錄集:gcloud dns record-sets import -z=ZONE_NAME
如要指定區域檔案的格式,請使用先前的指令搭配
--zone-file-format旗標。如果省略這個旗標,則必須提供 YAML 格式的區域檔案。將
ZONE_NAME替換成區域的新名稱。使用
gcloud dns record-sets import指令和--replace-origin-ns旗標時,系統會將區域的 NS 記錄替換成區域檔案中指定的 NS 記錄。這些記錄必須與 Cloud DNS 指派的名稱伺服器相符,才能託管區域。此外,這些記錄也必須與上層 (委派) 區域中指定的NS記錄相符。根據預設,Cloud DNS 不會覆寫NS記錄。如果使用這個旗標,請務必確認NS記錄正確無誤。以 BIND 區域格式檔案匯入記錄集時,請移除表示區域頂端節點的 @ 符號。在 BIND 區域格式檔案中,對於
example.com之類的 DNS 名稱,@ 符號是指example.com.。不過,在 Cloud DNS 中定義記錄名稱時,系統會將 @ 符號視為單純的符號。如要在 Cloud DNS 中為區域的頂層節點建立資源記錄集,請使用完整網域名稱,例如example.com.。in.smtp IN MX 5 gmail-smtp-in.l.google.com in.smtp.example.com. IN MX 5 gmail-smtp-in.l.google.com.example.com.
如要匯入區域檔案,請在任何必須完全合格的網域名稱結尾加上點號 (
.)。
使用
dns record-sets export指令即可匯出資源記錄集。如要指定將資源記錄集匯出成 BIND 區域格式檔案,請使用--zone-file-format旗標。例如:example.com. 21600 IN NS ns-gcp-private.googledomains.com. example.com. 21600 IN SOA ns-gcp-private.googledomains.com. cloud-dns-hostmaster.google.com. 1 21600 3600 259200 300 host1.example.com. 300 IN A 192.0.2.91
如果省略
--zone-file-format旗標,export會將資源記錄集匯出成 YAML 格式記錄檔案:gcloud dns record-sets export example.zone -z=examplezonename
例如:
--- kind: dns#resourceRecordSet name: example.com. rrdatas: - ns-gcp-private.googledomains.com. ttl: 21600 type: NS --- kind: dns#resourceRecordSet name: example.com. rrdatas: - ns-gcp-private.googledomains.com. cloud-dns-hostmaster.google.com. 1 21600 3600 259200 300 ttl: 21600 type: SOA --- kind: dns#resourceRecordSet name: host1.example.com. rrdatas: - 192.0.2.91 ttl: 300 type: ACloud DNS 支援
ALIAS記錄類型,但這並非標準 DNS 記錄類型,且BIND不支援。如要將資源記錄集匯出成BIND,系統會略過ALIAS記錄。假如區域設有路由政策,系統會將其匯出成資源記錄資料 (rrdata) 為空的記錄。
後續步驟
- 如要瞭解資源記錄集適用的
gcloud指令,請參閱gcloud dns record-sets。 - 如要查看
gcloud或 API 作業的狀態,請參閱「監控 DNS 傳播」一節。 - 如要瞭解使用 Cloud DNS 時可能遇到的常見問題解決方案,請參閱這篇文章。
- 如要查看 Cloud DNS 總覽,請參閱這篇文章。