本页介绍了如何使用 Cloud DNS 配置 DNS 路由政策和启用健康检查。在使用本页面之前,请先熟悉 DNS 路由政策和健康检查。
准备工作
如需配置 DNS 路由政策,请创建资源记录集,然后选择以下某个 DNS 路由政策以应用于资源记录集。
DNS 路由政策支持在地理定位路由政策中为每个地理位置配置多个 IP 地址。为某个地理位置指定多个 IP 地址时,Cloud DNS 会返回为该位置指定的所有 IP 地址。您无法将地理定位路由政策与自定义加权 WRR 政策结合使用。
一次只能对资源记录集应用一种路由政策。 除非配置故障切换路由政策(您可以将地理定位路由政策设置为备份),否则无法组合路由政策。
请确保为区域负载平衡器启用全球访问权限。
在为公开可用区配置 DNS 路由政策之前,请停用
constraints/compute.disableInternetNetworkEndpointGroup
组织政策限制条件。如需了解详情,请参阅组织政策限制条件。确保您拥有配置 DNS 路由政策所需的权限。
为专用区域创建 DNS 路由政策
在为专用区域创建 DNS 路由政策之前,请完成以下步骤。
- 创建专用区域。
- 设置以下内部负载均衡器之一:
- 为内部负载均衡器创建转发规则。
- 为内部负载均衡器设置健康检查。
如需为专用区域创建 DNS 路由政策,请按以下步骤操作。
控制台
开始配置
在 Google Cloud 控制台中,进入 Cloud DNS 区域页面。
点击要在其中添加记录的托管区域的名称。
在可用区详细信息页面上,点击添加路由政策。
基础数据
可选:在使用路由政策创建记录集页面的 DNS 名称中,输入 DNS 名称的子网域,例如
mail
。系统会自动添加结尾句点。对于资源记录类型,请选择一个选项。
对于 TTL,输入一个数值表示资源记录的生存时间,即该资源记录可缓存的时间期限。此值必须为正整数。
可选:对于 TTL 单位,选择时间单位,例如
minutes
。默认值设为minutes
。点击下一步。
路由政策类型
- 对于路由政策,选择加权轮循、地理位置或故障切换。
- 点击下一步。
路由政策数据
WRR
对于权重,输入与资源记录 (RR) 数据的此子部分相对应的权重。
此权重必须为介于 0.0 到 1000.0 之间的非负数。路由到目标的流量比率是根据各个权重与所有权重之和的比率计算的。例如,如果目标 A 的权重为 25,目标 B 的权重为 75,总权重为 100,则 Cloud DNS 会将 25/100 = 0.25(25%)的总流量路由到目标 A,将 75/100= 0.75(75%)的总流量路由到目标 B。
在 IPv4 健康检查目标部分,执行以下操作:
- 对于 Project,选择存在转发规则的项目。
对于转发规则,选择转发规则。
转发规则会指定内部 IP 地址、端口以及以下目标之一:
- 区域性后端服务
- 全球或区域目标 HTTPS 代理
- 区域级目标 TCP 代理
点击完成。
可选:如需添加其他已进行健康检查的目标,请点击添加目标。
可选:如需在不使用健康检查的情况下允许 IPv4 地址,请执行以下操作:
- 选择在不启用健康检查的情况下允许 IPv4 地址。
- 在 IPv4 地址部分,输入 IPv4 地址。
可选:如需添加另一组 WRR 政策路由数据,请点击添加路由数据。
点击下一步。
地理定位
对于地理围栏,选择停用或启用。
如果启用地理围栏,则系统会使流量仅流向特定的地理位置,即使该地理位置中的所有端点运行状况都不佳也是如此。
对于来源区域,请选择一个有效的 Google Cloud来源区域。
在 IPv4 健康检查目标部分中,执行以下操作:
- 对于 Project,选择存在转发规则的项目。
对于转发规则,选择转发规则。
转发规则会指定内部 IP 地址、端口以及以下目标之一:
- 区域性后端服务
- 全球或区域目标 HTTPS 代理
- 区域级目标 TCP 代理
点击完成。
可选:如需添加其他已进行健康检查的目标,请点击添加目标。
可选:如需在不使用健康检查的情况下允许 IPv4 地址,请执行以下操作:
- 选择在不启用健康检查的情况下允许 IPv4 地址。
- 在 IPv4 地址部分,输入 IPv4 地址。
可选:如需添加另一组地理位置政策路由数据,请点击添加路由数据。
点击下一步。
故障切换
在主要健康检查目标部分,执行以下操作:
- 对于 Project,选择存在转发规则的项目。
对于转发规则,选择转发规则。
转发规则会指定内部 IP 地址、端口以及以下目标之一:
- 区域性后端服务
- 全球或区域目标 HTTPS 代理
- 区域级目标 TCP 代理
在备份地理位置信息政策部分,执行以下操作:
- 对于地理围栏,选择停用或启用。如果启用地理围栏,则系统会使流量仅流向特定的地理位置,即使该地理位置中的所有端点运行状况都不佳也是如此。
- 对于来源区域,请选择一个有效的 Google Cloud来源区域。
在 IPv4 健康检查目标部分中,执行以下操作:
- 对于 Project,选择存在转发规则的项目。
对于转发规则,选择转发规则。
转发规则指定以下选项之一:
- 内部 IP 地址、端口和区域后端服务
- HTTP(S) 代理
- TCP 代理
当所有主要 IP 地址的健康状况都不佳时,系统将根据备份地理位置政策自动处理流量。
点击完成。
可选:如需添加其他已进行健康检查的目标,请点击添加目标。
可选:如需在不使用健康检查的情况下允许 IPv4 地址,请执行以下操作:
- 选择在不启用健康检查的情况下允许 IPv4 地址。
- 在 IPv4 地址部分,输入 IPv4 地址。
可选:如需添加另一组备用地理定位政策路由数据,请点击添加路由数据。
在微流量 (%)字段中,输入发送到故障切换目标的流量百分比,而不考虑主要目标的健康检查状态。
点击下一步。
检查并创建
- 点击审核。
- 使用路由政策配置查看 Cloud DNS 记录集。
- 点击创建。
gcloud
对于资源记录集,您只能设置路由政策 (routingPolicy
) 或 DNS 数据 (rrdatas
),不能同时设置这两者。如需在路由政策和 DNS 数据之间切换,请更新资源记录集。例如,如需将包含 DNS 数据 (rrdatas
) 的资源记录集更改为包含路由政策 (routingPolicy
),请删除 rrdatas
并将 routingPolicy
添加到同一资源记录集。
如需为专用区域创建 DNS 路由政策,请按以下步骤操作。
运行 gcloud dns record-sets create
命令:
WRR
gcloud dns record-sets create RRSET_NAME \ --ttl=TTL \ --type=RRSET_TYPE \ --zone=MANAGED_ZONE \ --routing-policy-type=WRR \ --routing-policy-data=ROUTING_POLICY_DATA \ --enable-health-checking
替换以下内容:
RRSET_NAME
:匹配传入查询的 DNS 名称,并使用此可用区的 DNS 名称作为其后缀,例如service.example.com
。TTL
:解析器缓存ResourceRecordSet
的 TTL(以秒为单位),例如30
。RRSET_TYPE
:此ResourceRecordSet
的资源记录类型,例如A
。如需查看支持的记录类型的列表,请参阅 DNS 路由政策支持的记录类型。MANAGED_ZONE
:与此ResourceRecordSet
关联的代管式区域,例如service-zone
。此ResourceRecordSet
的名称必须以该代管式区域的 DNS 名称作为后缀。ROUTING_POLICY_DATA
:输入格式为${weight_percent}:${rrdatas}
的分号分隔列表,例如.8=203.0.113.1;.2=198.51.100.1
。将权重指定为非负小数。路由到目标的流量比率是根据各个权重与所有权重之和的比率计算的。 转发规则名称是可接受的值,因此会启用健康检查。--enable-health-checking
:用于启用健康检查的标志。使用此标志时,您必须在--routing-policy-data
字段中提供转发规则名称,而不是 IP 地址。
地理定位
gcloud dns record-sets create RRSET_NAME \ --ttl=TTL \ --type=RRSET_TYPE \ --zone=MANAGED_ZONE \ --routing-policy-type=GEO \ --routing-policy-data=ROUTING_POLICY_DATA \ --enable-health-checking
替换以下内容:
RRSET_NAME
:匹配传入查询的 DNS 名称,并使用此可用区的 DNS 名称作为其后缀,例如service.example.com
。TTL
:解析器缓存ResourceRecordSet
的 TTL(以秒为单位),例如30
。RRSET_TYPE
:此ResourceRecordSet
的资源记录类型,例如A
。如需查看支持的记录类型的列表,请参阅 DNS 路由政策支持的记录类型。MANAGED_ZONE
:与此ResourceRecordSet
关联的代管式区域,例如service-zone
。此ResourceRecordSet
的名称必须以该代管式区域的 DNS 名称作为后缀。ROUTING_POLICY_DATA
:输入格式为${region}=${IP_address}
的分号分隔列表,例如asia-east1=198.51.100.1;us-central1=203.0.113.1
。您可以通过添加以英文逗号分隔的 IP 地址来为单个区域指定多个 IP 地址。转发规则名称是可接受的值,因此会启用健康检查。--enable-health-checking
:用于启用健康检查的标志。使用此标志时,您必须在--routing-policy-data
字段中提供转发规则名称,而不是 IP 地址。
地理定位(含地理围栏)
gcloud dns record-sets create RRSET_NAME \ --ttl=TTL \ --type=RRSET_TYPE \ --zone=MANAGED_ZONE \ --routing-policy-type=GEO \ --routing-policy-data=ROUTING_POLICY_DATA \ --enable-geo-fencing \ --enable-health-checking
替换以下内容:
RRSET_NAME
:匹配传入查询的 DNS 名称,并使用此可用区的 DNS 名称作为其后缀,例如service.example.com
。TTL
:解析器缓存ResourceRecordSet
的 TTL(以秒为单位),例如30
。RRSET_TYPE
:此ResourceRecordSet
的资源记录类型,例如A
。如需查看支持的记录类型的列表,请参阅 DNS 路由政策支持的记录类型。MANAGED_ZONE
:与此ResourceRecordSet
关联的代管式区域,例如service-zone
。此ResourceRecordSet
的名称必须以该代管式区域的 DNS 名称作为后缀。ROUTING_POLICY_DATA
:输入格式为${region}=${IP_address}
的分号分隔列表,例如asia-east1=198.51.100.1;us-central1=203.0.113.1
。您可以通过添加以英文逗号分隔的 IP 地址来为单个区域指定多个 IP 地址。转发规则名称是可接受的值,因此会启用健康检查。--enable-geo-fencing
:对于GEO
路由政策,这确定了地区中的所有端点健康状况不佳时,流量是否应跨地区进行故障切换。设置后,Cloud DNS 始终会将查询定向到最近的地区,即使该地区中的所有端点健康状况都不佳。使用--no-enable-geo-fencing
停用地理围栏。如果未设置,则当某个地区中的所有端点健康状况不佳时,Cloud DNS 会将查询定向到下一个最近地区。默认为false
。--enable-health-checking
:用于启用健康检查的标志。使用此标志时,您必须在--routing-policy-data
字段中提供转发规则名称,而不是 IP 地址。
故障切换
gcloud dns record-sets create RRSET_NAME \ --ttl=TTL \ --type=RRSET_TYPE \ --zone=MANAGED_ZONE \ --routing-policy-type=FAILOVER \ --routing-policy-primary-data=ROUTING_POLICY_PRIMARY_DATA \ --routing-policy-backup-data-type=ROUTING_POLICY_BACKUP_DATA_TYPE \ --routing-policy-backup-data=ROUTING_POLICY_BACKUP_DATA \ --backup-data-trickle-ratio=BACKUP_DATA_TRICKLE_RATIO \ --enable-geo-fencing \ --enable-health-checking
替换以下内容:
RRSET_NAME
:匹配传入查询的 DNS 名称,并使用此可用区的 DNS 名称作为其后缀,例如service.example.com
。TTL
:解析器缓存ResourceRecordSet
的 TTL(以秒为单位),例如30
。RRSET_TYPE
:此ResourceRecordSet
的资源记录类型,例如A
。如需查看支持的记录类型的列表,请参阅 DNS 路由政策支持的记录类型。MANAGED_ZONE
:与此ResourceRecordSet
关联的代管式区域,例如service-zone
。此ResourceRecordSet
的名称必须以该代管式区域的 DNS 名称作为后缀。ROUTING_POLICY_PRIMARY_DATA
:用于FAILOVER
路由政策的主要目标。此目标必须是对一个或多个转发规则的引用,例如forwarding-rule-1
。只要这些转发规则中至少有一个健康状况良好,系统就会使用所有健康状况良好的转发规则的 IP 地址来响应此名称的查询。ROUTING_POLICY_BACKUP_DATA_TYPE
:对于FAILOVER
路由政策,是备份数据使用的路由政策的类型。此设置必须是GEO
。ROUTING_POLICY_BACKUP_DATA
:用于FAILOVER
路由政策的备份目标。当--routing-policy-primary-data
中指定的所有转发规则健康状况不佳时,会用到这些目标。Cloud DNS 仅支持基于地理位置的备份目标。如果--routing-policy-type = 'GEO'
(例如asia-east1=forwarding-rule-2
),此字段的格式与--routing-policy-data
的格式匹配。BACKUP_DATA_TRICKLE_RATIO
:要发送到备份目标的流量的比率,即使主实例健康状况良好。该比率必须介于 0 和 1 之间,例如0.1
。默认值设为0
。--enable-geo-fencing
:对于GEO
路由政策,这确定了地区中的所有端点健康状况不佳时,流量是否应跨地区进行故障切换。设置后,Cloud DNS 始终会将查询定向到最近的地区,即使该地区中的所有端点健康状况都不佳。使用--no-enable-geo-fencing
停用地理围栏。如果未设置,则当某个地区中的所有端点健康状况不佳时,Cloud DNS 会将查询定向到下一个最近地区。默认为false
。--enable-health-checking
:用于启用健康检查的标志。使用此标志时,您必须在--routing-policy-data
字段中提供转发规则名称,而不是 IP 地址。
API
使用 resourceRecordSets.create
方法。
WRR
POST https://www.googleapis.com/dns/v1/projects/PROJECT_ID/managedZones/MANAGED_ZONE/rrsets { "name": "RRSET_NAME", "type": "RRSET_TYPE", "ttl": TTL, "routingPolicy": { "wrr": { "items": [ { "weight": WEIGHT, "healthCheckedTargets": { "internalLoadBalancers": [ { "loadBalancerType": "LOAD_BALANCER_TYPE" "ipAddress": "IP_ADDRESS" "port" : "PORT_NUMBER" "ipProtocol": "IP_PROTOCOL" "networkUrl": "NETWORK_URL" "project": "PROJECT_ID" "region": "REGION" } ] } }, { "weight": WEIGHT, "healthCheckedTargets": { "internalLoadBalancers": [ { "loadBalancerType": "LOAD_BALANCER_TYPE" "ipAddress": "IP_ADDRESS" "port" : "PORT_NUMBER" "ipProtocol": "IP_PROTOCOL" "networkUrl": "NETWORK_URL" "project": "PROJECT_ID" "region": "REGION" } ] } }, ] } } }
替换以下内容:
PROJECT_ID
:项目的 IDMANAGED_ZONE
:与此ResourceRecordSet
关联的代管式区域,例如service-zone
;此ResourceRecordSet
的名称必须以该代管式区域的 DNS 名称作为后缀RRSET_NAME
:匹配传入查询的 DNS 名称,并使用此可用区的 DNS 名称作为其后缀,例如service.example.com
RRSET_TYPE
:此ResourceRecordSet
的资源记录类型,例如A
TTL
:解析器缓存此ResourceRecordSet
的 TTL(以秒为单位),例如30
WEIGHT
:对于WRR
政策,采用英文分号分隔的列表(格式为${weight_percent}=${rrdatas}
),例如.8=10.128.1.1;.2=10.130.1.1
;将权重指定为任何非负小数。注意:必须将权重指定为非负数。路由到目标的流量比率是根据各个权重与所有权重之和的比率计算的。LOAD_BALANCER_TYPE
:负载平衡器的类型,例如regionalL4ilb
、globalL7ilb
或regionalL7ilb
。此设置为可选设置。IP_ADDRESS
:转发规则传送的 IP 地址PORT_NUMBER
:端口号IP_PROTOCOL
:定义用于健康检查的协议。有效选项为tcp
和udp
NETWORK_URL
:此转发规则适用的网络网址REGION
:您在其中创建了转发规则的地区
地理定位
POST https://www.googleapis.com/dns/v1/projects/PROJECT_ID/managedZones/MANAGED_ZONE/rrsets { "name": "RRSET_NAME", "type": "RRSET_TYPE", "ttl": TTL, "routingPolicy": { "geo": { "items": [ { "location": "LOCATION", "healthCheckedTargets": { "internalLoadBalancers": [ { "loadBalancerType": "LOAD_BALANCER_TYPE" "ipAddress": "IP_ADDRESS" "port" : "PORT_NUMBER" "ipProtocol": "IP_PROTOCOL" "networkUrl": "NETWORK_URL" "project": "PROJECT_ID" "region": "REGION" } ] } }, { "location": "LOCATION", "healthCheckedTargets": { "internalLoadBalancers": [ { "loadBalancerType": "LOAD_BALANCING_TYPE" "ipAddress": "IP_ADDRESS" "port" : "PORT_NUMBER" "ipProtocol": "IP_PROTOCOL" "networkUrl": "NETWORK_URL" "project": "PROJECT_ID" "region": "REGION" } ] } }, } ] } } }
替换以下内容:
PROJECT_ID
:项目的 IDMANAGED_ZONE
:与此ResourceRecordSet
关联的代管式区域,例如service-zone
;此ResourceRecordSet
的名称必须以该代管式区域的 DNS 名称作为后缀RRSET_NAME
:匹配传入查询的 DNS 名称,并使用此可用区的 DNS 名称作为其后缀,例如service.example.com
RRSET_TYPE
:此ResourceRecordSet
的资源记录类型,例如A
TTL
:解析器缓存此ResourceRecordSet
的 TTL(以秒为单位),例如30
LOCATION
:对于GEO
政策,您需要为其创建政策的地理位置,例如asia-east1
LOAD_BALANCER_TYPE
:负载平衡器的类型,例如regionalL4ilb
、globalL7ilb
或regionalL7ilb
。此设置为可选设置。IP_ADDRESS
:转发规则传送的 IP 地址PORT_NUMBER
:内部负载平衡器的端口号IP_PROTOCOL
:定义用于健康检查的协议。有效选项为tcp
和udp
NETWORK_URL
:此转发规则适用的网络网址REGION
:您在其中创建了转发规则的地区
故障切换
在故障切换选项中,Cloud DNS 仅支持 GEO
政策。
POST https://www.googleapis.com/dns/v1/projects/PROJECT_ID/managedZones/MANAGED_ZONE/rrsets { "name": "RRSET_NAME", "type": "RRSET_TYPE", "ttl": TTL, "routingPolicy": { "primaryBackup": { "trickleTraffic": TRICKLE_TRAFFIC, "primaryTargets": { "internalLoadBalancers": [ { "ipAddress": "IP_ADDRESS" "ipProtocol": "IP_PROTOCOL" "loadBalancerType": "LOAD_BALANCER_TYPE" "networkUrl": "NETWORK_URL" "port": "PORT_NUMBER" "project": "PROJECT_ID" "region": "REGION" } ] }, "backupGeoTargets": { "enableFencing": ENABLE_FENCING, "items": [ { "location": "LOCATION", "rrdatas": [ "RRDATA" ] }, { "location": "LOCATION", "rrdatas": [ "RRDATA" ] } ] } }, } }
替换以下内容:
PROJECT_ID
:项目的 IDMANAGED_ZONE
:与此ResourceRecordSet
关联的代管式区域,例如service-zone
;此ResourceRecordSet
的名称必须以该代管式区域的 DNS 名称作为后缀RRSET_NAME
:匹配传入查询的 DNS 名称,并使用此可用区的 DNS 名称作为其后缀,例如service.example.com
RRSET_TYPE
:此ResourceRecordSet
的资源记录类型,例如A
TTL
:解析器缓存此ResourceRecordSet
的 TTL(以秒为单位),例如30
TRICKLE_TRAFFIC
:发送到备份目标的流量的比率(即使主实例健康状况良好);该比率必须介于 0 和 1 之间,例如0.1
IP_ADDRESS
:转发规则传送的 IP 地址PORT_NUMBER
:端口号IP_PROTOCOL
:定义用于健康检查的协议。有效选项为tcp
和udp
NETWORK_URL
:此转发规则适用的网络网址PORT_NUMBER
:内部负载平衡器的端口号REGION
:您在其中创建了转发规则的地区ENABLE_FENCING
:对于GEO
路由政策,这确定了地区中的所有端点健康状况不佳时,流量是否应跨地区进行故障切换。设置后,Cloud DNS 始终会将查询定向到最近的地区,即使该地区中的所有端点健康状况都不佳。如果未设置,则当某个地区中的所有端点健康状况不佳时,Cloud DNS 会将查询定向到下一个最近地区。默认为false
。LOCATION
:对于GEO
政策,您需要为其创建政策的地理位置,例如asia-east1
WEIGHT
:对于WRR
政策,采用英文分号分隔的列表(格式为${weight_percent}=${rrdatas}
),例如.8=10.128.1.1;.2=10.130.1.1
;将权重指定为任何非负小数。RRDATA
:与资源记录集关联的任意值,例如198.51.100.5
;您还可以输入多个值rrdata1
rrdata2
rrdata3
,例如198.51.100.1
203.0.113.1
...
为公共区域创建 DNS 路由政策(预览版)
如需为公共可用区创建 DNS 路由政策,请按以下步骤操作。
控制台
开始配置
在 Google Cloud 控制台中,进入 Cloud DNS 区域页面。
点击要在其中添加记录的托管区域的名称。
在可用区详细信息页面上,点击添加路由政策。
基础数据
可选:在使用路由政策创建记录集页面的 DNS 名称中,输入预先填充的 DNS 名称的子网域,例如
mail
。系统会自动添加结尾句点。对于资源记录类型,请选择一个选项。
对于 TTL,请输入一个数值表示资源记录的生存时间,即该资源记录可缓存的时间期限。此值必须是正整数。
可选:对于 TTL 单位,选择时间单位,例如
minutes
。默认值设为minutes
。点击下一步。
路由政策类型
- 对于路由政策,选择加权轮循、地理位置或故障切换。
- 点击下一步。
路由政策数据
WRR
对于权重,输入与资源记录 (RR) 数据的此子部分相对应的权重。
此权重必须为介于 0.0 到 1000.0 之间的非负数。路由到目标的流量比率是根据各个权重与所有权重之和的比率计算的。例如,如果目标 A 的权重为 25,目标 B 的权重为 75,总权重为 100,则 Cloud DNS 会将 25/100 = 0.25(25%)的总流量路由到目标 A,将 75/100= 0.75(75%)的总流量路由到目标 B。
在外部 IP 地址部分中,执行以下操作:
- 在 IP 地址中,输入一个外部 IP 地址。
- 可选:如需选择当前项目中某个资源的外部 IP 地址,请点击选择。 Google Cloud
- 如需启用健康检查,请选择健康检查 1。
- 可选:如需添加其他外部 IP 地址,请点击添加 IP 地址。
- 点击完成。
如果您在上一步中启用了健康检查,请在健康检查列表中选择一项健康检查,或按照以下步骤创建新的健康检查。
- 点击创建新的健康检查。
- 在名称字段中,输入健康检查的名称。
- 可选:对于说明,输入健康检查的说明。
- 对于来源区域,选择您要从中发送健康检查探测的任意三个 Google Cloud区域。
- 可选:在协议列表中,选择一个协议。
在端口部分,输入端口号。
协议和端口号决定了 Cloud DNS 发送健康检查探测的方式。
可选:如需配置基于内容的健康检查,请为响应提供预期响应字符串,每个字符串的长度不应超过 1024 个 ASCII(单字节)字符。
可选:如需启用健康检查日志,请为日志选择开启。
对于检查间隔,请输入健康检查探测之间的时间间隔(以秒为单位)。检查间隔时间是指从一个探测器发出的一次探测开始到由同一探测器发出的下一次探测开始之间的时间量。
对于超时,输入您希望Google Cloud 等待探测响应的时间(以秒为单位)。
对于运行状况良好判断阈值,请输入要将后端视为运行状况良好所需满足的连续成功探测次数。
对于运行状况不佳判断阈值,请输入要将后端视为运行状况不佳所需满足的连续失败探测次数。
点击创建。
点击下一步。
地理定位
- 对于地理围栏,选择停用或启用。如果启用地理围栏,则系统会使流量仅流向特定的地理位置,即使该地理位置中的所有端点运行状况都不佳也是如此。
- 对于来源区域,请选择一个有效的 Google Cloud来源区域。
- 在外部 IP 地址部分中,执行以下操作:
- 在 IP 地址中,输入一个外部 IP 地址。
- 可选:如需选择当前项目中某个 Google Cloud资源的外部 IP 地址,请点击选择。
- 如需启用健康检查,请选择健康检查 1。
- 可选:如需添加其他外部 IP 地址,请点击添加 IP 地址。
- 点击完成。
如果您在上一步中启用了健康检查,请在健康检查列表中选择一项健康检查,或按照以下步骤创建新的健康检查。
- 点击创建新的健康检查。
- 在名称字段中,输入健康检查的名称。
- 可选:对于说明,输入健康检查的说明。
- 对于来源区域,选择您要从中发送健康检查探测的任意三个 Google Cloud区域。
- 可选:在协议列表中,选择一个协议。
在端口部分,输入端口号。
协议和端口号决定了 Cloud DNS 发送健康检查探测的方式。
可选:如需配置基于内容的健康检查,请为响应提供预期响应字符串,每个字符串的长度不应超过 1024 个 ASCII(单字节)字符。
可选:如需启用健康检查日志,请为日志选择开启。
对于检查间隔,请输入健康检查探测之间的时间间隔(以秒为单位)。检查间隔时间是指从一个探测器发出的一次探测开始到由同一探测器发出的下一次探测开始之间的时间量。
对于超时,输入您希望Google Cloud 等待探测响应的时间(以秒为单位)。
对于运行状况良好判断阈值,请输入要将后端视为运行状况良好所需满足的连续成功探测次数。
对于运行状况不佳判断阈值,请输入要将后端视为运行状况不佳所需满足的连续失败探测次数。
点击创建。
点击下一步。
故障切换
- 在主要外部 IP 地址目标部分的 IP 地址中,输入要为此记录进行运行状况检查的主要外部 IP 地址。
- 可选:如需选择当前项目中某个资源的主要外部 IP 地址,请点击选择。 Google Cloud
- 可选:如需添加其他主要外部 IP 地址,请点击添加目标。启用 DNSSEC 后,您只能添加一个主要外部 IP 地址目标。
- 在备份地理位置信息政策部分,执行以下操作:
- 对于地理围栏,选择停用或启用。如果启用地理围栏,则系统会使流量仅流向特定的地理位置,即使该地理位置中的所有端点运行状况都不佳也是如此。
- 对于来源区域,请选择一个有效的 Google Cloud来源区域。
- 在外部 IP 地址部分中,执行以下操作:
- 在 IP 地址中,输入一个外部 IP 地址。
- 可选:如需选择当前项目中某个资源的外部 IP 地址,请点击选择。 Google Cloud
- 如需启用健康检查,请选择健康检查 1。
- 可选:如需添加其他外部 IP 地址,请点击添加 IP 地址。
- 点击完成。
如果您在上一步中启用了健康检查,请在健康检查列表中选择一项健康检查。
如果您还没有健康检查,请创建新的健康检查。
- 点击创建新的健康检查。
- 在名称字段中,输入健康检查的名称。
- 可选:对于说明,输入健康检查的说明。
- 对于来源区域,选择您要从中发送健康检查探测的任意三个 Google Cloud区域。
- 可选:在协议列表中,选择一个协议。
- 在端口部分,输入端口号。
协议和端口号决定了 Cloud DNS 发送健康检查探测的方式。
- 可选:如需配置基于内容的健康检查,请为响应提供预期响应字符串,每个字符串的长度不应超过 1024 个 ASCII(单字节)字符。
- 可选:如需启用健康检查日志,请为日志选择开启。
- 对于检查间隔,请输入健康检查探测之间的时间间隔(以秒为单位)。检查间隔时间是指从一个探测器发出的一次探测开始到由同一探测器发出的下一次探测开始之间的时间量。
- 对于超时,输入您希望Google Cloud 等待探测响应的时间(以秒为单位)。
- 对于运行状况良好判断阈值,请输入要将后端视为运行状况良好所需满足的连续成功探测次数。
- 对于运行状况不佳判断阈值,请输入要将后端视为运行状况不佳所需满足的连续失败探测次数。
- 点击创建。
在微流量 (%) 字段中,输入发送到故障切换目标的流量百分比,而不考虑主要目标的健康检查状态。
在健康检查列表中,选择一项健康检查。
点击下一步。
检查并创建
- 点击审核。
- 使用路由政策配置查看 Cloud DNS 记录集。
- 点击创建。
gcloud
如需为公共可用区创建 DNS 路由政策,请按以下步骤操作。
如需在公共区域的 DNS 路由政策中启用健康检查,请为外部端点创建健康检查。
运行
gcloud beta compute health-checks create
命令:gcloud beta compute health-checks create PROTOCOL HEALTH_CHECK_NAME \ --global \ --check-interval=CHECK_INTERVAL \ --source-regions=SOURCE_REGIONS \ --port=PORT_NUMBER
替换以下内容:
PROTOCOL
:用于健康检查的协议。有效选项包括http
、https
、ssl
或tcp
。HEALTH_CHECK_NAME
:健康检查的名称。CHECK_INTERVAL
:从一次健康检查探测系统的连接开始到下一次相应连接开始之间的时间。该时间以秒为单位。CHECK_INTERVAL
值必须介于30
到300
秒之间。SOURCE_REGIONS
:您要从中发送健康检查探测的Google Cloud 区域的逗号分隔列表。PORT_NUMBER
:健康检查请求的端口号。
如需创建
ResourceRecordSet
并对其应用路由政策,请运行gcloud beta dns record-sets create
命令。WRR
gcloud beta dns record-sets create RRSET_NAME \ --ttl=TTL \ --type=RRSET_TYPE \ --zone=MANAGED_ZONE \ --routing-policy-type=WRR \ --routing-policy-data=ROUTING_POLICY_DATA \ --health-check=HEALTH_CHECK_NAME
替换以下内容:
RRSET_NAME
:匹配传入查询的 DNS 名称,并使用此可用区的 DNS 名称作为其后缀,例如service.example.com
。TTL
:解析器缓存此ResourceRecordSet
的 TTL(以秒为单位),例如30
。RRSET_TYPE
:此ResourceRecordSet
的资源记录类型,例如A
。MANAGED_ZONE
:与此ResourceRecordSet
关联的代管式区域,例如service-zone
。此ResourceRecordSet
的名称必须以该代管式区域的 DNS 名称作为后缀。ROUTING_POLICY_DATA
:路由政策数据。输入格式为${weight_percent}:${rrdatas}
的分号分隔列表,例如.8=203.0.113.1;.2=198.51.100.1
。将权重指定为非负小数。权重必须为介于0
到1000
之间的非负数。HEALTH_CHECK_NAME
:您在上一步中创建的健康检查的名称。
地理定位
gcloud beta dns record-sets create RRSET_NAME \ --ttl=TTL \ --type=RRSET_TYPE \ --zone=MANAGED_ZONE \ --routing-policy-type=GEO \ --routing-policy-data=ROUTING_POLICY_DATA \ --health-check=HEALTH_CHECK_NAME
替换以下内容:
RRSET_NAME
:匹配传入查询的 DNS 名称,并使用此可用区的 DNS 名称作为其后缀,例如service.example.com
。TTL
:解析器缓存此ResourceRecordSet
的 TTL(以秒为单位),例如30
。RRSET_TYPE
:此ResourceRecordSet
的资源记录类型,例如A
。MANAGED_ZONE
:与此ResourceRecordSet
关联的代管式区域,例如service-zone
。此ResourceRecordSet
的名称必须以该代管式区域的 DNS 名称作为后缀。ROUTING_POLICY_DATA
:路由政策数据。输入格式为${region}=${IP_address},${IP_address}
的分号分隔列表,例如asia-east1=198.51.100.1;us-central1=203.0.113.1, 203.0.113.2
。您可以通过添加以英文逗号分隔的 IP 地址来为单个区域指定多个 IP 地址。转发规则名称是可接受的值,因此会启用健康检查。HEALTH_CHECK_NAME
:您在上一步中创建的健康检查的名称。
地理定位(含地理围栏)
gcloud beta dns record-sets create RRSET_NAME \ --ttl=TTL \ --type=RRSET_TYPE \ --zone=MANAGED_ZONE \ --routing-policy-type=GEO \ --routing-policy-data=ROUTING_POLICY_DATA \ --health-check=HEALTH_CHECK_NAME \ --enable-geo-fencing
替换以下内容:
RRSET_NAME
:匹配传入查询的 DNS 名称,并使用此可用区的 DNS 名称作为其后缀,例如service.example.com
。TTL
:解析器缓存此ResourceRecordSet
的 TTL(以秒为单位),例如30
。RRSET_TYPE
:此ResourceRecordSet
的资源记录类型,例如A
。MANAGED_ZONE
:与此ResourceRecordSet
关联的代管式区域,例如service-zone
。此ResourceRecordSet
的名称必须以该代管式区域的 DNS 名称作为后缀。ROUTING_POLICY_DATA
:路由政策数据。输入格式为${region}=${IP_address}
的分号分隔列表,例如asia-east1=198.51.100.1;us-central1=203.0.113.1
。您可以通过添加以英文逗号分隔的 IP 地址,为单个区域指定多个 IP 地址。转发规则名称是可接受的值,因此会启用健康检查。HEALTH_CHECK_NAME
:您在上一步中创建的健康检查的名称。--enable-geo-fencing
:对于GEO
路由政策,这确定了地区中的所有端点健康状况不佳时,流量是否应跨地区进行故障切换。设置后,Cloud DNS 始终会将查询定向到最近的地区,即使该地区中的所有端点健康状况都不佳。使用--no-enable-geo-fencing
停用地理围栏。如果未设置,则当某个地区中的所有端点健康状况不佳时,Cloud DNS 会将查询定向到下一个最近地区。默认为false
。
故障切换
gcloud beta dns record-sets create RRSET_NAME \ --ttl=TTL \ --type=RRSET_TYPE \ --zone=MANAGED_ZONE \ --routing-policy-type=FAILOVER \ --routing-policy-primary-data=ROUTING_POLICY_PRIMARY_DATA \ --routing-policy-backup-data=ROUTING_POLICY_BACKUP_DATA \ --routing-policy-backup-data-type=ROUTING_POLICY_BACKUP_DATA_TYPE \ --backup-data-trickle-ratio=BACKUP_DATA_TRICKLE_RATIO \ --health-check=HEALTH_CHECK_NAME
替换以下内容:
RRSET_NAME
:匹配传入查询的 DNS 名称,并使用此可用区的 DNS 名称作为其后缀,例如service.example.com
。TTL
:解析器缓存此ResourceRecordSet
的 TTL(以秒为单位),例如30
RRSET_TYPE
:此ResourceRecordSet
的资源记录类型,例如A
。MANAGED_ZONE
:与此ResourceRecordSet
关联的代管式区域,例如service-zone
。此ResourceRecordSet
的名称必须以该代管式区域的 DNS 名称作为后缀。ROUTING_POLICY_PRIMARY_DATA
:用于FAILOVER
路由政策的主要目标。此目标必须是对一个或多个转发规则的引用,例如forwarding-rule-1
。只要这些转发规则中至少有一个健康状况良好,系统就会使用所有健康状况良好的转发规则的 IP 地址来响应此名称的查询。ROUTING_POLICY_BACKUP_DATA
:用于FAILOVER
路由政策的备份目标。当--routing-policy-primary-data
中指定的所有转发规则健康状况不佳时,会用到这些目标。Cloud DNS 仅支持基于地理位置的备份目标。如果--routing-policy-type = 'GEO'
(例如asia-east1=forwarding-rule-2
),此字段的格式与--routing-policy-data
的格式匹配。ROUTING_POLICY_BACKUP_DATA_TYPE
:对于FAILOVER
路由政策,是备份数据使用的路由政策的类型。此值必须为GEO
。BACKUP_DATA_TRICKLE_RATIO
:要发送到备份目标的流量的比率,即使主实例健康状况良好。该比率必须介于 0 和 1 之间,例如0.1
。默认值设为0
。HEALTH_CHECK_NAME
:您在上一步中创建的健康检查的名称。
API
如需在公共网域的 DNS 路由政策中启用健康检查,请使用
healthChecks.insert
方法。如需创建
ResourceRecordSet
并对其应用路由政策,请使用resourceRecordSets.create
方法。WRR
POST https://www.googleapis.com/dns/v1/projects/PROJECT_ID/managedZones/MANAGED_ZONE/rrsets { "name": "RRSET_NAME", "type": "RRSET_TYPE", "ttl": TTL, "routingPolicy": { "healthCheck": "https://www.googleapis.com/compute/beta/projects/PROJECT_ID/global/healthChecks/HEALTH_CHECK_NAME" "wrr": { "items": [{ "weight": WEIGHT, "healthCheckedTargets": { "rrdata": ["RRDATA"] } }, { "weight": 1.0, "healthCheckedTargets": { "rrdata": ["RRDATA", "RRDATA"] } }] } } }
替换以下内容:
PROJECT_ID
:项目的 IDMANAGED_ZONE
:与此ResourceRecordSet
关联的代管式区域,例如service-zone
;此ResourceRecordSet
的名称必须以该代管式区域的 DNS 名称作为后缀。RRSET_NAME
:匹配传入查询的 DNS 名称,并使用此可用区的 DNS 名称作为其后缀,例如service.example.com
。TTL
:解析器缓存此ResourceRecordSet
的 TTL(以秒为单位),例如30
。RRSET_TYPE
:此ResourceRecordSet
的资源记录类型,例如A
。HEALTH_CHECK_NAME
:健康检查的名称。WEIGHT
:对于WRR
政策,采用英文分号分隔的列表(格式为${weight_percent}=${rrdatas}
),例如.8=10.128.1.1;.2=10.130.1.1
;将权重指定为任何非负小数。注意:您必须将权重指定为非负数。路由到目标的流量比率是根据各个权重与所有权重之和的比率计算的。RRDATA
:与资源记录集关联的任意值,例如198.51.100.5
;您还可以输入多个值rrdata1
、rrdata2
、rrdata3
,例如198.51.100.1
、203.0.113.1
。
地理定位
POST https://www.googleapis.com/dns/v1/projects/PROJECT_ID/managedZones/MANAGED_ZONE/rrsets { "name": "RRSET_NAME", "type": "RRSET_TYPE", "ttl": TTL, "routingPolicy": { "healthCheck": "https://www.googleapis.com/compute/beta/projects/PROJECT_ID/global/healthChecks/HEALTH_CHECK_NAME" "geo": { "enableFencing": ENABLE_FENCING "items": [{ "location": "LOCATION", "healthCheckedTargets": { "rrdata": ["RRDATA"] } }, { "location": "LOCATION", "healthCheckedTargets": { "rrdata": ["RRDATA", "RRDATA"] } }] } } }
替换以下内容:
PROJECT_ID
:项目的 IDMANAGED_ZONE
:与此ResourceRecordSet
关联的代管式区域,例如service-zone
;此ResourceRecordSet
的名称必须以该代管式区域的 DNS 名称作为后缀。RRSET_NAME
:匹配传入查询的 DNS 名称,并使用此可用区的 DNS 名称作为其后缀,例如service.example.com
。RRSET_TYPE
:此ResourceRecordSet
的资源记录类型,例如A
。TTL
:解析器缓存此ResourceRecordSet
的 TTL(以秒为单位),例如30
。HEALTH_CHECK_NAME
:健康检查的名称。ENABLE_FENCING
:对于GEO
路由政策,这确定了地区中的所有端点健康状况不佳时,流量是否应跨地区进行故障切换。设置后,Cloud DNS 始终会将查询定向到最近的地区,即使该地区中的所有端点健康状况都不佳。如果未设置,则当某个地区中的所有端点健康状况不佳时,Cloud DNS 会将查询定向到下一个最近地区。有效选项为true
和false
。默认设置为false
。LOCATION
:对于GEO
政策,您需要为其创建政策的地理位置,例如asia-east1
。RRDATA
:与资源记录集关联的任意值,例如198.51.100.5
;您还可以输入多个值rrdata1
、rrdata2
、rrdata3
,例如198.51.100.1
、203.0.113.1
。
故障切换
在故障切换选项中,Cloud DNS 仅支持
GEO
政策。POST https://www.googleapis.com/dns/v1/projects/PROJECT_ID/managedZones/MANAGED_ZONE/rrsets { "name": "RRSET_NAME", "type": "RRSET_TYPE", "ttl": TTL, "routingPolicy": { "healthCheck": "https://www.googleapis.com/compute/beta/projects/PROJECT_ID/global/healthChecks/HEALTH_CHECK_NAME" "primaryBackup": { "trickleTraffic": TRICKLE_TRAFFIC, "primaryTargets": { "rrdata": ["RRDATA"] } "backupGeoTargets": { "enableFencing": ENABLE_FENCING, "items": [{ "location": "LOCATION", "rrdatas": ["RRDATA] }, { "location": "LOCATION", "rrdatas": ["RRDATA", "RRDATA"] }] } } } }
替换以下内容:
PROJECT_ID
:项目的 IDMANAGED_ZONE
:与此ResourceRecordSet
关联的代管式区域,例如service-zone
;此ResourceRecordSet
的名称必须以该代管式区域的 DNS 名称作为后缀。RRSET_NAME
:匹配传入查询的 DNS 名称,并使用此可用区的 DNS 名称作为其后缀,例如service.example.com
。RRSET_TYPE
:此ResourceRecordSet
的资源记录类型,例如A
。TTL
:解析器缓存此ResourceRecordSet
的 TTL(以秒为单位),例如30
。HEALTH_CHECK_NAME
:健康检查的名称。TRICKLE_TRAFFIC
:发送到备份目标的流量的比率(即使主实例健康状况良好);该比率必须介于 0 和 1 之间,例如0.1
。RRDATA
:与资源记录集关联的任意值,例如198.51.100.5
;您还可以输入多个值rrdata1
、rrdata2
、rrdata3
,例如198.51.100.1
、203.0.113.1
。ENABLE_FENCING
:对于GEO
路由政策,这确定了地区中的所有端点健康状况不佳时,流量是否必须跨地区进行故障切换。设置后,Cloud DNS 始终会将查询定向到最近的地区,即使该地区中的所有端点健康状况都不佳。如果未设置,则当某个地区中的所有端点健康状况不佳时,Cloud DNS 会将查询定向到下一个最近地区。默认设置为false
。LOCATION
:对于GEO
政策,您需要为其创建政策的地理位置,例如asia-east1
。
更新 DNS 路由政策
如需更新资源记录集的路由政策,请按以下步骤操作。
控制台
在 Google Cloud 控制台中,进入 Cloud DNS 区域页面。
点击要为其更新资源记录集路由政策的可用区。
在区域详情页面上,点击您要更新的资源记录集旁边的edit修改。
更新完成后,点击保存。
gcloud
运行 gcloud dns record-sets update
命令:
WRR
gcloud dns record-sets update RRSET_NAME \ --ttl=TTL \ --type=RRSET_TYPE \ --zone=MANAGED_ZONE \ --routing-policy-type=WRR \ --routing-policy-data=ROUTING_POLICY_DATA \ --enable-health-checking
地理定位
gcloud dns record-sets update RRSET_NAME \ --ttl=TTL \ --type=RRSET_TYPE \ --zone=MANAGED_ZONE \ --routing-policy-type=GEO \ --routing-policy-data=ROUTING_POLICY_DATA \ --enable-health-checking
地理定位(含地理围栏)
gcloud dns record-sets update RRSET_NAME \ --ttl=TTL \ --type=RRSET_TYPE \ --zone=MANAGED_ZONE \ --routing-policy-type=GEO \ --routing-policy-data=ROUTING_POLICY_DATA \ --enable-geo-fencing --enable-health-checking
故障切换
gcloud dns record-sets update RRSET_NAME \ --ttl=TTL \ --type=RRSET_TYPE \ --zone=MANAGED_ZONE \ --routing-policy-type=FAILOVER \ --enable-geo-fencing \ --routing-policy-primary-data=ROUTING_POLICY_PRIMARY_DATA \ --routing-policy-backup-data=ROUTING_POLICY_BACKUP_DATA \ --backup-data-trickle-ratio=BACKUP_DATA_TRICKLE_RATIO \ --enable-health-checking
替换以下内容:
RRSET_NAME
:匹配传入查询的 DNS 名称,并使用此可用区的 DNS 名称作为其后缀,例如service.example.com
TTL
:解析器缓存此ResourceRecordSet
的 TTL(以秒为单位),例如30
RRSET_TYPE
:此ResourceRecordSet
的资源记录类型,例如A
如需查看受支持的记录类型的列表,请参阅选择资源记录类型。
MANAGED_ZONE
:与此ResourceRecordSet
关联的代管式区域,例如service-zone
。此ResourceRecordSet
的名称必须以该代管式区域的 DNS 名称作为后缀ROUTING_POLICY_TYPE
:路由政策的类型。对于加权轮循,输入
WRR
;对于地理位置,输入GEO
;对于故障切换政策,输入FAILOVER
。在政策具有选定类型后,您将无法修改此字段;您只能删除现有政策并添加具有其他类型的新政策。ROUTING_POLICY_DATA
:路由政策数据- 对于
--routing-policy-type=WRR
,请输入格式为${weight_percent}:${rrdatas}
的分号分隔列表,例如.8=203.0.113.1;.2=198.51.100.1
。将权重指定为非负小数。路由到目标的流量比率是根据各个权重与所有权重之和的比率计算的。 转发规则名称是可接受的值,因此会启用健康检查。 - 对于
--routing-policy-type=GEO
,请输入格式为${region}=${IP_address}
的分号分隔列表,例如asia-east1=198.51.100.1;us-central1=203.0.113.1
。您可以通过添加以英文逗号分隔的 IP 地址来为单个区域指定多个 IP 地址。转发规则名称是可接受的值,因此会启用健康检查。 对于
--routing-policy-type=FAILOVER
,请以${region}=${Forwarding rule name}
格式输入您创建的转发规则的名称。
- 对于
--enable-geo-fencing
:对于GEO
路由政策,这确定了地区中的所有端点健康状况不佳时,流量是否应跨地区进行故障切换。设置后,Cloud DNS 始终会将查询定向到最近的地区,即使该地区中的所有端点健康状况都不佳。使用--no-enable-geo-fencing
停用地理围栏。如果未设置,则当某个地区中的所有端点健康状况不佳时,Cloud DNS 会将查询定向到下一个最近地区。默认设置为false
。ROUTING_POLICY_PRIMARY_DATA
:用于FAILOVER
路由政策的主要目标。此目标必须是对一个或多个转发规则的引用,例如forwarding-rule-1
。只要这些转发规则中至少有一个健康状况良好,系统就会使用所有健康状况良好的转发规则的 IP 地址来响应此名称的查询。ROUTING_POLICY_BACKUP_DATA
:用于FAILOVER
路由政策的备份目标。当--routing-policy-primary-data
中指定的所有转发规则健康状况不佳时,会用到这些目标。Cloud DNS 仅支持基于地理位置的备份目标。如果--routing-policy-type = 'GEO'
(例如asia-east1=forwarding-rule-2
),此字段的格式与--routing-policy-data
的格式匹配。BACKUP_DATA_TRICKLE_RATIO
:即使主目标位置健康状况良好仍需发送到备份目标位置的流量的比率。该比率必须介于 0 和 1 之间,例如0.1
。默认值设为 0。--enable-health-checking
:启用以 rrdata 形式提供给--routing-policy-data
的转发规则的健康检查。
API
使用 resourceRecordSets.patch
方法。 只能指定 rrset.rrdatas
或 rrset.routingPolicy
中的一项。如果指定 routingPolicy
,则必须完整指定新的 routingPolicy
字段。
WRR
对于 WRR
政策,请使用以下方法:
PATCH https://www.googleapis.com/dns/v1/projects/PROJECT_ID/managedZones/MANAGED_ZONE/rrsets { "name": "RRSET_NAME.", "type": "RRSET_TYPE", "ttl": TTL, "routingPolicy": { "wrrPolicy": { "item": [ { "weight": WEIGHT, "rrdatas": ["RRDATA"] }, { "weight": WEIGHT, "rrdatas": ["RRDATA"] } ], } } }
地理定位
请使用以下方法:
PATCH https://www.googleapis.com/dns/v1/projects/PROJECT_ID/managedZones/MANAGED_ZONE/rrsets { "name": "RRSET_NAME", "type": "RRSET_TYPE", "ttl": TTL, "routingPolicy": { "geo": { "items": [ { "location": "LOCATION", "healthCheckedTargets": { "internalLoadBalancers": [ { "loadBalancerType": "LOAD_BALANCER_TYPE" "ipAddress": "IP_ADDRESS" "port" : "PORT_NUMBER" "ipProtocol": "IP_PROTOCOL" "networkUrl": "NETWORK_URL" "project": "PROJECT" "region": "REGION" } ] } }, { "location": "LOCATION", "healthCheckedTargets": { "internalLoadBalancers": [ { "loadBalancerType": "LOAD_BALANCING_TYPE" "ipAddress": "IP_ADDRESS" "port" : "PORT_NUMBER" "ipProtocol": "IP_PROTOCOL" "networkUrl": "NETWORK_URL" "project": "PROJECT" "region": "REGION" } ] } }, } ] } } }
替换以下内容:
PROJECT_ID
:项目的 IDMANAGED_ZONE
:与此ResourceRecordSet
关联的代管式区域,例如service-zone
;此ResourceRecordSet
的名称必须以该代管式区域的 DNS 名称作为后缀RRSET_NAME
:匹配传入查询的 DNS 名称,并使用此可用区的 DNS 名称作为其后缀,例如service.example.com
RRSET_TYPE
:此ResourceRecordSet
的资源记录类型,例如A
TTL
:解析器缓存此ResourceRecordSet
的 TTL(以秒为单位),例如30
TRICKLE_TRAFFIC
:发送到备份目标的流量的比率(即使主实例健康状况良好);该比率必须介于 0 和 1 之间,例如0.1
ENABLE_FENCING
:对于GEO
路由政策,这确定了地区中的所有端点健康状况不佳时,流量是否应跨地区进行故障切换。设置后,Cloud DNS 始终会将查询定向到最近的地区,即使该地区中的所有端点健康状况都不佳。如果未设置,则当某个地区中的所有端点健康状况不佳时,Cloud DNS 会将查询定向到下一个最近地区。默认为false
。LOCATION
:对于GEO
政策,您需要为其更新政策的地理位置,例如asia-east1
WEIGHT
:对于WRR
政策,采用英文分号分隔的列表(格式为${weight_percent}=${rrdatas}
),例如.8=10.128.1.1;.2=10.130.1.1
;将权重指定为任何非负小数。RRDATA
:与资源记录集关联的任意值,例如198.51.100.5
;您还可以输入多个值rrdata1
rrdata2
rrdata3
,例如198.51.100.1
203.0.113.1
...LOAD_BALANCER_TYPE
:负载平衡器的类型,例如regionalL4ilb
、globalL7ilb
或regionalL7ilb
。此设置为可选设置。IP_ADDRESS
:转发规则传送的 IP 地址PORT_NUMBER
:端口号IP_PROTOCOL
:定义用于健康检查的协议。有效选项为tcp
和udp
NETWORK_URL
:此转发规则适用的网络网址REGION
:您在其中创建了转发规则的地区
删除 DNS 路由政策
如需删除路由政策,您必须删除包含路由政策的资源记录集。请按以下步骤操作。
控制台
在 Google Cloud 控制台中,进入 Cloud DNS 区域页面。
点击要为其删除资源记录集的区域。
在区域详情页面上,选中要删除的资源记录集的 DNS 名称旁边的复选框。
点击删除记录集。
gcloud
运行 gcloud dns record-sets delete
命令:
gcloud dns record-sets delete RRSET_NAME \ --type=RRSET_TYPE \ --zone=MANAGED_ZONE \
替换以下内容:
RRSET_NAME
:匹配传入查询的 DNS 名称,并使用此可用区的 DNS 名称作为其后缀,例如service.example.com
RRSET_TYPE
:此ResourceRecordSet
的资源记录类型,例如A
如需查看受支持的记录类型的列表,请参阅选择资源记录类型。
MANAGED_ZONE
:与此ResourceRecordSet
关联的代管式区域,例如service-zone
;此ResourceRecordSet
的名称必须以该代管式区域的 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
:与此ResourceRecordSet
关联的代管式区域,例如my-zone-name
;此ResourceRecordSet
的名称必须以该代管式区域的 DNS 名称作为后缀RRSET_NAME
:匹配传入查询的 DNS 名称,并使用此可用区的 DNS 名称作为其后缀,例如test.example.com
RRSET_TYPE
:此ResourceRecordSet
的资源记录类型,例如A
后续步骤
- 如需使用代管式区域,请参阅创建、修改和删除区域。
- 如需了解您在使用 Cloud DNS 时可能会遇到的常见问题的解决方案,请参阅问题排查。
- 如需大致了解 Cloud DNS,请参阅 Cloud DNS 概览。