将子网连接到路由表

查看路由表的详细信息时,还可以查看已连接子网的详细信息,或者连接子网以将路由表路由应用于特定子网。 请注意,一个路由表可以与多个子网相关联。 不过,每个子网只能分配一个路由表。 默认情况下,未与路由表关联的任何子网都与默认路由表关联。 您还可以将子网的路由表重新分配到另一个子网。

您可以使用控制台、CLI、API 或 Terraform 将子网附加到路由表,或将路由表重新分配给特定子网。

在控制台中将子网附加到路由表

要在控制台中将路由表附加到子网,请按照以下步骤操作:

  1. IBM Cloud 控制台,选择导航菜单 导航菜单图标,然后单击基础架构 VPC 图标 > 网络 > 路由表。 出现 VPC 的路由表页面。
  2. 单击要在其中查看子网详细信息的路由表的名称。 或者,您可以单击附加子网的数量。
  3. 从“子网”选项卡中,单击 连接子网。 出现“将子网附加到路由表”侧面板。
  4. 从下拉列表中选择一个子网。 将显示子网的当前路由表,IP 范围和位置。
  5. 单击连接

要将路由表重新分配到子网,请执行以下步骤:

  1. 在“路由表详细信息”页面中,单击“子网”选项卡。
  2. 单击子网旁边的操作菜单操作菜单,然后单击重新分配路由表
  3. 在“重新分配子网路由表”侧面板中,单击要分配给此路由表的子网。
  4. 点击“重新分配”。

从 CLI 将子网连接到路由表

开始之前,请 设置 CLI 环境

要从 CLI 将子网连接到路由表,请运行以下命令:

ibmcloud is subnet-update SUBNET_ID --routing-table-id ROUTING_TABLE_ID

其中:

SUBNET_ID
要更新的子网的 ID 或名称。
ROUTING_TABLE_ID
要为子网分配的路由表 ID 或名称。

使用 API 将子网连接到路由表

要使用 API 将子网连接到路由表,请执行以下步骤:

  1. 设置 API 环境

  2. VpcId 值存储在要在 API 命令中使用的变量中:

    export VpcId=<your_vpc_id>
    
  3. 将子网连接到路由表:

    curl -X PUT "$vpc_api_endpoint/v1/subnets/$subnet_id/routing_table?version=$api_version&generation=2"
    -H "Authorization: Bearer $iam_token"
    -d '{
      "id": "37491549-51c0-4acc-9e7b-9ab3628e1a68"
        }'
    

使用 Terraform 将子网连接到路由表

要使用 Terraform 查看所有或特定路由表的详细信息,请执行以下步骤:

  1. 设置您的 Terraform 环境。

  2. 请使用以下示例之一:

    • 要将子网连接到路由表,请执行以下操作:

      resource "ibm_is_subnet_routing_table_attachment" "example" {
        subnet        = ibm_is_subnet.example.id
        routing_table = ibm_is_vpc_routing_table.example.routing_table
      }
      

      有关 ibm_is_subnet_routing_table_attachment 资源的更多信息,请参见 Terraform 注册表

    • 在现有子网资源中,更新由标识符指定的 routing_table 属性:

      resource "ibm_is_subnet" "example" {
        name            = "example-subnet"
        vpc             = ibm_is_vpc.example.id
        zone            = "us-south-1"
        ipv4_cidr_block = "10.240.0.0/24"
        routing_table   = ibm_is_vpc_routing_table.example.routing_table
      }
      

      有关 routing_table 资源的更多信息,请参见 Terraform 注册表