将网络负载平衡器与IBM Cloud DNS Services集成
IBM Cloud® Network Load Balancer for VPC 允许您将 DNS 区域从 IBM Cloud DNS Services 将所有 DNS 解析转移到专用网络中。
IBM Cloud DNS Services 为 VPC 用户提供私有 DNS 服务。 私有 DNS 区域仅可在 IBM Cloud 上解析,且仅限于账户中明确允许的网络或具有跨账户访问权限的网络。
请勿删除或修改负载均衡器创建的DNS记录。 这样做可能会导致专用 DNS 和负载均衡器配置不同步,这可能会导致数据路径问题。
有关将自己的私有 DNS 记录名称链接到负载平衡器的更多信息,请参阅解决方案教程《 使用 IAM、VPC、Transit Gateway 和 DNS 实现基于团队的隐私保护 》。
准备工作
在将 DNS 区域绑定到负载均衡器之前,必须先创建 DNS 区域并授予负载均衡器访问权限。
-
必须先创建 DNS 区域,然后才能将其绑定到负载均衡器。 有关更多信息,请参阅 管理 DNS 区域。
-
要授予负载均衡器对 DNS 区域的访问权,必须启用服务到服务授权。 这将授予负载均衡器对 DNS 区域的访问权。 有关更多信息,请参阅 授予服务之间的访问权。 请务必选择 “VPC 基础设施服务”作为源服务,选择“VPC 负载均衡器”作为资源类型,DNS Services 作为目标服务,并分配 “Manager”服务访问角色。
在控制台中使用 DNS 区域
您可以在供应期间将 DNS 区域与网络负载均衡器绑定和取消绑定,也可以与现有负载均衡器绑定和取消绑定。
在控制台创建负载平衡器时绑定 DNS 区域
创建负载均衡器时,可以将 DNS 区域绑定到负载均衡器。 如果在创建负载均衡器期间未指定 DNS 区域,那么将使用缺省区域。 缺省情况下,负载均衡器主机名是 lb.appdomain.cloud 的子域,并且公开可见。
要在 创建负载均衡器 时绑定 DNS 区域,请执行以下步骤:
- 在浏览器中打开 IBM Cloud 控制台,并登录您的账户。
- 选择导航菜单
,然后单击基础架构
> 网络 > 负载平衡器。
- 单击创建。
- 根据需要配置 VPC,类型,子网,侦听器和池。
- 在“DNS 类型”部分下,选择 专用。
- 单击 绑定 + 以输入 DNS 实例和 DNS 区域信息。
- 单击 创建 以供应负载均衡器。
在控制台中将 DNS 区域绑定到现有负载平衡器
要将 DNS 区域绑定到现有负载均衡器,请执行以下步骤:
- 在浏览器中打开 IBM Cloud 控制台,并登录您的账户。
- 选择导航菜单
,然后单击基础设施 > 网络 > 负载平衡器。
- 从负载均衡器列表中,选择负载均衡器以查看其详细信息页面。
- 单击“专用 DNS”部分中的 绑定专用 DNS。
- 输入 DNS 实例和 DNS 区域信息。
- 单击 绑定专用 DNS 以将 DNS 区域绑定到负载均衡器。
迁移到现有负载均衡器的专用 DNS 区域时,将除去 lb.appdomain.cloud 中的缺省 A 记录。 要准备客户机设备,请在迁移之前使用所需专用 DNS 区域下的缺省主机名创建 CNAME 记录。 配置所有客户机设备以使用新的专用 DNS 区域之后,您可以删除 CNAME 记录并开始迁移。 这允许客户机设备高速缓存专用 DNS 主机名,直到创建 A 记录为止。
在控制台中解除 DNS 区域与现有负载平衡器的绑定
要取消 DNS 区域与负载均衡器的绑定,请执行以下步骤:
- 在浏览器中打开 IBM Cloud 控制台,并登录您的账户。
- 选择导航菜单
,然后单击基础设施 > 网络 > 负载平衡器。
- 从负载均衡器列表中,选择负载均衡器以查看其详细信息页面。
- 单击“专用 DNS”部分中的 取消绑定 按钮
- 再次单击 取消绑定 以验证操作。
从 CLI 使用 DNS 区域
您可以在供应期间将 DNS 区域与网络负载均衡器绑定和取消绑定,也可以与现有负载均衡器绑定和取消绑定。
从 CLI 创建绑定到专用 DNS 区域的负载均衡器
您需要将私有 DNS 的 CRN 绑定到负载平衡器。 要查找该资源,请在 IBM Cloud 控制台中点击 “导航 > “资源列表”。 单击要查找其 CRN 的 DNS 的表行。 CRN 显示在显示的侧面板中。
要创建具有专用 DNS 区域的网络负载均衡器,请执行以下步骤:
-
设置 CLI 环境。
-
使用终端登录到您的帐户。 输入密码后,系统会提示您要使用的帐户和区域:
ibmcloud login --sso -
创建负载均衡器:
ibmcloud is lbc pdns-nlb-example private --subnet 0767-064498f3-4df5-4fa5-b2ed-de5a3bfea024 --family application --dns-instance-crn crn:v1:bluemix:public:dns-svcs:global:a/be636a7a6e4d4b6296bedf669ce8f757:c7295f57-4d25-4832-9d7e-a032de0c278c:: --dns-zone-id 0671b738-57f0-468e-8086-10bc480ac00e
样本输出:
ID r014-e424acb0-24af-49a0-ab50-c5969304eb94
Name pdns-nlb-example
CRN crn:v1:bluemix:public:is:us-east:a/be636a7a6e4d4b6296bedf669ce8f757::load-balancer:r014-e424acb0-24af-49a0-ab50-c5969304eb94
Family Application
Datapath logging active false
Host name e424acb0-us-east.example.com
Subnets ID Name
0767-064498f3-4df5-4fa5-b2ed-de5a3bfea024 lb-subnet
Public IPs
Private IPs
Provision status create_pending
Operating status offline
Is public false
Listeners
Pools ID Name
Resource group ID Name
42c4f51adc3147b4b4049ad9826c30a1 Default
Created 2023-02-10T13:18:11-06:00
DNS Instance CRN Zone
crn:v1:bluemix:public:dns-svcs:global:a/be636a7a6e4d4b6296bedf669ce8f757:c7295f57-4d25-4832-9d7e-a032de0c278c:: 0671b738-57f0-468e-8086-10bc480ac00e
Instance Group Supported -
SourceIP Session Supported -
Security groups ID Name
r014-b739c959-fb3c-44cc-9ec5-41c45b4d637e astonish-backing-shadiness-frostlike-cosmos-hunk
UDP Supported false
从 CLI 将现有负载均衡器绑定到专用 DNS 区域
您需要将私有 DNS 的 CRN 绑定到负载平衡器。 要查找该资源,请在 IBM Cloud 控制台中点击 “导航 > “资源列表”。 单击要查找其 CRN 的 DNS 的表行。 CRN 显示在显示的侧面板中。
要使用 CLI 使用专用 DNS 区域更新网络负载均衡器,请执行以下步骤:
-
设置您的 CLI 环境。
-
使用命令行界面(CLI)登录您的账户。 输入密码后,系统会提示您要使用的帐户和区域:
ibmcloud login --sso -
使用专用 DNS 区域信息更新负载均衡器:
ibmcloud is load-balancer-update pdns-nlb-update-example --dns-instance-crn crn:v1:bluemix:public:dns-svcs:global:a/be636a7a6e4d4b6296bedf669ce8f757:c7295f57-4d25-4832-9d7e-a032de0c278c:: --dns-zone-id 0671b738-57f0-468e-8086-10bc480ac00e
样本输出:
ID r014-e68a40fb-2b94-4a92-b8bd-dc9bb92c3ef3
Name pdns-nlb-update-example
CRN crn:v1:bluemix:public:is:us-east:a/be636a7a6e4d4b6296bedf669ce8f757::load-balancer:r014-e68a40fb-2b94-4a92-b8bd-dc9bb92c3ef3
Family Application
Datapath logging active false
Host name e68a40fb-us-east.example.com
Subnets ID Name
0767-064498f3-4df5-4fa5-b2ed-de5a3bfea024 lb-subnet
Public IPs
Reserved IPs ID Address Subnet
0767-16871e0f-c43a-4b6e-8491-a3e075362046 10.241.64.11 0767-064498f3-4df5-4fa5-b2ed-de5a3bfea024
0767-a7db5d37-42cf-473e-ab27-07b679d64ceb 10.241.64.12 0767-064498f3-4df5-4fa5-b2ed-de5a3bfea024
Provision status update_pending
Operating status online
Is public false
Listeners
Pools ID Name
Resource group ID Name
42c4f51adc3147b4b4049ad9826c30a1 Default
Created 2023-02-10T13:36:44-06:00
DNS Instance CRN Zone
crn:v1:bluemix:public:dns-svcs:global:a/be636a7a6e4d4b6296bedf669ce8f757:c7295f57-4d25-4832-9d7e-a032de0c278c:: 0671b738-57f0-468e-8086-10bc480ac00e
Instance Group Supported -
SourceIP Session Supported -
Security groups ID Name
r014-b739c959-fb3c-44cc-9ec5-41c45b4d637e astonish-backing-shadiness-frostlike-cosmos-hunk
UDP Supported false
从 CLI 取消现有负载均衡器与专用 DNS 区域的绑定
要使用缺省公共 DNS 区域更新网络负载均衡器,请执行以下步骤:
-
设置您的 CLI 环境。
-
请登录您的账户。 输入密码后,系统会提示您要使用的帐户和区域:
ibmcloud login --sso -
使用
reset-dns标志更新负载均衡器。ibmcloud is load-balancer-update pdns-nlb-update-example --reset-dns
样本输出:
ID r014-e68a40fb-2b94-4a92-b8bd-dc9bb92c3ef3
Name pdns-nlb-update-example
CRN crn:v1:bluemix:public:is:us-east:a/be636a7a6e4d4b6296bedf669ce8f757::load-balancer:r014-e68a40fb-2b94-4a92-b8bd-dc9bb92c3ef3
Family Application
Datapath logging active false
Host name e68a40fb-us-east.lb.appdomain.cloud
Subnets ID Name
0767-064498f3-4df5-4fa5-b2ed-de5a3bfea024 lb-subnet
Public IPs
Reserved IPs ID Address Subnet
0767-16871e0f-c43a-4b6e-8491-a3e075362046 10.241.64.11 0767-064498f3-4df5-4fa5-b2ed-de5a3bfea024
0767-a7db5d37-42cf-473e-ab27-07b679d64ceb 10.241.64.12 0767-064498f3-4df5-4fa5-b2ed-de5a3bfea024
Provision status update_pending
Operating status online
Is public false
Listeners
Pools ID Name
Resource group ID Name
42c4f51adc3147b4b4049ad9826c30a1 Default
Created 2023-02-10T13:36:44-06:00
Instance Group Supported -
SourceIP Session Supported -
Security groups ID Name
r014-b739c959-fb3c-44cc-9ec5-41c45b4d637e astonish-backing-shadiness-frostlike-cosmos-hunk
UDP Supported false
使用 API 处理 DNS 区域
您可以在供应期间将 DNS 区域与网络负载均衡器绑定和取消绑定,也可以与现有负载均衡器绑定和取消绑定。
使用 API 创建绑定到专用 DNS 区域的负载均衡器
您需要将私有 DNS 的 CRN 绑定到负载平衡器。 要查找该资源,请在 IBM Cloud 控制台中点击 “导航 > “资源列表”。 单击要查找其 CRN 的 DNS 的表行。 CRN 显示在显示的侧面板中。
要在创建期间指定专用 DNS 区域:
在 POST /load_balancers 调用中指定 dns 信息。 有关此创建有效内容的更多信息,请参阅 使用 API 创建应用程序负载均衡器。
{
"name": "pdns-nlb-example",
"is_public": false,
"dns": {
"instance": {
"crn": "crn:v1:bluemix:public:dns-svcs:global:a/be636a7a6e4d4b6296bedf669ce8f757:c7295f57-4d25-4832-9d7e-a032de0c278c::"
},
"zone": {
"id": "0671b738-57f0-468e-8086-10bc480ac00e"
}
},
"subnets": [
{
"id": "0767-064498f3-4df5-4fa5-b2ed-de5a3bfea024"
}
]
}
样本输出:
{
"id": "r014-eac21cde-a4ce-4980-b037-fc3507112955",
"name": "pdns-nlb-example",
"href": "https://us-east.iaas.cloud.ibm.com/v1/load_balancers/r014-eac21cde-a4ce-4980-b037-fc3507112955",
"crn": "crn:v1:bluemix:public:is:us-east:a/be636a7a6e4d4b6296bedf669ce8f757::load-balancer:r014-eac21cde-a4ce-4980-b037-fc3507112955",
"is_public": false,
"created_at": "2023-02-13T18:58:12Z",
"hostname": "eac21cde-us-east.example.com",
"listeners": [],
"operating_status": "offline",
"pools": [],
"private_ips": [],
"provisioning_status": "create_pending",
"public_ips": [],
"subnets": [
{
"id": "0767-064498f3-4df5-4fa5-b2ed-de5a3bfea024",
"href": "https://us-east.iaas.cloud.ibm.com/v1/subnets/0767-064498f3-4df5-4fa5-b2ed-de5a3bfea024",
"crn": "crn:v1:bluemix:public:is:us-east-2:a/be636a7a6e4d4b6296bedf669ce8f757::subnet:0767-064498f3-4df5-4fa5-b2ed-de5a3bfea024",
"name": "lb-subnet"
}
],
"resource_group": {
"id": "42c4f51adc3147b4b4049ad9826c30a1",
"href": "https://resource-controller.cloud.ibm.com/v1/resource_groups/42c4f51adc3147b4b4049ad9826c30a1",
"name": "Default"
},
"resource_type": "load_balancer",
"logging": {
"datapath": {
"active": false
}
},
"profile": {
"href": "https://us-east.iaas.cloud.ibm.com/v1/load_balancer/profiles/dynamic",
"name": "dynamic",
"family": "Application"
},
"security_groups": [
{
"id": "r014-b739c959-fb3c-44cc-9ec5-41c45b4d637e",
"href": "https://us-east.iaas.cloud.ibm.com/v1/security_groups/r014-b739c959-fb3c-44cc-9ec5-41c45b4d637e",
"crn": "crn:v1:bluemix:public:is:us-east:a/be636a7a6e4d4b6296bedf669ce8f757::security-group:r014-b739c959-fb3c-44cc-9ec5-41c45b4d637e",
"name": "astonish-backing-shadiness-frostlike-cosmos-hunk"
}
],
"security_group_supported": true,
"route_mode": false,
"udp_supported": false,
"dns": {
"instance": {
"crn": "crn:v1:bluemix:public:dns-svcs:global:a/be636a7a6e4d4b6296bedf669ce8f757:c7295f57-4d25-4832-9d7e-a032de0c278c::"
},
"zone": {
"id": "0671b738-57f0-468e-8086-10bc480ac00e"
}
}
}
使用 API 将现有负载均衡器绑定到专用 DNS 区域
您需要将私有 DNS 的 CRN 绑定到负载平衡器。 要查找该资源,请在 IBM Cloud 控制台中点击 “导航 > “资源列表”。 单击要查找其 CRN 的 DNS 的表行。 CRN 显示在显示的侧面板中。
要使用 API 将现有负载均衡器绑定到专用 DNS 区域,请执行以下操作:
在 PATCH /load_balancers 调用中指定 dns 信息。 有关此 PATCH 有效内容的更多信息,请参阅 使用 API 创建应用程序负载均衡器。
{
"dns": {
"instance": {
"crn": "crn:v1:bluemix:public:dns-svcs:global:a/be636a7a6e4d4b6296bedf669ce8f757:c7295f57-4d25-4832-9d7e-a032de0c278c::"
},
"zone": {
"id": "0671b738-57f0-468e-8086-10bc480ac00e"
}
}
}
样本输出:
{
"id": "r014-e68a40fb-2b94-4a92-b8bd-dc9bb92c3ef3",
"name": "pdns-nlb-update-example",
"href": "https://us-east.iaas.cloud.ibm.com/v1/load_balancers/r014-e68a40fb-2b94-4a92-b8bd-dc9bb92c3ef3",
"crn": "crn:v1:bluemix:public:is:us-east:a/be636a7a6e4d4b6296bedf669ce8f757::load-balancer:r014-e68a40fb-2b94-4a92-b8bd-dc9bb92c3ef3",
"is_public": false,
"created_at": "2023-02-10T19:36:44Z",
"hostname": "e68a40fb-us-east.example.com",
"listeners": [],
"operating_status": "online",
"pools": [],
"private_ips": [
{
"address": "10.241.64.11",
"href": "https://us-east.iaas.cloud.ibm.com/v1/subnets/0767-064498f3-4df5-4fa5-b2ed-de5a3bfea024/reserved_ips/0767-16871e0f-c43a-4b6e-8491-a3e075362046",
"id": "0767-16871e0f-c43a-4b6e-8491-a3e075362046",
"name": "yapping-extract-reawake-bullhorn",
"resource_type": "subnet_reserved_ip"
},
{
"address": "10.241.64.12",
"href": "https://us-east.iaas.cloud.ibm.com/v1/subnets/0767-064498f3-4df5-4fa5-b2ed-de5a3bfea024/reserved_ips/0767-a7db5d37-42cf-473e-ab27-07b679d64ceb",
"id": "0767-a7db5d37-42cf-473e-ab27-07b679d64ceb",
"name": "dioxide-stylized-headway-despise",
"resource_type": "subnet_reserved_ip"
}
],
"provisioning_status": "update_pending",
"public_ips": [],
"subnets": [
{
"id": "0767-064498f3-4df5-4fa5-b2ed-de5a3bfea024",
"href": "https://us-east.iaas.cloud.ibm.com/v1/subnets/0767-064498f3-4df5-4fa5-b2ed-de5a3bfea024",
"crn": "crn:v1:bluemix:public:is:us-east-2:a/be636a7a6e4d4b6296bedf669ce8f757::subnet:0767-064498f3-4df5-4fa5-b2ed-de5a3bfea024",
"name": "lb-subnet"
}
],
"resource_group": {
"id": "42c4f51adc3147b4b4049ad9826c30a1",
"href": "https://resource-controller.cloud.ibm.com/v1/resource_groups/42c4f51adc3147b4b4049ad9826c30a1",
"name": "Default"
},
"resource_type": "load_balancer",
"logging": {
"datapath": {
"active": false
}
},
"profile": {
"href": "https://us-east.iaas.cloud.ibm.com/v1/load_balancer/profiles/dynamic",
"name": "dynamic",
"family": "Application"
},
"security_groups": [
{
"id": "r014-b739c959-fb3c-44cc-9ec5-41c45b4d637e",
"href": "https://us-east.iaas.cloud.ibm.com/v1/security_groups/r014-b739c959-fb3c-44cc-9ec5-41c45b4d637e",
"crn": "crn:v1:bluemix:public:is:us-east:a/be636a7a6e4d4b6296bedf669ce8f757::security-group:r014-b739c959-fb3c-44cc-9ec5-41c45b4d637e",
"name": "astonish-backing-shadiness-frostlike-cosmos-hunk"
}
],
"security_group_supported": true,
"route_mode": false,
"udp_supported": false,
"dns": {
"instance": {
"crn": "crn:v1:bluemix:public:dns-svcs:global:a/be636a7a6e4d4b6296bedf669ce8f757:c7295f57-4d25-4832-9d7e-a032de0c278c::"
},
"zone": {
"id": "0671b738-57f0-468e-8086-10bc480ac00e"
}
}
}
使用 API 取消现有负载均衡器与专用 DNS 区域的绑定
要使用 API 将现有负载均衡器取消绑定到专用 DNS 区域,请执行以下操作:
在 PATCH /load_balancers call 中指定空 dns 信息。 有关此 PATCH 有效内容的更多信息,请参阅 使用 API 创建应用程序负载均衡器。
{
"dns": null
}
样本输出:
{
"id": "r014-e68a40fb-2b94-4a92-b8bd-dc9bb92c3ef3",
"name": "pdns-nlb-update-example",
"href": "https://us-east.iaas.cloud.ibm.com/v1/load_balancers/r014-e68a40fb-2b94-4a92-b8bd-dc9bb92c3ef3",
"crn": "crn:v1:bluemix:public:is:us-east:a/be636a7a6e4d4b6296bedf669ce8f757::load-balancer:r014-e68a40fb-2b94-4a92-b8bd-dc9bb92c3ef3",
"is_public": false,
"created_at": "2023-02-10T19:36:44Z",
"hostname": "e68a40fb-us-east.lb.appdomain.cloud",
"listeners": [],
"operating_status": "online",
"pools": [],
"private_ips": [
{
"address": "10.241.64.11",
"href": "https://us-east.iaas.cloud.ibm.com/v1/subnets/0767-064498f3-4df5-4fa5-b2ed-de5a3bfea024/reserved_ips/0767-16871e0f-c43a-4b6e-8491-a3e075362046",
"id": "0767-16871e0f-c43a-4b6e-8491-a3e075362046",
"name": "yapping-extract-reawake-bullhorn",
"resource_type": "subnet_reserved_ip"
},
{
"address": "10.241.64.12",
"href": "https://us-east.iaas.cloud.ibm.com/v1/subnets/0767-064498f3-4df5-4fa5-b2ed-de5a3bfea024/reserved_ips/0767-a7db5d37-42cf-473e-ab27-07b679d64ceb",
"id": "0767-a7db5d37-42cf-473e-ab27-07b679d64ceb",
"name": "dioxide-stylized-headway-despise",
"resource_type": "subnet_reserved_ip"
}
],
"provisioning_status": "update_pending",
"public_ips": [],
"subnets": [
{
"id": "0767-064498f3-4df5-4fa5-b2ed-de5a3bfea024",
"href": "https://us-east.iaas.cloud.ibm.com/v1/subnets/0767-064498f3-4df5-4fa5-b2ed-de5a3bfea024",
"crn": "crn:v1:bluemix:public:is:us-east-2:a/be636a7a6e4d4b6296bedf669ce8f757::subnet:0767-064498f3-4df5-4fa5-b2ed-de5a3bfea024",
"name": "lb-subnet"
}
],
"resource_group": {
"id": "42c4f51adc3147b4b4049ad9826c30a1",
"href": "https://resource-controller.cloud.ibm.com/v1/resource_groups/42c4f51adc3147b4b4049ad9826c30a1",
"name": "Default"
},
"resource_type": "load_balancer",
"logging": {
"datapath": {
"active": false
}
},
"profile": {
"href": "https://us-east.iaas.cloud.ibm.com/v1/load_balancer/profiles/dynamic",
"name": "dynamic",
"family": "Application"
},
"security_groups": [
{
"id": "r014-b739c959-fb3c-44cc-9ec5-41c45b4d637e",
"href": "https://us-east.iaas.cloud.ibm.com/v1/security_groups/r014-b739c959-fb3c-44cc-9ec5-41c45b4d637e",
"crn": "crn:v1:bluemix:public:is:us-east:a/be636a7a6e4d4b6296bedf669ce8f757::security-group:r014-b739c959-fb3c-44cc-9ec5-41c45b4d637e",
"name": "astonish-backing-shadiness-frostlike-cosmos-hunk"
}
],
"security_group_supported": true,
"route_mode": false,
"udp_supported": false,
"dns": null
}