本頁面說明如何管理回應政策和回應政策規則。
您可以使用 Cloud DNS 私人區域建立回應政策,以便根據回應政策規則修改解析器行為。不過,每個網路只能附加一項回應政策。
您可以在單一回應政策中建立多個規則,每個規則可執行下列任一操作:
- 提供特定資源記錄,變更所選查詢名稱 (包括萬用字元) 的結果。
- 觸發passthru 行為,略過回應政策,並豁免原本會相符的名稱。舉例來說,針對萬用字元回應,這項功能可讓私人 DNS 查詢比對繼續進行,就好像從未遇到萬用字元一樣。
如要瞭解 VPC Service Controls 如何讓客戶從私人虛擬私有雲網路強制執行 API 存取權控管,請參閱「設定私人連線,以便存取 Google API 和服務」。
管理回應政策
建立回應政策
如要建立回應政策,請按照下列步驟操作。
主控台
前往 Google Cloud 控制台的「Cloud DNS 區域」頁面。
按一下「回應政策可用區」分頁標籤。
按一下「建立回應政策」。
輸入要建立的回應政策名稱,例如
myresponsepolicy
。輸入回應政策的說明,例如
My new response policy
。從「Networks」下拉式選單中,選取要與回應政策建立關聯的一或多個網路。
按一下 [建立]。
您可以在建立的每個回應政策區域中建立回應政策規則。如需操作說明,請參閱「建立回應政策規則」。
gcloud
執行 gcloud dns response-policies create
指令:
gcloud dns response-policies create RESPONSE_POLICY_NAME \ --networks=NETWORK \ [--description=DESCRIPTION]
更改下列內容:
RESPONSE_POLICY_NAME
:您要建立的回應政策名稱或 ID,例如myresponsepolicy
NETWORK
:以半形逗號分隔的清單,當中列有要與回應政策建立關聯的網路名稱,例如network1, network2
DESCRIPTION
:回應政策的說明,例如My new response policy
API
使用 responsePolicies.create
方法傳送 POST
要求:
POST https://dns.googleapis.com/dns/v1/projects/PROJECT_ID/responsePolicies
將 PROJECT_ID
替換為您要在其中建立回應政策的專案名稱或 ID。
查看回應政策
如要查看特定專案中的所有回應政策清單,或查看特定回應政策的說明,請按照下列步驟操作。
主控台
前往 Google Cloud 控制台的「Cloud DNS 區域」頁面。
按一下「回應政策可用區」分頁標籤。
「回應政策清單」頁面會列出您建立的回應政策。
gcloud
如要查看專案中所有回應政策的清單,請執行
gcloud dns response-policies list
指令:gcloud dns response-policies list
您可以使用
--limit
標記限制回應政策的數量。舉例來說,如要查看前十個回應政策的清單,請執行下列指令:gcloud dns response-policies list \ --limit=10
如要查看回應政策的詳細說明,請執行
gcloud dns response-policies describe
指令:gcloud dns response-policies describe RESPONSE_POLICY_NAME
將
RESPONSE_POLICY_NAME
替換為您要查看說明的回應政策名稱或 ID。
API
如要查看回應政策的詳細說明,請使用 responsePolicies.get
方法傳送 GET
要求:
GET https://dns.googleapis.com/dns/v1/projects/PROJECT_ID/responsePolicies/RESPONSE_POLICY_NAME
更改下列內容:
PROJECT_ID
:您建立回應政策的專案 IDRESPONSE_POLICY_NAME
:您要查看說明的回應政策名稱或 ID,例如myresponsepolicy
更新回應政策
如要更新回應政策,請按照下列步驟操作。
主控台
前往 Google Cloud 控制台的「Cloud DNS 區域」頁面。
按一下要編輯的回覆政策。您也可以點選回應政策名稱列中的 more_vert「更多」。
按一下「編輯回應政策」。
進行必要更新。
按一下 [儲存]。
gcloud
請執行 gcloud dns response-policies update
指令。
gcloud dns response-policies update RESPONSE_POLICY_NAME
將 RESPONSE_POLICY_NAME
替換為您要更新的回應政策名稱或 ID,例如 myresponsepolicy
。
使用與 create
指令相同的語法更新任何欄位。
API
如要將部分更新套用至回應政策,請使用
responsePolicies.patch
方法傳送PATCH
要求:PATCH https://dns.googleapis.com/dns/v1/projects/PROJECT_ID/responsePolicies/RESPONSE_POLICY_NAME
更改下列內容:
PROJECT_ID
:您建立回應政策的專案 IDRESPONSE_POLICY_NAME
:您要更新的回應政策名稱或 ID,例如myresponsepolicy
如要更新回應政策,請使用
responsePolicies.update
方法傳送UPDATE
要求:UPDATE https://dns.googleapis.com/dns/v1/projects/PROJECT_ID/responsePolicies/RESPONSE_POLICY_NAME
更改下列內容:
PROJECT_ID
:您建立回應政策的專案 IDRESPONSE_POLICY_NAME
:您要更新的回應政策名稱或 ID,例如myresponsepolicy
刪除回應政策
如要刪除回應政策,請按照下列步驟操作。
主控台
前往 Google Cloud 控制台的「Cloud DNS 區域」頁面。
按一下回應政策名稱列中的「更多」圖示 more_vert。
點選「刪除」。
gcloud
請執行 gcloud dns response-policies delete
指令。
gcloud dns response-policies delete RESPONSE_POLICY_NAME
將 RESPONSE_POLICY_NAME
替換為要刪除的回應政策名稱或 ID。
API
使用 responsePolicies.delete
方法傳送 DELETE
要求:
DELETE https://dns.googleapis.com/dns/v1/projects/PROJECT_ID/responsePolicies/RESPONSE_POLICY_NAME
更改下列內容:
PROJECT_ID
:您建立回應政策的專案 IDRESPONSE_POLICY_NAME
:要刪除的回應政策名稱或 ID,例如myresponsepolicy
管理回應政策規則
網站的 DNS 回應政策包含 DNS 解析器在查詢期間參照的規則。如果回應政策中的規則會影響傳入的查詢,系統會處理該規則;否則,查詢會照常進行。
建立回應政策規則
如要建立回應政策規則,請按照下列步驟操作。
主控台
前往 Google Cloud 控制台的「Cloud DNS 區域」頁面。
按一下「回應政策可用區」分頁標籤。
在回應政策區域清單中,按一下要建立規則的回應政策區域。
按一下「建立回應政策規則」。
輸入要建立的回應政策規則名稱,例如
myresponsepolicyrule
。在「Selector」下拉式選單中,選擇要套用此規則的選取器類型。
輸入要套用規則的 DNS 名稱 (萬用字元或完整名稱),例如
www.googleapis.com
。選擇回應政策規則的動作。舉例來說,如要變更回應政策的行為,請選擇「行為」;否則請選擇「本機資料」。
如果您選擇「行為」,請從下拉式選單中選取規則的行為。
如果您選擇「本機資料」,則必須新增資源記錄集。如要瞭解如何新增資源記錄集,請參閱「建立資源記錄集」。
按一下 [建立]。
gcloud
如要變更所選查詢名稱的行為,請執行
gcloud dns response-policies rules create
指令,並指定--type
標記:gcloud dns response-policies rules create RESPONSE_POLICY_RULE_NAME \ --response-policy=RESPONSE_POLICY_NAME \ --dns-name=DNS_NAME \ --local-data=name="DNS_NAME.",type="RRTYPE",ttl=TTL,rrdatas="RRDATA"
更改下列內容:
RESPONSE_POLICY_RULE_NAME
:要建立的回應政策規則名稱,例如myresponsepolicyrule
RESPONSE_POLICY_NAME
:回應政策的名稱,例如myresponsepolicy
DNS_NAME
:DNS 或網域名稱,例如www.googleapis.com
TTL
:回應政策的存留時間,例如21600
RRTYPE
:資源記錄類型,例如A
RRDATA
:資源記錄資料,例如1.2.3.4
。使用|
分隔多個項目,例如1.2.3.4|5.6.7.8
。
如要建立略過規則,請執行
gcloud dns response-policies rules create
指令,並將--behavior
標記設為bypassResponsePolicy
:gcloud dns response-policies rules create RESPONSE_POLICY_RULE_NAME \ --response-policy=RESPONSE_POLICY_NAME \ --dns-name=DNS_NAME \ --behavior=bypassResponsePolicy
更改下列內容:
RESPONSE_POLICY_RULE_NAME
:要建立的回應政策規則名稱,例如myresponsepolicyrule
RESPONSE_POLICY_NAME
:回應政策的名稱,例如myresponsepolicy
DNS_NAME
:DNS 或網域名稱,例如www.googleapis.com
API
如要建立新的回應政策規則,請使用
responsePolicyRules.create
方法傳送POST
要求:POST https://dns.googleapis.com/dns/v1/projects/PROJECT_ID/responsePolicies/RESPONSE_POLICY_NAME/rules
更改下列內容:
PROJECT_ID
:您建立回應政策的專案 IDRESPONSE_POLICY_NAME
:您要為其建立回應政策的名稱或 ID,例如myresponsepolicy
查看回應政策規則
如要查看特定回應政策中的所有回應政策規則清單,或查看特定回應政策規則的說明,請按照下列步驟操作。
主控台
前往 Google Cloud 控制台的「Cloud DNS 區域」頁面。
在「回應政策區域」分頁中,按一下要查看相關規則的回應政策名稱。「回應政策詳細資料」頁面會列出與回應政策相關聯的規則。
如要查看特定回應政策規則的詳細資料,請按一下規則名稱。您也可以點選回應政策規則名稱列中的「更多」more_vert。
gcloud
如要查看回應政策中的 Cloud DNS 回應政策規則清單,請執行
gcloud dns response-policies rules list
指令:gcloud dns response-policies rules list RESPONSE_POLICY_NAME
將
RESPONSE_POLICY_NAME
替換為回應政策名稱,例如myresponsepolicy
。如要查看特定回應政策規則的詳細資料,請執行
gcloud dns response-policies rules describe
指令:gcloud dns response-policies rules describe RESPONSE_POLICY_RULE_NAME \ --response-policy=RESPONSE_POLICY_NAME
更改下列內容:
RESPONSE_POLICY_RULE_NAME
:要建立的回應政策規則名稱,例如myresponsepolicyrule
RESPONSE_POLICY_NAME
:回應政策的名稱,例如myresponsepolicy
API
如要查看回應政策中規則的詳細說明,請使用 responsePolicyRules.get
方法傳送 GET
要求:
GET https://dns.googleapis.com/dns/v1/projects/PROJECT_ID/responsePolicies/RESPONSE_POLICY_NAME/rules/RESPONSE_POLICY_RULE
更改下列內容:
PROJECT_ID
:您建立回應政策的專案 IDRESPONSE_POLICY_NAME
:您要為其建立回應政策的名稱或 ID,例如myresponsepolicy
RESPONSE_POLICY_RULE
:您想查看詳細資料的回應政策規則
更新回應政策規則
如要編輯或更新回應政策規則,請按照下列步驟操作。
主控台
前往 Google Cloud 控制台的「Cloud DNS 區域」頁面。
按一下要編輯規則的回應政策名稱。
按一下要編輯的回應政策規則名稱。
在「回應政策規則詳細資料」頁面中,按一下要編輯的規則名稱。
進行必要更新。
按一下 [儲存]。
gcloud
請執行 gcloud dns response-policies rules update
指令。
gcloud dns response-policies rules update RESPONSE_POLICY_RULE_NAME \ --response-policy=RESPONSE_POLICY_NAME
更改下列內容:
RESPONSE_POLICY_RULE_NAME
:要建立的回應政策規則名稱,例如myresponsepolicyrule
RESPONSE_POLICY_NAME
:回應政策的名稱,例如myresponsepolicy
使用與
create
指令相同的語法更新任何欄位。
API
如要將部分更新套用至回應政策規則,請使用
responsePolicyRules.patch
方法傳送PATCH
要求:PATCH https://dns.googleapis.com/dns/v1/projects/PROJECT_ID/responsePolicies/RESPONSE_POLICY_NAME/rules/RESPONSE_POLICY_RULE
更改下列內容:
PROJECT_ID
:您建立回應政策的專案 IDRESPONSE_POLICY_NAME
:要更新規則的回應政策名稱或 ID,例如myresponsepolicy
RESPONSE_POLICY_RULE
:您要更新的回應政策規則
如要更新回應政策規則,請使用
responsePolicyRules.update
方法傳送UPDATE
要求:UPDATE https://dns.googleapis.com/dns/v1/projects/PROJECT_ID/responsePolicies/RESPONSE_POLICY_NAME/rules/RESPONSE_POLICY_RULE
更改下列內容:
PROJECT_ID
:您建立回應政策的專案 IDRESPONSE_POLICY_NAME
:要更新規則的回應政策名稱或 ID,例如myresponsepolicy
RESPONSE_POLICY_RULE
:您要更新的回應政策規則
刪除回應政策規則
如要刪除回應政策規則,請按照下列步驟操作。
主控台
前往 Google Cloud 控制台的「Cloud DNS 區域」頁面。
按一下要編輯規則的回應政策名稱。
按一下要刪除的回應政策規則名稱。
在「回應政策規則詳細資料」頁面中,按一下回應政策規則名稱列中的 more_vert「更多」。
按一下 [Delete] (刪除),您也可以按一下要刪除的規則:在「回應政策規則詳細資料」頁面中,按一下「刪除回應政策規則」。
gcloud
如要刪除 Cloud DNS 回應政策規則,請執行
gcloud dns response-policies rules delete
指令:gcloud dns response-policies rules delete RESPONSE_POLICY_RULE_NAME \ --response-policy=RESPONSE_POLICY_NAME
更改下列內容:
RESPONSE_POLICY_RULE_NAME
:要建立的回應政策規則名稱,例如myresponsepolicyrule
RESPONSE_POLICY_NAME
:回應政策的名稱,例如myresponsepolicy
API
如要刪除回應政策規則,請使用
responsePolicyRules.delete
方法傳送DELETE
要求:DELETE https://dns.googleapis.com/dns/v1/projects/PROJECT_ID/responsePolicies/RESPONSE_POLICY_NAME/rules/RESPONSE_POLICY_RULE
更改下列內容:
PROJECT_ID
:您建立回應政策的專案 IDRESPONSE_POLICY_NAME
:您要從中刪除規則的回應政策名稱或 ID,例如myresponsepolicy
RESPONSE_POLICY_RULE
:您要刪除的回應政策規則
用途
本節提供設定回應政策規則的用途範例。
將特定名稱導向受限制的 VIP 地址
您可以設定回應政策,為每個區域提供本機 CNAME 資料,將 Google API 要求轉譯為受限 Google API。未指定的名稱會繼續使用一般 DNS 解析。
舉例來說,您可以為 pubsub.googleapis.com
建立回應政策,該政策包含區域的本機 CNAME 資料,可將 Google API 要求轉譯為 restricted.googleapis.com
。在此同時,未指定的 www.googleapis.com
會繼續使用一般 DNS 進行解析。
在下列範例設定中,您會建立政策並套用至特定虛擬私有雲網路。
gcloud
如要建立回應政策,請執行
gcloud dns response-policies create
指令:gcloud dns response-policies create RESPONSE_POLICY_NAME \ --networks=NETWORK \ --description=DESCRIPTION
更改下列內容:
RESPONSE_POLICY_NAME
:要建立的回應政策名稱或 ID,例如myresponsepolicy
NETWORK
:以半形逗號分隔的網路名稱清單,用於與回應政策建立關聯,例如network1,network2
DESCRIPTION
:回應政策的說明,例如My new response policy
如果您只使用
restricted.googleapis.com
的 IPv4 位址範圍,請在政策中加入規則,其中包含 IPv4 位址範圍的記錄集。gcloud dns response-policies rules create
指令:gcloud dns response-policies rules create RESPONSE_POLICY_RULE_NAME \ --response-policy=RESPONSE_POLICY_NAME \ --dns-name=DNS_NAME. \ --local-data=name="DNS_NAME.",type="A",ttl=300,rrdatas="199.36.153.4|199.36.153.5|199.36.153.6|199.36.153.7"
更改下列內容:
RESPONSE_POLICY_RULE_NAME
:要建立的回應政策規則名稱,例如myresponsepolicyrule
RESPONSE_POLICY_NAME
:回應政策的名稱,例如myresponsepolicy
DNS_NAME
:您要建立規則的 DNS 名稱,例如pubsub.googleapis.com.
;請注意結尾的句點
如果您同時使用
restricted.googleapis.com
的 IPv4 和 IPv6 位址範圍,請在政策中加入規則,其中包含 IPv4 和 IPv6 位址範圍的記錄集。gcloud dns response-policies rules create RESPONSE_POLICY_RULE_NAME \ --response-policy=RESPONSE_POLICY_NAME \ --dns-name=DNS_NAME. \ --local-data=name="DNS_NAME.",type="A",ttl=300,rrdatas="199.36.153.4|199.36.153.5|199.36.153.6|199.36.153.7" \ --local-data=name="DNS_NAME.",type="AAAA",ttl=300,rrdatas="2600:2d00:0002:1000::"
API
依網址建立回應政策:
{ kind: "dns#responsePolicy", response_policy_name: RESPONSE_POLICY_NAME, description: RESPONSE_POLICY_DESCRIPTION, networks: [ { network_url: URL_TO_NETWORK; } ] }
更改下列內容:
RESPONSE_POLICY_NAME
:回應政策的名稱RESPONSE_POLICY_DESCRIPTION
:回應政策的說明URL_TO_NETWORK
:您要建立回應政策的網址
如果您只使用
restricted.googleapis.com
的 IPv4 位址範圍,請在政策中加入規則,其中包含 IPv4 位址範圍的記錄集。{ kind: "dns#responsePolicyRules", rule_name: RULE_NAME, dns_name: DNS_NAME, local_data: [ { name: "DNS_NAME.", type: "A", ttl: 300, rrdata: ["199.36.153.4", "199.36.153.5", "199.36.153.6", "199.36.153.7"] } ] }
更改下列內容:
RULE_NAME
:您要建立的規則名稱,例如pubsub
DNS_NAME
:您要建立規則的 DNS 名稱,例如pubsub.googleapis.com.
;請注意結尾的句點
如果您同時使用 IPv4 和 IPv6 位址範圍的
restricted.googleapis.com
,請在政策中加入規則,其中包含 IPv4 和 IPv6 位址範圍的記錄集。{ kind: "dns#responsePolicyRules", rule_name: RULE_NAME, dns_name: DNS_NAME, local_data: [ { name: "DNS_NAME.", type: "A", ttl: 300, rrdata: [""199.36.153.4", "199.36.153.5", "199.36.153.6", "199.36.153.7""] } ], local_data: [ { name: "DNS_NAME.", type: "AAAA", ttl: 300, rrdata: ["2600:2d00:0002:1000::"] } ] }
更改下列內容:
RULE_NAME
:您要建立的規則名稱,例如pubsub
DNS_NAME
:您要建立規則的 DNS 名稱,例如pubsub.googleapis.com.
;請注意結尾的句點
將所有名稱 (部分名稱除外) 導向受限制的 VIP 地址
您可以設定規則,將部分 DNS 回應排除在涵蓋整個網域或大型 IP 位址區塊的政策規則之外。這種概念稱為直通行為。透過使用傳遞行為,您可以允許缺少服務控制項支援的名稱,透過萬用字元名稱傳遞。
舉例來說,您可以讓 www.googleapis.com
在範例 *.googleapis.com
中允許通配符名稱。www
的完全比對優先於萬用字元 *
。
在以下範例設定中,您會建立具有指定名稱的政策,並套用至特定 VPC 網路。這項規則可讓 www.googleapis.com
略過萬用字元 *.googleapis.com
。
gcloud
如要建立回應政策,請執行
gcloud dns response-policies create
指令:gcloud dns response-policies create RESPONSE_POLICY_NAME \ --networks=NETWORK \ --description=DESCRIPTION
更改下列內容:
RESPONSE_POLICY_NAME
:要建立的回應政策名稱或 ID,例如myresponsepolicy
NETWORK
:以半形逗號分隔的網路名稱清單,用於與回應政策建立關聯,例如network1,network2
DESCRIPTION
:回應政策的說明,例如My new response policy
如要為政策新增略過規則,請執行
gcloud dns response-policies rules create
指令,並將--behavior
旗標設為bypassResponsePolicy
:gcloud dns response-policies rules create RESPONSE_POLICY_RULE_NAME \ --response-policy=RESPONSE_POLICY_NAME \ --dns-name=DNS_NAME \ --behavior=bypassResponsePolicy
更改下列內容:
RESPONSE_POLICY_RULE_NAME
:要建立的回應政策規則名稱,例如myresponsepolicyrule
RESPONSE_POLICY_NAME
:回應政策的名稱,例如myresponsepolicy
DNS_NAME
:DNS 或網域名稱,例如www.googleapis.com
API
建立回應政策:
{ kind: "dns#responsePolicy", response_policy_name: RESPONSE_POLICY_NAME, description: RESPONSE_POLICY_DESCRIPTION, networks: [ { network_url: URL_TO_NETWORK; } ] }
更改下列內容:
RESPONSE_POLICY_NAME
:回應政策的名稱,例如my-response-policy
RESPONSE_POLICY_DESCRIPTION
:回應政策的說明,例如my response policy
URL_TO_NETWORK
:您要建立回應政策的網址
新增政策規則:
{ kind: "dns#responsePolicyRules", rule_name: RULE_NAME, dns_name: DNS_NAME, local_data: [ { name: "*.googleapis.com.", type: "A", ttl: 300, rrdata: ["restricted.googleapis.com."] } ] } { kind: "dns#responsePolicyRules", rule_name: "www-passthru", dns_name: "www.googleapis.com.", behavior: BYPASS_RESPONSE_POLICY }
更改下列內容:
RULE_NAME
:您要建立的規則名稱,例如googleapis
DNS_NAME
:您要建立規則的萬用字元 DNS 名稱,例如*.googleapis.com.
;請注意結尾的句點
後續步驟
- 如要使用受管理的區域,請參閱「建立、修改及刪除區域」。
- 如要找出使用 Cloud DNS 時可能遇到的常見問題解決方案,請參閱「疑難排解」。
- 如要瞭解 Cloud DNS 的總體概況,請參閱 Cloud DNS 總覽。