适用于 IPv4 和 公共 IPv6 地址范围 的 BYOIP 功能目前处于测试阶段,仅向部分客户开放,供其进行评估和测试。 访问权限仅限于白名单中的账户。

创建公共地址范围

您可以通过定义其大小来创建一个公共地址范围,并可选地指定一个 VPC,将其与该地址范围关联,该 VPC 可在该账户内的任意可用区中。 地址可从 IBM 管理的 IP 池中分配,或者如果您希望使用自己的公开可路由 IP range.You,也可从自定义授权的 CIDR 中分配。您还可以从 IBM 提供的 IPv6 授权 CIDR 中创建公共 IPv6 地址范围,并将其绑定到 VNI 上。 有关 IPv6 的说明,请参阅《 创建 IPv6 公共地址范围并将其绑定到 VNI 》。

如果 VPC 在与公共地址范围绑定时被删除,则地址范围将继续存在,并可在以后与任何可用性区域中的不同 VPC 绑定。

你可以通过控制台、CLI、API 和 Terraform 创建公共地址范围。

准备工作

确保审查公共广播范围的 规划注意事项。

在控制台中创建公共地址范围

要在 IBM Cloud 控制台中创建公共地址范围,请按照以下步骤操作:

  1. 在 IBM Cloud 控制台中,选择导航菜单图标,然后单击基础设施 VPC 图标 > 网络 > 公共地址范围。 显示 VPC 的公共地址范围页面。

  2. 单击创建进入配置页面。

  3. 在“位置”部分,请指定您希望创建公共地址范围的区域。

  4. 在详细信息部分,请填写以下信息:

    • 大小:选择地址范围的大小(IP地址数量)。 您可以选择将 1、2、4、8 或 16 个 IP 包含在区块中。

      创建公共地址范围后,无法更改其大小。

    • 名称:可选:为公共地址范围输入一个名称,例如 my-public-address-range.

    • 资源组:为公共地址范围选择一个资源组。

      创建公共地址范围后,无法更改资源组。

    • 标签:可选:添加标签以帮助您整理和查找资源。 您可以随时在以后添加更多标签。 有关更多信息,请参阅使用标记。

    • BYOIP (IPv4) Beta 发布来源:请从以下选项中选择一项:

      • IBM CIDR:从 IBM 管理的IP地址池中进行选择。 然后,选择地址范围的大小(IP地址数量)。 您可以选择将 1、2、4、8 或 16 个 IP 包含在区块中。

        创建公共地址范围后,无法更改其大小。

      • 自定义授权 CIDR:从 “授权 CIDR”列表中,选择您要从中分配地址的自定义授权 CIDR。 可用的 CIDR 块仅限于所选自定义授权 CIDR 范围内有效的、未分配的地址范围。

        当您选择自定义授权 CIDR 时,您将从自己的 IP 地址段中分配地址,而不是从 IBM 管理的地址池中分配。 如果菜单中没有授权的 CIDR 地址,您可以输入来自授权 CIDR 地址的 IP 地址。 新的CIDR现已开放供用户选择。

        如需了解更多信息,请参阅 《配置自定义授权 CIDR》。

      对于区域授权的 CIDR 地址,仅提供与所选区域关联的 CIDR 地址。

  5. 可选:若要将公共地址范围绑定到现有的 VPC,请将绑定开关切换至开位置。 然后,选择要绑定的 VPC 和可用性区域。

    您可以将公共地址范围绑定到账户中已存在的单个可用性区域中的任何 VPC。 您也可以稍后将地址范围绑定到 VPC。 有关更多信息,请参阅 绑定公共地址范围。

  6. 单击创建。 请求使用公共地址范围。

在 VPC 的公共地址范围页面上,您的地址范围会显示在表格中。 公共地址范围的状态从 Updating 变为 Stable 需要几分钟时间。 处于 Stable 状态时,该地址范围即可投入使用。

通过 CLI 创建公共地址范围

要从命令行创建公共地址范围,请按照以下步骤操作:

  1. 设置 CLI 环境

  2. 登录 CLI 环境。 输入密码后,系统会提示您要使用哪个账户和地区:

    ibmcloud login --sso
    
  3. 运行以下命令:

    ibmcloud is public-address-range-create --ipv4-address-count IPV4_ADDRESS_COUNT [--name NAME] [--vpc VPC --zone ZONE] [--resource-group-id RESOURCE_GROUP_ID | --resource-group-name RESOURCE_GROUP_NAME] [--output JSON] [-q, --quiet]
    

    BYOIP (IPv4) Beta

    ibmcloud is public-address-range-create (--ipv4-address-count IPV4_ADDRESS_COUNT | --cidr CIDR) [--name NAME] [--vpc VPC --zone ZONE] [--resource-group-id RESOURCE_GROUP_ID | --resource-group-name RESOURCE_GROUP_NAME] [--output JSON] [-q, --quiet]
    

    IPv6 Beta

    ibmcloud is public-address-range-create (--ipv4-address-count IPV4_ADDRESS_COUNT | --cidr CIDR | (--authorized-cidr AUTHORIZED_CIDR --network-prefix-length NETWORK_PREFIX_LENGTH)) [--name NAME] [--vpc VPC --zone ZONE | --vni VNI] [--resource-group-id RESOURCE_GROUP_ID | --resource-group-name RESOURCE_GROUP_NAME] [--output JSON] [-q, --quiet]
    

    其中:

    --ipv4-address-count
    所需的公共 IPv4 地址的总数。 必须是 2 的幂。BYOIP (IPv4) Beta 与 --cidr 互斥。IPv6 Beta 与……互斥 --authorized-cidr。

    BYOIP (IPv4) Beta --cidr : 以 CIDR 格式表示的该公共地址范围的公共 IPv4 地址范围。 这必须是您账户中某个自定义授权 CIDR 范围内的一个未分配块。 与 --ipv4-address-count 互斥。

    IPv6 Beta --authorized-cidr : 用于分配此公共地址范围的已授权 IPv6 CIDR 的 ID 或名称。 与 和 --cidr 互斥 --ipv4-address-count。 要求:--network-prefix-length。

    --network-prefix-length
    从授权的 CIDR 中分配的 IPv6 地址块的前缀长度。 支持的值:64 – 128。需要 --authorized-cidr。
    --name
    公共地址范围的名称。 以 开头的名称专 ibm- 用于服务商管理的资源,因此不允许使用。
    --vpc
    用于将此公共地址范围绑定到的 VPC。 需要安装 --zone。IPv6 Beta 不适用于 IPv6 公共地址范围。 请 --vni 改用。
    --zone
    该广播范围所属的区域。 需要安装 --vpc。IPv6 Beta 不适用于 IPv6 公共地址范围。

    IPv6 Beta --vni : 要将此 IPv6 公共地址范围绑定到的VNI的ID或名称。 与 --vpc --zone 互斥。

    --resource-group-id
    资源组的标识。 与 --resource-group-name 互斥。
    --resource-group-name
    资源组的名称。 与 --resource-group-id 互斥。
    --output
    输出格式仅支持JSON。 之一:JSON.
    -q, --quiet
    禁止冗长输出。

命令示例

创建名为 public-address-range-1 的公共地址范围,地址数为 8:

ibmcloud is public-address-range-create --name public-address-range-1 --ipv4-address-count 8

创建一个名为 public-address-range-2 的公共地址范围,包含 4 个地址,并创建一个名为 Default 的资源组:

ibmcloud is public-address-range-create --name public-address-range-2 --ipv4-address-count 4 --resource-group-name Default

创建名为 public-address-range-3 的公共地址范围,地址数为 8,绑定到 us-south-1 区域中的 VPC cli-test-vpc,资源组 ID 为 72b27b5c-f4b0-48bb-b954-5becc7c1dcb3:

ibmcloud is public-address-range-create --name public-address-range-3 --ipv4-address-count 8 --vpc cli-test-vpc --zone us-south-1 --resource-group-id 72b27b5c-f4b0-48bb-b954-5becc7c1dcb3

BYOIP (IPv4) Beta根据自定义授权的 CIDR 创建一个公共地址范围,并将其绑定到 VPC 和区域:

ibmcloud is public-address-range-create --name public-address-range-3 --cidr 46.16.186.112/28 --vpc cli-test-vpc --zone us-south-2 --resource-group-name Default

从自定义授权的 CIDR 地址中创建一个未绑定的公共地址范围:

ibmcloud is public-address-range-create --name public-address-range-4 --cidr 46.16.186.128/28 --resource-group-name Default

从授权的 CIDR中IPv6 Beta创建一个 IPv6 公共地址范围,并将其绑定到VNI( IBM 选择一个地址 /112 块):

ibmcloud is public-address-range-create --name my-ipv6-par --authorized-cidr my-ipv6-authorized-cidr --network-prefix-length 112 --vni my-vni

创建一个未绑定的 IPv6 公共地址范围(稍后绑定到VNI):

ibmcloud is public-address-range-create --name my-ipv6-par-unbound --authorized-cidr my-ipv6-authorized-cidr --network-prefix-length 112

使用 API 创建公共地址范围

开始之前,请先配置您的 API 环境。

选择下列其中一个选项:

  • 从 IBM 管理的IP地址中创建一个公共地址范围,并将其绑定到一个VPC:

    curl -sX POST \
    "$vpc_api_endpoint/v1/public_address_ranges?version=$api_version&generation=2" \
    -H "Authorization: Bearer $iam_token" \
    -H "Content-Type: application/json" \
    -d '{
          "ipv4_address_count": 8,
          "name": "my-public-address-range",
          "target": {
             "vpc": {
                "id": "r006-4727d842-f94f-4a2d-824a-9bc9b02c523b"
             },
             "zone": {
                "name": "us-south-1"
             }
          }
       }'
    
  • 从 IBM 管理的IP地址中创建一个未绑定的公共地址范围:

    curl -sX POST \
    "$vpc_api_endpoint/v1/public_address_ranges?version=$api_version&generation=2" \
    -H "Authorization: Bearer $iam_token" \
    -H "Content-Type: application/json" \
    -d '{
          "ipv4_address_count": 8,
          "name": "my-public-address-range"
       }'
    

BYOIP (IPv4) Beta

  • 根据自定义授权的 CIDR 创建公共地址范围(需要在授权的 CIDR 上执行“is.public-address-range.authorized-cidr.operate”IAM 操作):

    curl -sX POST \
    "$vpc_api_endpoint/v1/public_address_ranges?version=$api_version&generation=2" \
    -H "Authorization: Bearer $iam_token" \
    -H "Content-Type: application/json" \
    -d '{
          "cidr": "192.168.3.192/28",
          "name": "my-par-from-cidr"
       }'
    

IPv6 Beta

  • 从授权的 CIDR 中创建一个 IPv6 公共地址范围,并将其绑定到 VNI:

    curl -sX POST \
    "$vpc_api_endpoint/v1/public_address_ranges?version=$api_version&generation=2" \
    -H "Authorization: Bearer $iam_token" \
    -H "Content-Type: application/json" \
    -d '{
          "name": "my-ipv6-par",
          "authorized_cidr": { "id": "'$authorized_cidr_id'" },
          "network_prefix_length": 112,
          "target": {
             "virtual_network_interface": { "id": "'$vni_id'" }
          }
       }'
    

如果需要更改地址范围或资源组的大小,必须删除并重新创建地址范围。

后续步骤