将网络负载平衡器与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 区域并授予负载均衡器访问权限。

  1. 必须先创建 DNS 区域,然后才能将其绑定到负载均衡器。 有关更多信息,请参阅 管理 DNS 区域。

  2. 要授予负载均衡器对 DNS 区域的访问权,必须启用服务到服务授权。 这将授予负载均衡器对 DNS 区域的访问权。 有关更多信息,请参阅 授予服务之间的访问权。 请务必选择 “VPC 基础设施服务”作为源服务,选择“VPC 负载均衡器”作为资源类型,DNS Services 作为目标服务,并分配 “Manager”服务访问角色。

在控制台中使用 DNS 区域

您可以在供应期间将 DNS 区域与网络负载均衡器绑定和取消绑定,也可以与现有负载均衡器绑定和取消绑定。

在控制台创建负载平衡器时绑定 DNS 区域

创建负载均衡器时,可以将 DNS 区域绑定到负载均衡器。 如果在创建负载均衡器期间未指定 DNS 区域,那么将使用缺省区域。 缺省情况下,负载均衡器主机名是 lb.appdomain.cloud 的子域,并且公开可见。

要在 创建负载均衡器 时绑定 DNS 区域,请执行以下步骤:

  1. 在浏览器中打开 IBM Cloud 控制台,并登录您的账户。
  2. 选择导航菜单 菜单图标,然后单击基础架构 VPC 图标 > 网络 > 负载平衡器。
  3. 单击创建。
  4. 根据需要配置 VPC,类型,子网,侦听器和池。
  5. 在“DNS 类型”部分下,选择 专用。
  6. 单击 绑定 + 以输入 DNS 实例和 DNS 区域信息。
  7. 单击 创建 以供应负载均衡器。

在控制台中将 DNS 区域绑定到现有负载平衡器

要将 DNS 区域绑定到现有负载均衡器,请执行以下步骤:

  1. 在浏览器中打开 IBM Cloud 控制台,并登录您的账户。
  2. 选择导航菜单 菜单图标,然后单击基础设施 > 网络 > 负载平衡器。
  3. 从负载均衡器列表中,选择负载均衡器以查看其详细信息页面。
  4. 单击“专用 DNS”部分中的 绑定专用 DNS。
  5. 输入 DNS 实例和 DNS 区域信息。
  6. 单击 绑定专用 DNS 以将 DNS 区域绑定到负载均衡器。

迁移到现有负载均衡器的专用 DNS 区域时,将除去 lb.appdomain.cloud 中的缺省 A 记录。 要准备客户机设备,请在迁移之前使用所需专用 DNS 区域下的缺省主机名创建 CNAME 记录。 配置所有客户机设备以使用新的专用 DNS 区域之后,您可以删除 CNAME 记录并开始迁移。 这允许客户机设备高速缓存专用 DNS 主机名,直到创建 A 记录为止。

在控制台中解除 DNS 区域与现有负载平衡器的绑定

要取消 DNS 区域与负载均衡器的绑定,请执行以下步骤:

  1. 在浏览器中打开 IBM Cloud 控制台,并登录您的账户。
  2. 选择导航菜单 菜单图标,然后单击基础设施 > 网络 > 负载平衡器。
  3. 从负载均衡器列表中,选择负载均衡器以查看其详细信息页面。
  4. 单击“专用 DNS”部分中的 取消绑定 按钮
  5. 再次单击 取消绑定 以验证操作。

从 CLI 使用 DNS 区域

您可以在供应期间将 DNS 区域与网络负载均衡器绑定和取消绑定,也可以与现有负载均衡器绑定和取消绑定。

从 CLI 创建绑定到专用 DNS 区域的负载均衡器

您需要将私有 DNS 的 CRN 绑定到负载平衡器。 要查找该资源,请在 IBM Cloud 控制台中点击 “导航 菜单”图标 > “资源列表”。 单击要查找其 CRN 的 DNS 的表行。 CRN 显示在显示的侧面板中。

要创建具有专用 DNS 区域的网络负载均衡器,请执行以下步骤:

  1. 设置 CLI 环境。

  2. 使用终端登录到您的帐户。 输入密码后,系统会提示您要使用的帐户和区域:

    ibmcloud login --sso
    
  3. 创建负载均衡器:

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 区域更新网络负载均衡器,请执行以下步骤:

  1. 设置您的 CLI 环境。

  2. 使用命令行界面(CLI)登录您的账户。 输入密码后,系统会提示您要使用的帐户和区域:

    ibmcloud login --sso
    
  3. 使用专用 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 区域更新网络负载均衡器,请执行以下步骤:

  1. 设置您的 CLI 环境。

  2. 请登录您的账户。 输入密码后,系统会提示您要使用的帐户和区域:

    ibmcloud login --sso
    
  3. 使用 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
}