更新遞送表

您可以使用主控台、CLI、API 或 Terraform 更新路由表。

在主控台中更新路由表

若要更新主控台中的路由表,請遵循下列步驟:

  1. 請務必檢閱 限制和準則

  2. IBM Cloud 主控台,選擇導覽功能表 功能表圖示,然後按一下基礎結構 VPC 圖示 > 網路 > 路由表。 即會出現 VPC 的遞送表頁面。

  3. 在表格中尋找遞送表。 您可以:

    • 使用動作功能表動作功能表 重新命名或刪除路由表。

    • 按一下遞送表的名稱,以檢視其詳細資料頁面。 在「概述」標籤中,您可以執行以下操作:

      • 一下新增標籤以新增標籤,或按一下編輯圖示編輯圖示 以編輯路由表的標籤。
      • 點擊編輯圖標編輯圖示 重命名路由表。
      • 按一下動作功能表動作功能表 刪除路由表。
      • 在流量部分中,點擊編輯圖標編輯圖示 編輯流量配置和管理路線。
      • 在「路線」部分中,管理現有路線,或按一下創造新增路線。

從 CLI 更新遞送表

開始之前,請 設定 CLI 環境

若要從 CLI 更新遞送表,請執行下列指令:

ibmcloud is vpc-routing-table-update VPC ROUTING_TABLE [--name NEW_NAME] [--direct-link-ingress false | true] [--internet-ingress, --internet false | true] [--transit-gateway-ingress false | true] [--vpc-zone-ingress false | true] [--accept-routes-from-resource-type-filters, --ar-rtf vpn_server | vpn_gateway | --clean-all-accept-routes-from-filters, --cl-arf] [--advertise_routes_to TARGETS] [--output JSON] [-q, --quiet]

其中:

VPC
此為 VPC 的 ID 或名稱。
ROUTING_TABLE
此為 VPC 路由表的 ID 或名稱。
--name
這是路由表的新名稱。
--direct-link-ingress, ``direct-link
選用。 若設定為 true,則會使用路由表將源自 IBM Cloud Direct Link 的流量路由至此 VPC。 若要使路由設定成功,該 VPC 不得已存在將此屬性設定為 true 的路由表。 下列其中一項: falsetrue
--internet-ingress, --internet
指出是否使用此路由表來遞送源自網際網路的資料流量。 若將此屬性設為 true, 系統將選用此路由表,但前提是 VPC 內沒有其他路由表已將此屬性設為 true。 將值更新為 false 將取消選取此路由表。 下列其中一項: falsetrue
--transit-gateway-ingress, --transit-gateway
若設定為 true, 此路由表將用於將源自 Transit Gateway 的流量路由至此 VPC。 若要使路由設定成功,該 VPC 不得已存在將此屬性設定為 true 的路由表。 下列其中一項: falsetrue
--vpc-zone-ingress, --vpc-zone
若設定為 true, 此路由表將用於路由來自此 VPC 中其他區域子網的流量。 若要使路由設定成功,該 VPC 不得已存在將此屬性設定為 true 的路由表。 下列其中一項: falsetrue
--accept-routes-from-resource-type-filters, --ar-rtf
可以在此路由表中建立路由的逗點區隔資源類型過濾器。 移除現有的資源過濾器時,所有從與資源過濾器相符的資源得知的路由都將予以移除。 下列其中一項: vpn_servervpn_gateway
--clean-all-accept-routes-from-filters, --cl-arf
從過濾器中移除所有接受路徑,並從路由表中刪除所有得知的路徑。
--advertise_routes_to TARGETS
是此路由表中路由的廣告目標清單 (以逗點區隔)。 目前容許值為 direct_linktransit_gatewaydirect_link 需要將 direct-link-ingress 設為 truetransit_gateway 需要將 transit—gateway-ingress 設為 true。 遞送表中 通告 選項設為 true 的所有路由會通告至 '通告 _routes_to' 指定的進入來源。
--output
是輸出格式。 下列其中一項: JSON
-q, --quiet
抑制詳細輸出。

動作為 deliver 的路由會被視為 drop,除非下一個中繼站是連結至路徑區域中子網路介面的 IP 位址。 因此,如果送入的封包符合具有網際網路連結 IP 位址或 VPN 閘道連線的下一個中繼站的路徑,則會捨棄該封包。

在每個 VPC 僅一個遞送表上,您可以將進入選項設為 true,然後僅當該遞送表未連接至任何子網路時才如此。

CLI 範例

ibmcloud is vpc-routing-table-update 72b27b5c-f4b0-48bb-b954-5becc7c1dcb3 72b27b5c-f4b0-48bb-b954-5becc7c1d456 --name my-renamed-vpc-routing-table --output JSON
ibmcloud is vpc-routing-table-update my-vpc my-vpc-routing-table --name my-renamed-vpc-routing-table --output JSON
ibmcloud is vpc-routing-table-update vpc-doloremque-6364-us-east  test-vpc-cli-routing-tb2 --direct-link-ingress true --internet-ingress false --transit-gateway-ingress true  --vpc-zone-ingress false
ibmcloud is vpc-routing-table-update 979b4bc6-f018-40a2-92f5-0b1cf777b55d  27415d55-9d3b-4adb-a993-236ef59a45ec --direct-link-ingress false --internet-ingress false   --transit-gateway-ingress false  --vpc-zone-ingress false

使用 API 更新遞送表

若要使用 API 建立遞送表,請遵循下列步驟:

  1. 設定 API 環境

  2. VpcIdRoutingTableId 值儲存在要在 API 指令中使用的變數中:

    export VpcId=<your_vpc_id>
    export RoutingTableId=<your_routing_table_id>
    
  3. 更新遞送表的名稱:

    curl -X PATCH \
    "$vpc_api_endpoint/v1/vpcs/$VpcId/routing_tables/$RoutingTableId?version=$api_version&generation=2" \
    -H "Authorization: ${iam_token}" \
    -d '{
          "name": "test-routing-table-updated"
        }'
    

    更新遞送表,以用於從網際網路遞送資料流量:

    curl -X PATCH \
    "$vpc_api_endpoint/v1/vpcs/$VpcId/routing_tables/$RoutingTableId?version=$api_version&generation=2" \
    -H "Authorization: ${iam_token}" \
    -d '{
          "route_internet_ingress": true
        }'
    

使用 Terraform 更新路由表

若要使用 Terraform 更新遞送表,請遵循下列步驟:

  1. 設定您的 Terraform 環境。

  2. 請使用以下其中一個範例:

    • 要更新路由表:

      resource "ibm_is_vpc_routing_table" "example" {
        vpc                           = ibm_is_vpc.example.id
        name                          = "example-vpc-routing-table"
      }
      
    • 如果要使用 route-internet-ingress 屬性來更新現有的遞送表,請執行下列動作:

      resource "ibm_is_vpc_routing_table" "example" {
        vpc                              = ibm_is_vpc.example.id
        name                             = "example-vpc-routing-table"
        route_internet_ingress           = true
      }
      

      如果 route_internet_ingress 設為 true,則會使用此遞送表來遞送源自網際網路的資料流量。 若要使路由設定成功,該 VPC 不得已存在將此屬性設定為 true`` 的路由表。

有關 ibm_is_vpc_routing_table 資源的文件,請參閱 Terraform Registry