IBM Cloud Docs
ルーティング・テーブルの作成

ルーティング・テーブルの作成

ルーティング・テーブルを作成してルールを定義すると、ネットワーク・トラフィックを最適なパスで宛先に転送できます。 例えば、経路のネクスト・ホップにネットワーク経由でデータ・パケットを送信するための情報をルーティング・テーブルで提供できます。

開始前に

ルーティング・テーブルを作成する前に、少なくとも1つのVPCがあることを確認し、ルーティング・テーブルの 制限とガイドラインを 確認して遵守してください。

コンソール、CLI、API、Terraformを使って、 IBM Cloud サービスのルーティングテーブルを作成できる。

コンソールでルーティングテーブルを作成する

コンソールでルーティングテーブルを作成するには、以下の手順に従ってください:

  1. IBM Cloud コンソールからナビゲーションメニューの [Menu]アイコンを 選択し、 [Infrastructure VPC]アイコン >[ Network ]>[ Routing tables]の順にクリックします。 「VPC 用のルーティング・テーブル」ページが表示されます。

  2. ページ右上の**「作成」**をクリックします。

  3. VPCプロビジョニングのルーティング・テーブル・ページで、以下の情報を入力します:

    • ルーティング・テーブルの固有の名前を入力します。

    • ルーティング・テーブルを関連付ける仮想プライベート・クラウドを選択します。

    • タグ- (オプション)タグを追加して、リソースの整理や検索に役立ちます。 後でさらにタグを追加できます。 詳しくは、『タグの処理』を参照してください。

    • アクセス管理タグ- (オプション) リソースにアクセス管理タグを追加して、アクセス制御の関係を整理します。 サポートされるアクセス管理タグの形式は key:value のみです。 詳しくは、タグを使用したリソースに対するアクセス権限の制御を参照してください。

    • 仮想プライベートクラウド- VPCを選択します。

    • 「トラフィック」セクションでは、以下のオプション・フィーチャーから選択できます。

      • ルートを受け入れる (オプション)-ルーティング・テーブル内にルートを作成できるリソースを選択します。 「VPN サーバー」「VPN ゲートウェイ」、またはその両方のスイッチを選択できます。

      • トラフィックソース(オプション)- このルーティング テーブルを使用してトラフィックを VPC にルーティングするトラフィック ソースを選択します。

        • Direct Link- からのイングレス・トラフィックを許可します。 IBM Cloud Direct Link 専用接続またはコネクト接続からオンプレミスへのトラフィックを許可します。 オプションで、VPC のアドレス接頭部の範囲にない直接リンクへの経路を公示することができます。
        • トランジット・ゲートウェイ- 別のVPCまたはクラシック・インフラストラクチャからのイングレス・トラフィックを許可します。 IBM Cloud Transit Gateway から別のVPCまたは古典的なインフラストラクチャへのイングレス・トラフィックを許可します。 オプションで、VPC のアドレス接頭部の範囲にない中継ゲートウェイへの経路を公示することができます。
        • VPCゾーン- 同じVPCの別のアベイラビリティ・ゾーンへのイングレス・トラフィックを許可する。
        • パブリック・インターネット- フローティングIP宛てのパブリック・インターネットのイングレス・トラフィックをVPCのネクストホップIPにルーティングできるようにする。
  4. Create routing tableをクリックします。

CLIからルーティング・テーブルを作成する

開始する前に、 CLI 環境をセットアップします

CLIからルーティング・テーブルを作成するには、以下のコマンドを実行する:

ibmcloud is vpc-routing-table-create VPC [--name 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] [--advertise-routes-to direct_link | transit_gateway | direct_link, transit_gateway] [--output JSON] [-q, --quiet]

ここで、

VPC
VPCのIDまたは名前。
--name
VPCルーティングテーブルの名前。
--direct-link-ingress, --direct-link
オプション。 true に設定されている場合、このルーティング・テーブルは IBM Cloud Direct Link からこの VPC に発信されるトラフィックをルーティングするために使用されます。 ルーティングを成功させるには、このプロパティが true に設定されたルーティング・テーブルを VPC が既に持っていない必要があります。 の一つ: false true.
--internet-ingress, --internet
このルーティング・テーブルを使用して、インターネットから発信されるトラフィックをルーティングするかどうかを示します。 true に更新すると、このルーティング・テーブルが選択されます。ただし、VPC 内にこのプロパティがすでに true に設定されているルーティング・テーブルがない場合に限ります。 false に更新すると、このルーティングテーブルの選択が解除される。 の一つ: false true.
--transit-gateway-ingress, --transit-gateway
true に設定されている場合、このルーティング・テーブルは Transit Gateway からこの VPC に発信されるトラフィックをルーティングするために使用されます。 ルーティングを成功させるには、このプロパティが true に設定されたルーティング・テーブルを VPC が既に持っていない必要があります。 の一つ: false true.
--vpc-zone-ingress, --vpc-zone
オプション。 true に設定されている場合、このルーティングテーブルはパブリックインターネットから発信されるトラフィックをルーティングするために使用される。 ルーティングを成功させるには、このプロパティが true に設定された既存のルーティング・テーブルが VPC に存在しない必要があります。 の一つ: false true.
--accept-routes-from-resource-type-filters, --ar-rtf
このルーティングテーブルにルートを作成することができる、カンマで区切られたリソースタイプのフィルター。 の一つ:vpn_servervpn_gatewa
--advertise_routes_to TARGETS
オプション。 このルーティング・テーブル内の経路の公示ターゲットのコンマ区切りリストです。 現在、direct_link そして transit_gateway 許可される値です。direct_link 必要 direct-link-ingress に設定する truetransit_gateway 必要 transit—gateway-ingress に設定する true。 ルーティングテーブル内の全てのルートは advertise オプション設定 true「advertise_routes_to」で指定された入力ソースにアドバタイズされます。
--output
出力フォーマットです。 次のいずれか: JSON
-q, --quiet
詳細出力を抑止します。

deliver アクションを持つ経路は、ネクスト・ホップが、経路のゾーン内のサブネット上のネットワーク・インターフェースにバインドされている IP アドレスでない限り、 drop として扱われます。 したがって、着信パケットがインターネットにバインドされた IP アドレスまたは VPN ゲートウェイ接続のネクスト・ホップを持つ経路と一致する場合、そのパケットはドロップされます。

1つのVPCにつき1つのルーティング・テーブルだけに true 、そのルーティング・テーブルがどのサブネットにもアタッチされていない場合にのみ、イングレス・オプションを設定できる。

CLI の例

ibmcloud is vpc-routing-table-create 72b27b5c-f4b0-48bb-b954-5becc7c1dcb3 --name my-vpc-routing-table -—advertise-routes-to direct_link --direct-link-ingress true -—output JSON

ibmcloud is vpc-routing-table-create my-vpc --name my-vpc-routing-table --advertise-routes-to transit_gateway —-transit-gateway-ingress true --output JSON

ibmcloud is vpc-routing-table-create my-vpc --name my-vpc-routing-table --advertise-routes-to direct_link, transit_gateway --direct-link-ingress true —transit-gateway-ingress true -—output JSON

ibmcloud is vpc-routing-table-create 979b4bc6-f018-40a2-92f5-0b1cf777b55d --name test-vpc-cli-routing-tb1 --direct-link-ingress false --internet-ingress false --transit-gateway-ingress false --vpc-zone-ingress true

APIでルーティングテーブルを作成する

APIを使ってルーティング・テーブルを作成するには、以下の手順に従ってください:

  1. API 環境をセットアップします。

  2. API コマンドで使用する VpcId の値を変数に格納します。

    export VpcId=<your_vpc_id>
    
  3. ルーティング・テーブルを作成します。

    発信ルーティング・テーブル:

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

    着信ルーティング・テーブル:

       curl -X POST "$vpc_api_endpoint/v1/vpcs/$VpcId/routing_tables?version=$api_version&generation=2" \
       -H "Authorization: $iam_token" \
       -d '{
             "name": "my-ingress-routing-table",
             "route_direct_link_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_direct_link_ingress     = true
      }
      
    • VPN サーバーから作成されたルートを受け入れるルーティング テーブルを作成するには:

      resource "ibm_is_vpc_routing_table" "example" {
        vpc                              = ibm_is_vpc.example.id
        name                             = "example-vpc-routing-table"
        route_direct_link_ingress        = true
        accept_routes_from_resource_type = ["vpn_server"]
      }
      
    • IBM Cloud Direct Link からこの VPC に発信されるトラフィックをルーティングするルーティング・テーブルを作成します:

      resource "ibm_is_vpc_routing_table" "is_vpc_routing_table_instance" {
        vpc                           = ibm_is_vpc.example.id
        name                          = "example-vpc-routing-table"
        route_direct_link_ingress     = true
        route_transit_gateway_ingress = false
        route_vpc_zone_ingress        = false
        advertise_routes_to           = ["direct_link", "transit_gateway"]
      }
      
    • ユーザータグとアクセスタグを含むルーティングテーブルを作成する:

      resource "ibm_is_vpc_routing_table" "example" {
        tags                          = ["rt-tag"]
        access_tags                   = ["access:dev"]
        vpc                           = ibm_is_vpc.example.id
        name                          = "example-vpc-routing-table"
        route_direct_link_ingress     = true
        route_transit_gateway_ingress = false
        route_vpc_zone_ingress        = false
      }
      

      CRNとリソースグループは、回答とデータソースに含まれている。

      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_crn  = ibm_is_vpc_routing_table.example.crn
      }
      

ibm_is_vpc_routing_table リソースに関する資料については、 Terraform レジストリー を参照してください。