GRE トンネル接続の作成

GRE(Generic Routing Encapsulation)トンネルのTransit Gateway接続を使用してエンドポイントを接続できます。 この接続により、 Transit Gatewayは、 クラシック・インフラストラクチャーリソース上でホストされているオーバーレイネットワークに接続できるようになります。

この形式のGREトンネルは、現在では非推奨となっている。 バインドされていないGREトンネルの使用を推奨する。 詳細については、 未結合のGREトンネルの作成を 参照してください。

アンバインドGREトンネルには次のような利点がある:

  • クラシック接続からクラシックネットワークのサブネットを受信する機能。
  • 同じアベイラビリティ・ゾーン内の同じTransit Gateway上にある、他のバインドされていないGREトンネルを介して通信する能力。
  • Transit Gatewayクラシック接続を必要としない。 その結果、クラシックネットワークのサブネットはTransit Gatewayコネクションにアドバタイズされない(逆も同様)。

GREトンネルを非結合のGREトンネルに移行するには、新しい非結合のGREトンネルを作成する前に、既存のGREトンネルを削除する必要があります。 また、新しいトンネルを作成するまでの間、古いGREトンネルを使用しているものは、移行によってネットワークが中断されます。

GREトンネルから非結合のGREトンネルに移行するには

  1. 新しい非結合GREトンネルで使用するために、既存のGREトンネルの設定情報を収集する。

  2. 古いGREトンネルを削除する

  3. 必要であれば、クラシック接続を削除する。

    クラシック接続は、他のGREトンネルで使用されている場合は削除できない。

  4. 新しい非結合GREトンネルを作成する

Transit Gateway、ゲートウェイの所有者が、自身のニーズに合わせてHAを個別に設定する必要があります。 GRE接続はポイント・ツー・ポイント接続であり、組み込みの冗長性を持たず、単一障害点となります。 中継ゲートウェイで GRE 接続を構成する場合は、アベイラビリティー・ゾーンを指定する必要があります。 堅牢なHAソリューションを実現するには、異なるアベイラビリティゾーンを使用して複数のGRE接続を設定してください。

開始前に

GRE トンネル接続を作成するには、その前に以下の前提条件を満たす必要があります。

  • 既存のクラシック・インフラストラクチャー接続を用意しておくか、ここで作成します。 詳しくは、接続の追加を参照してください。 GRE トンネル接続は、クラシック・インフラストラクチャー上のエンドポイントのみと接続します。
  • その他の前提条件については、 GRE接続に関する考慮 事項を確認してください。

UIでGREトンネル接続を作成する

UIで作成できるのは、バインドされていないGREトンネルだけです。 詳細については、 未結合のGREトンネルの作成を 参照してください。

CLIからGREトンネル接続を作成する

指定された中継ゲートウェイで Generic Routing Encapsulation (GRE) トンネル接続を作成します。

ibmcloud tg connection-create-gre|ccgre GATEWAY_ID --name NAME --zone ZONE --base-connection-id BASE_CONNECTION_ID --local-gateway-ip LOCAL_GATEWAY_IP --local-tunnel-ip LOCAL_TUNNEL_IP --remote-gateway-ip REMOTE_GATEWAY_IP --remote-tunnel-ip REMOTE_TUNNEL_IP [--remote-bgp-asn REMOTE_BGP_ASN] [--output json]

ここで、

GATEWAY_ID
新しい接続がバインドされるゲートウェイのID。
--name
新しい接続の名前。
--zone
GREトンネルのアベイラビリティゾーン。 例: us-south-1
--base-connection-id
GREトンネルのアンダーレイとなる、従来のネットワーク接続のID。
--local-gateway-ip
GREトンネル接続用のローカルゲートウェイのIPアドレス。
--local-tunnel-ip
GREトンネル接続用のローカルトンネルIPアドレス。
--remote-gateway-ip
GREトンネル接続用のリモートゲートウェイのIPアドレス。
--remote-tunnel-ip
GREトンネル接続用のリモートトンネルIPアドレス。
--remote-bgp-asn
オプション:リモートBGP ASNが指定されていない場合は、自動的に生成されます。
--output json
オプション:出力をJSON形式で表示します。
--help | -h
オプション:このコマンドに関するヘルプを表示します。

ベース接続として「 9037f710-8dfb-4948-a2bd-847c8dde96d3 」というクラシック接続を使用し、「 gre-connection 」という名前のGREトンネル接続を作成します:

ibmcloud tg connection-create-gre $gateway  --name gre-connection --base-connection-id 9037f710-8dfb-9999-a2bd-847c8dde96d3  --zone us-south-2 --local-gateway-ip 192.168.100.1 --local-tunnel-ip 192.168.101.1 --remote-gateway-ip 10.242.63.12 --remote-tunnel-ip 192.168.101.2

APIによるGREトンネル接続の作成

要求の例

この例ではGRE接続を要求している:

curl -X POST "https://transit.cloud.ibm.com/v1/transit_gateways/test/connections?version=2022-01-27" -H "accept: application/json" -H "Content-Type: application/json" -d "{\"base_connection_id\":\"975f58c1-afe7-469a-9727-7f3d720f2d32\",\"local_gateway_ip\":\"192.168.100.1\",\"local_tunnel_ip\":\"192.168.129.2\",\"name\":\"Transit_Service_BWTN_SJ_DL\",\"network_type\":\"gre_tunnel\",\"remote_bgp_asn\":65010,\"remote_gateway_ip\":\"10.242.63.12\",\"remote_tunnel_ip\":\"192.168.129.1\"}"

このリクエストのペイロードは以下の通りです:

{
  "base_connection_id": "975f58c1-afe7-469a-9727-7f3d720f2d32",
  "local_gateway_ip": "192.168.100.1",
  "local_tunnel_ip": "192.168.129.2",
  "name": "Transit_Service_BWTN_SJ_DL",
  "network_type": "gre_tunnel",
  "remote_bgp_asn": 65010,
  "remote_gateway_ip": "10.242.63.12",
  "remote_tunnel_ip": "192.168.129.1"
}

応答例

この例は、GREトンネルを作成したときの応答を示している:

{
  "created_at": "2020-03-31T12:08:05Z",
  "id": "1a15dca5-7e33-45e1-b7c5-bc690e569531",
  "name": "example-connection",
  "network_type": "gre_tunnel",
  "status": "pending",
  "updated_at": "2020-03-31T12:08:05Z"
}

詳細については、『 Transit Gateway 』APIリファレンスの「 に接続を追加します Transit Gateway 」を参照してください。

Terraformを使ってGREトンネル接続を作成する

GRE(Generic Routing Encapsulation)トンネル接続を作成するときに、リソースに以下の引数参照を指定できます:

GRE を作成するための Terraform 引数の参照
引数 詳細
** base_connection_id**
オプション
新しいリソースを強制する
文字列
** gateway**
必須
新しいリソースを強制
Transit Gatewayを入力してください。
** local_gateway_ip**
オプション
新しいリソースを強制
文字列
** local_tunnel_ip**
オプション
新しいリソースを強制
文字列
** name**
オプション
文字列
network_type
Required
Forces new resource
string
ネットワーク・タイプ。 許可される値は以下の通りです gre_tunnel
** remote_bgp_asn**
オプション
新しいリソースを強制
整数
** remote_gateway_ip**
オプション
新しいリソースを強制
文字列
** remote_tunnel_ip**
オプション
新しいリソースを強制
文字列
** zone**
オプション
新しいリソースを強制
文字列

この例では、GREトンネル接続のリクエストについて説明します:

resource "ibm_tg_connection" "test_ibm_tg_connection" {
  gateway            = ibm_tg_gateway.test_tg_gateway.id
  network_type       = "gre_tunnel"
  name               = "myconnection"
  base_connection_id = testgretunnel
  local_gateway_ip   = 192.168.0.1
  local_tunnel_ip    = 10.0.0.1
  remote_bgp_asn     = 36361
  remote_gateway_ip  = 192.168.1.1
  remote_tunnel_ip   = 10.0.1.1
  zone               = us-east
}