绑定、解除绑定和移动公共地址范围
您可以使用控制台、CLI、API 和 Terraform 将公共地址范围绑定、解除绑定或移动到可用性区域中的 VPC。
准备工作
在绑定、解除绑定或移动公共地址范围之前,请仔细阅读以下要求和注意事项:
在控制台中绑定、取消绑定和移动公共地址范围
您可以在控制台中将公共地址范围绑定、解除绑定或移动到可用性区域中的 VPC。
在控制台中绑定公共地址范围
要在 IBM Cloud® 控制台中绑定公共地址范围,请按以下步骤操作:
- 从 IBM Cloud 控制台,选择导航菜单
,然后单击基础架构
> 网络 > 公共地址范围。 出现“VPC 的公共地址范围”页面。
- 高亮显示表中地址范围的行,然后单击操作菜单
中的绑定。
- 在 “绑定公共地址范围”页面中,选择您要绑定该地址范围的 VPC 及其对应的可用区。
- 单击“**绑定 **”将公共地址范围绑定到 VPC。
在控制台中解除公共地址范围的绑定
要在 IBM Cloud 控制台中解除公共地址范围的绑定,请按以下步骤操作:
公共地址解除绑定后,仍被保留并可再次绑定。
- 从 IBM Cloud 控制台,选择导航菜单
,然后单击基础架构
> 网络 > 公共地址范围。 出现“VPC 的公共地址范围”页面。
- 高亮显示表中地址范围的行,然后单击操作菜单
中的解除绑定。
- 单击“解除绑定”确认要从 VPC 解除对该地址范围的绑定。
在控制台中移动公共地址范围
如果公共地址范围绑定到可用性区域中的 VPC,则可以更新并将其绑定(移动)到不同的 VPC 和可用性区域。 公共地址范围会自动从其 VPC 和可用性区域解除绑定,然后绑定到新指定的 VPC 和可用性区域。
您不需要先将地址范围从其原始目标解除绑定。
要在控制台中移动公共地址范围,请按照以下步骤操作:
- 从 IBM Cloud 控制台,选择导航菜单
,然后单击基础架构
> 网络 > 公共地址范围。 出现“VPC 的公共地址范围”页面。
- 高亮显示表中地址范围的行,然后单击操作菜单
中的编辑。
- 在 “编辑公共地址范围”页面中,选择您要将地址范围迁移到的 VPC 及其可用区。
- 单击保存将公共地址范围绑定到新 VPC。
通过 CLI 绑定、取消绑定和移动公共地址范围
要从命令行绑定、取消绑定或移动保留的 IP 地址,请按照以下步骤操作:
-
登录 CLI 环境。 输入密码后,系统会提示您要使用哪个账户和地区:
ibmcloud login --sso -
启用以下功能标志:
export IBMCLOUD_IS_FEATURE_PUBLIC_ADDRESS_RANGE=true当 IBM Cloud 命令行界面及其插件有更新可用时,您将在命令行中收到通知。 更新 CLI 以访问最新命令非常重要。 要检查所有已安装插件的当前版本,请运行
ibmcloud plugin list. -
运行以下命令:
ibmcloud is public-address-range-update PUBLIC_ADDRESS_RANGE [--name NAME] ([--vpc VPC --zone ZONE] | [--reset-target]) [--output JSON] [-q, --quiet]其中:
PUBLIC_ADDRESS_RANGE- 要更新的公共地址范围的 ID 或名称。
--name- 公共地址范围的新标识符(如果要重新命名)。
--vpc- 您要将其公共地址范围附加到的 VPC。 在指定
--vpc选项时,需要使用--zone。 --zone- 您希望将此公网地址范围分配到的区域。 在指定
--zone选项时,需要使用--vpc。 --reset-target- 解除对公共地址范围的绑定。
-f, --force- 强制执行该操作,无需确认。
--output- 输出格式仅支持 JSON。 之一:JSON.
-q, --quiet- 禁止冗长输出。
命令示例
如果公共地址没有绑定到 VPC,则可以将其绑定到任何可用性区域中的 VPC:
ibmcloud is public-address-range-update r006-81222eee-b3e0-4dc3-b429-aee9e5c0abf2 --name public-address-range-1 --vpc cli-test-vpc --zone us-south-1
从 VPC 解除对公共地址范围的绑定,使其保持未绑定状态:
ibmcloud is public-address-range-update r006-81222eee-b3e0-4dc3-b429-aee9e5c0abf2 --name public-address-range-1 --reset-target
将公共地址范围从一个 VPC 移到另一个:
ibmcloud is public-address-range-update r006-81222eee-b3e0-4dc3-b429-aee9e5c0abf2 --vpc cli-test-vpc --zone us-south-2
使用 API 绑定、解除绑定和移动公共地址范围
要使用 API 绑定、解除绑定或移动公共地址范围,请按照以下步骤操作:
- 设置 API 环境
- 在变量中存储以下值,以便在 API 命令中使用:
version (字符串):API 版本,格式为。YYYY-MM-DD
-
启动所有变量后,选择以下操作之一:
- 将公共地址范围绑定到特定 VPC:
curl -X PATCH \ "$vpc_api_endpoint/v1/public_address_ranges/$par_id?version=$api_version&generation=2" \ -H "Authorization: Bearer $iam_token" \ -H "Content-Type: application/json" \ -d '{ "target": { "vpc": { "id": "r006-4727d842-f94f-4a2d-824a-9bc9b02c523b" }, "zone": { "name": "us-south-2" } } }'
-
从特定 VPC 解除对公共地址范围的绑定:
curl -X PATCH \
"$vpc_api_endpoint/v1/public_address_ranges/$par_id?version=$api_version&generation=2" \
-H "Authorization: Bearer $iam_token" \
-H "Content-Type: application/json" \
-d '{
"target": null
}'
```
公共地址解除绑定后,仍被保留,可以再次绑定。
{: note}
* 将公共地址范围从一个 VPC 移到另一个:
```sh {: pre}
curl -X PATCH \
"$vpc_api_endpoint/v1/public_address_ranges/$par_id?version=$api_version&generation=2" \
-H "Authorization: Bearer $iam_token" \
-H "Content-Type: application/json" \
-d '{
"target": {
"vpc": {
"id": "r006-9999aaaa-bbbb-cccc-dddd-1234567890ab"
},
"zone": {
"name": "us-south-3"
}
}
}'
```
## 使用 Terraform 绑定、解除绑定和移动公共地址范围 {: #par-bind-unbind-terraform terraform}
要使用 Terraform 绑定、解除绑定或移动公共地址范围,请使用下面的示例:
```terraform {: codeblock}
resource "ibm_is_public_address_range" "public_address_range_instance" {
ipv4_address_count = "16"
name = "example-public-address-range"
resource_group{
id = "11caaa983d9c4beb82690daab08717e9"
}
target{
vpc {
id = ibm_is_vpc.testacc_vpc.id
}
zone {
name = "us-south-3"
}
}
}