本頁面說明如何新增、更新及刪除資源記錄集。
如要查看支援的資源記錄類型清單,請參閱「支援的資源記錄類型」。
事前準備
建立代管可用區。完成建立代管區域的前置作業,然後建立代管區域。
選取支援的資源記錄類型。為資源記錄集選擇資源記錄類型。
新增資源記錄集
如要新增資源記錄集,請按照下列步驟操作:
主控台
前往 Google Cloud 控制台的「Cloud DNS 區域」頁面。
按一下要新增記錄的代管區域名稱。
在「Zone details」(可用區詳細資料) 頁面中,按一下「Add standard」(新增標準)。
在「Create record set」頁面的「DNS name」欄位中,輸入 DNS 區域的子網域,例如
mail
。系統會自動在結尾加上尾點。如要建立萬用字元 DNS 記錄,請輸入星號,例如
*.example.com
。小寫的 at 符號 (@) 不會自動建立頂層記錄。如要在網域頂層建立資源記錄,請將「DNS 名稱」欄位留空。
選取「Resource record type」(資源記錄類型),例如
MX
。在「TTL」TTL欄位中,針對資源記錄存留時間輸入數字值,也就是記錄可快取的時間。這個值必須是正整數。
從「TTL 單位」選單中選取時間單位,例如
minutes
。視您選取的資源記錄類型而定,請填入剩餘欄位。
如要輸入其他資訊,請按一下「新增項目」。
按一下 [建立]。
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 名稱會以此區域的 DNS 名稱做為後置字串,例如test.example.com
RR_DATA
:與資源記錄集相關聯的任意值,例如198.51.100.5
;您也可以輸入多個值,rrdata1
rrdata2
rrdata3
,例如198.51.100.5
10.2.3.4
...TTL
:解析器快取此資源記錄集合的 TTL,以秒為單位,例如30
RRSET_TYPE
:這個資源記錄集合的資源記錄類型,例如A
。MANAGED_ZONE
:這個資源記錄集所屬的代管區域,例如my-zone-name
;這個資源記錄集的名稱必須以代管區域的 DNS 名稱做為後置字串
API
如要新增資源記錄集,請使用 resourceRecordSets.create
方法:
POST https://www.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.com
RRSET_TYPE
:這個資源記錄集合的資源記錄類型,例如A
TTL
:解析器快取此資源記錄集合的 TTL,以秒為單位,例如30
RR_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
;您也可以輸入多個值,rrdata1
rrdata2
rrdata3
,例如198.51.100.5
10.2.3.4
...DNS_NAME
:要新增的記錄集 DNS 或網域名稱,例如test.example.com
TTL
:記錄集的存留時間 (TTL),以秒為單位,例如300
RECORD_TYPE
:記錄類型,例如A
。MANAGED_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-name
WILDCARD_DNS_NAME
:您要新增的資源記錄集 DNS 或網域名稱,例如*.example.com.
(請注意結尾的句號)RECORD_TYPE
:記錄類型,例如CNAME
。TTL
:記錄集合的存留時間 (以秒為單位),例如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),以秒為單位,例如30
RR_DATA
:與資源記錄集相關聯的任意值,例如198.51.100.5
;您也可以輸入多個值,rrdata1
rrdata2
rrdata3
,例如198.51.100.5
10.2.3.4
...
如要將電子郵件傳送至您的網域,您必須在可用區中新增 MX
記錄。如果您使用 Google Workspace 做為簡易郵件傳輸協定 (SMTP) 供應商,請參閱「設定 Google Workspace MX
記錄」支援頁面。否則,請使用供應商提供的 MX
記錄詳細資料,並按照 Google Workspace 的設定程序操作。
查看區域的資源記錄集
如要查看某個區域的資源記錄集,請按照下列步驟操作:
主控台
前往 Google Cloud 控制台的「Cloud DNS」頁面。
在「儲存區」分頁中,按一下要查看資源記錄集的儲存區。
「區域詳細資料」頁面會顯示該區域中所有資源記錄集的詳細資料。
gcloud
如要查看區域的 DNS 記錄,請使用 gcloud dns record-sets list
指令:
gcloud dns record-sets list \ --zone="ZONE_NAME"
將 ZONE_NAME
替換為專案中的 DNS 區域名稱。
此指令會以含有前 100 筆記錄的資源記錄集,輸出 JSON 回應。您可以指定下列額外參數:
--limit
:要列出的記錄集數量上限--name
:只列出含有這個確切網域名稱的資源記錄集--type
:只列出這類型別的記錄;如果有此類別,則必須同時提供--name
參數
API
如要查看區域的 DNS 記錄,請使用 resourceRecordSets.list
方法:
GET https://www.googleapis.com/dns/v1/projects/PROJECT_ID/managedZones/MANAGED_ZONErrsets
更改下列內容:
PROJECT_ID
:專案 IDMANAGED_ZONE
:這個資源記錄集所屬的代管區域,例如my-zone-name
;這個資源記錄集的名稱必須以代管區域的 DNS 名稱做為後置字串
查看資源記錄集詳細資料
本程序假設您已在代管 Cloud DNS 區域中建立資源記錄集。
如要查看現有資源記錄集的詳細資料,請按照下列步驟操作:
主控台
前往 Google Cloud 控制台的「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.com
RRSET_TYPE
:這個資源記錄集合的資源記錄類型,例如A
。MANAGED_ZONE
:這個資源記錄集所屬的代管區域,例如my-zone-name
;這個資源記錄集的名稱必須以代管區域的 DNS 名稱做為後置字串
API
如要取得現有資源記錄集的詳細資料,請使用 resourceRecordSets.get
方法:
GET https://www.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.com
RRSET_TYPE
:這個資源記錄集合的記錄類型,例如A
。
更新資源記錄集
如要修改記錄集,請按照下列步驟操作:
主控台
如要對現有資源記錄集套用部分更新,請按照下列步驟操作:
前往 Google Cloud 控制台的「Cloud DNS 區域」頁面。
按一下要更新資源記錄集的區域。
在「可用區詳細資料」頁面中,按一下要更新的資源記錄集旁的 edit「編輯」。
完成必要更新後,按一下「儲存」。
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 名稱會以此區域的 DNS 名稱做為後置字串,例如test.example.com
RR_DATA
:與資源記錄集相關聯的任意值,例如198.51.100.5
;您也可以輸入多個值,rrdata1
rrdata2
rrdata3
,例如198.51.100.5
10.2.3.4
...TTL
:解析器快取此資源記錄集合的 TTL,以秒為單位,例如30
RRSET_TYPE
:這個資源記錄集合的資源記錄類型,例如A
。MANAGED_ZONE
:這個資源記錄集所屬的代管區域,例如my-zone-name
;這個資源記錄集的名稱必須以代管區域的 DNS 名稱做為後置字串
API
如要將部分更新套用至現有資源記錄集,請使用 resourceRecordSets.patch
方法:
PATCH https://www.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.com
RRSET_TYPE
:這個資源記錄集合的資源記錄類型,例如A
。TTL
:解析器快取此資源記錄集合的 TTL,以秒為單位,例如30
RR_DATA
:與資源記錄集相關聯的任意值,例如198.51.100.5
;您也可以輸入多個值,rrdata1
rrdata2
rrdata3
,例如198.51.100.5
10.2.3.4
...
刪除資源記錄集
刪除資源記錄集後,DNS 記錄會永久移除,無法復原。為避免 DNS 記錄遺失,請在刪除前匯出資源記錄集。如要瞭解如何匯出資源記錄集,請參閱「匯入及匯出資源記錄集」一文。
Cloud DNS 公開區域是權威區域,名稱伺服器 (NS
) 和權威開始 (SOA
) 記錄類型位於區域頂端,也就是該網域的根目錄。
Cloud DNS 會在區域頂端自動建立 NS
和 SOA
記錄。這些記錄無法使用 Cloud DNS API 刪除,且會在刪除區域時自動刪除。詳情請參閱 RFC 1034。
如要刪除資源記錄組,請按照下列步驟操作:
主控台
前往 Google Cloud 控制台的「Cloud DNS」頁面。
區域的記錄會列在「區域詳細資料」頁面中。
如要刪除區域中的資源記錄集,請按一下該區域的名稱。
在要刪除的資源記錄組旁,選取核取方塊。
按一下「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.com
RRSET_TYPE
:這個資源記錄集合的資源記錄類型,例如A
。MANAGED_ZONE
:這個資源記錄集所屬的代管區域,例如my-zone-name
;這個資源記錄集的名稱必須以代管區域的 DNS 名稱做為後置字串
API
如要刪除現有的資源記錄集,請使用 resourceRecordSets.delete
方法:
DELETE https://www.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.com
RRSET_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
記錄是否正確。匯入記錄集時,請將代表區域頂層的 at 符號 (@) 移除,在 BIND 區域格式檔案中,如果 DNS 名稱為
example.com
,則 @ 符號代表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: A
Cloud DNS 支援
ALIAS
記錄類型,但這不是標準 DNS 記錄類型,BIND
也不支援這類記錄。如果您要將資源記錄集匯出至BIND
,系統會略過ALIAS
記錄。如果區域設有路由政策,系統會將其匯出為含有空資源記錄資料 (rrdata) 的記錄。
支援的資源記錄類型
記錄類型 | Enter 鍵 |
---|---|
A |
主機的數字位址 (採用 IPv4 小數點十進位格式)。 |
AAAA |
主機的數字 IP 位址 (採用 IPv6 十六進位格式)。 |
ALIAS ([Preview](/products#product-launch-stages)) |
用於解析傳入地址查詢的標準名稱,例如 |
CAA |
有權為這個網域核發憑證的憑證授權單位,例如
建立 |
CNAME |
您也可以使用
有時,名稱伺服器會回應 |
DNSKEY |
DNSSEC 公開金鑰,解析器會使用這組金鑰驗證使用 ZSK 和 KSK 金鑰的記錄是否正確,例如
您只能在處於 |
DS |
用於安全委派區域的 DNSSEC 金鑰指紋,例如 您只能在公開區域中新增這個記錄類型。除非您為委任區域啟用並啟動 DNSSEC,否則這個記錄集類型不會為該區域啟動 DNSSEC。區域預設不會啟用 DNSSEC。 |
HTTPS 、SVCB |
服務優先順序 ( |
IPSECVPNKEY |
IPsec 公開 VPN 金鑰。 您只能在公開區域中新增這個記錄類型。 |
MX |
代表您網域接收電子郵件的郵件交換伺服器的偏好順序和 DNS 名稱。SMTP 伺服器會優先使用偏好順序較低的伺服器。 例如: 請務必在偏好設定號碼和 DNS 名稱之間加入一個空格。您輸入的 MX 記錄結尾必須是半型句號或點號 ( 您可以建立多個具有不同優先順序的記錄,用來設定備用郵件伺服器,或是使用相同的優先順序,在多個郵件伺服器之間分配負載。 舉例來說,如要將電子郵件轉寄至 Google Workspace 帳戶,請輸入以下內容:
|
NAPTR |
用來對應動態委派探索系統 (DDDS) 應用程式 (例如
DDDS 應用程式會使用 |
NS |
權威名稱伺服器的 DNS 名稱,該名稱伺服器會為您的網域或子網域提供 DNS 服務。您的 |
PTR |
完整網域名稱 (FQDN),或對應至 IP 位址的網域標準名稱,例如
|
SPF |
|
SRV |
指定特定服務 (例如 詳情請參閱 RFC 2782。 |
SSHFP |
SSH 伺服器演算法編號、指紋類型編號和金鑰指紋,例如 只有在您為這個區域啟用 DNSSEC 時,才使用這個記錄類型。 |
TLSA |
具名實體 DNS 驗證 (DANE) TLSA 憑證關聯資訊。
TLSA 記錄所含的資訊可用來驗證 X.509 憑證 (例如 HTTPS 使用的憑證),而不管簽署憑證的是否為一組預先設定的憑證授權單位 (CA),例如 只有在您為這個區域啟用 DNSSEC 時,才使用這個記錄類型。 |
TXT |
文字資料,可包含任意文字,也可用來定義機器可解讀的資料,例如安全資訊或濫用防範資訊。 TXT 記錄可含有一或多個文字字串,每個
字串的長度上限為 255 個字元。如果記錄資料超過 255 個位元組,請將記錄分割為 255 個位元組的字串,並以引號括住每個字串,例如 郵件代理程式和其他軟體代理程式會串聯多個字串。 請在每個字串前後加上引號,例如: 每個 TXT 記錄的字元上限為 1000 個。如需提高這項上限,請與Google Cloud 支援團隊聯絡。 |
後續步驟
- 如要瞭解資源記錄集的
gcloud
指令,請參閱gcloud dns record-sets
。 - 如要查看
gcloud
或 API 作業的狀態,請參閱「監控 DNS 散布」。 - 如要找出使用 Cloud DNS 時可能遇到的常見問題解決方案,請參閱「疑難排解」。
- 如要瞭解 Cloud DNS 的總體概況,請參閱 Cloud DNS 總覽。