ルーティング・テーブルの作成
ルーティング・テーブルを作成してルールを定義すると、ネットワーク・トラフィックを最適なパスで宛先に転送できます。 例えば、経路のネクスト・ホップにネットワーク経由でデータ・パケットを送信するための情報をルーティング・テーブルで提供できます。
開始前に
ルーティング・テーブルを作成する前に、少なくとも1つのVPCがあることを確認し、ルーティング・テーブルの 制限とガイドラインを 確認して遵守してください。
コンソール、CLI、API、Terraformを使って、 IBM Cloud サービスのルーティングテーブルを作成できる。
コンソールでルーティングテーブルを作成する
コンソールでルーティングテーブルを作成するには、以下の手順に従ってください:
-
IBM Cloud コンソールから、 ナビゲーションメニューの
選択し、 [Infrastructure
>[ Network ]>[ Routing tables]の順にクリックします。 「VPC 用のルーティング・テーブル」ページが表示されます。
-
ページ右上の**「作成」**をクリックします。
-
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にルーティングできるようにする。
-
-
-
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_server
、vpn_gatewa
。 --advertise_routes_to TARGETS
- オプション。 このルーティング・テーブル内の経路の公示ターゲットのコンマ区切りリストです。 現在、
direct_link
そしてtransit_gateway
許可される値です。direct_link
必要direct-link-ingress
に設定するtrue
。transit_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を使ってルーティング・テーブルを作成するには、以下の手順に従ってください:
-
API 環境をセットアップします。
-
API コマンドで使用する
VpcId
の値を変数に格納します。export VpcId=<your_vpc_id>
-
ルーティング・テーブルを作成します。
発信ルーティング・テーブル:
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 を使用してルーティング・テーブルを作成するには、以下の手順を実行します。
-
Terraform環境をセットアップする。
-
以下の例のいずれかを使用してください:
-
ルーティングテーブルを作成するには
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 レジストリー を参照してください。