8
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

IBM CloudのVPC Gen2とClassic InfrastructureをTransit Gatewayで繋ぐ

8
Last updated at Posted at 2020-08-05

目的

IBM CloudのIaaSは旧SoftLayerをベースにしていましたが、新たなアーキテクチャに刷新した新サービスVPC Gen2が東京でも利用できるようになりました。

VPC Gen2がどういうものかは他の方の記事におまかせするとして、旧SoftLayer、いわゆるClassic Infrastructureをすでに利用している場合は、当面はVPC Gen2と共存していくことになると思います。このとき1つ注意点があります。Classic InfrastructureとVPC Gen2は、デフォルトではプライベートアドレス同士で直接通信することができません。もちろんパブリック同士では可能ですが、通信量の増大や遅延を避けるため、あるいは通信の保護のため、プライベートネットワークで通信したいケースが多いはずです。今回はそれを可能にするTransit Gatewayを検証してみます。

現在とりうる方法

そもそも両者をプライベートで通信可能にする方法ですが、現在は2つの方法があるようです。

クラシック・アクセス

VPC作成時に、クラシック・リソースへのアクセスを有効にしますをチェックします。

image.png

簡単ですが制約があり、1つのリージョンに1つのVPCだけがこの機能を使うことができます。つまりリージョン内に複数のVPCがある場合は他のVPCはこの機能を使うことができないことに注意が要ります。

https://cloud.ibm.com/docs/vpc?topic=vpc-setting-up-access-to-classic-infrastructure

Transit Gateway

Transit Gatewayは異なるリージョン間またはリージョン内の異なるのVPCを接続するためのサービスです。さらに、Classic Infrastructureとも接続することができます。ただしこちらも制約があり、Classic Infrastructureと接続できるTransit Gatewayはアカウントで1つしか設定できないようです。その点は注意です。

https://cloud.ibm.com/docs/transit-gateway

検証

次のような構成とします。

image.png

設定前の確認

当然ですが、お互いのIPでは通信できません。

# Classic to VPC tok1
$ ping 10.244.0.4
PING 10.244.0.4 (10.244.0.4) 56(84) bytes of data.

# Classic to VPC tok2
$ ping 10.244.64.4
PING 10.244.64.4 (10.244.64.4) 56(84) bytes of data.

# VPC tok1 to Classic
$ ping 10.193.17.194
PING 10.193.17.194 (10.193.17.194) 56(84) bytes of data.

# VPC tok2 to Classic
$ ping 10.193.17.194
PING 10.193.17.194 (10.193.17.194) 56(84) bytes of data.

Transit Gatewayのオーダー

カタログからTransit Gatewayを選択します。

ローカル・ルーティングまたはグローバル・ルーティングを選びます。今回は東京内での通信ですのでローカル・ルーティングとし、ロケーションは東京とします。ちなみにグローバル・ルーティングにすると、異なるリージョン間のVPCを接続することができますが、通信量が月1TBを超えると有料になるようです。

image.png

次に接続でクラシック・インフラストラクチャーをプルダウンから選択します。さらに追加でVPCを選択し、地域やVPC名を選択します。

image.png

これでオーダーします。

設定後の確認

オーダー後しばらく待つと(1~2分程度)、お互いに通信が可能になります。

# Classic to tok1
$ ping 10.244.0.4
PING 10.244.0.4 (10.244.0.4) 56(84) bytes of data.
64 bytes from 10.244.0.4: icmp_seq=1538 ttl=51 time=1.99 ms
64 bytes from 10.244.0.4: icmp_seq=1539 ttl=51 time=2.00 ms
64 bytes from 10.244.0.4: icmp_seq=1540 ttl=55 time=1.38 ms
# Classic to tok2
$ ping 10.244.64.4
PING 10.244.64.4 (10.244.64.4) 56(84) bytes of data.
64 bytes from 10.244.64.4: icmp_seq=1517 ttl=55 time=1.75 ms
64 bytes from 10.244.64.4: icmp_seq=1518 ttl=55 time=1.77 ms
64 bytes from 10.244.64.4: icmp_seq=1519 ttl=55 time=1.70 ms
# VPC tok1 to Classic
$ ping 10.193.17.194
PING 10.193.17.194 (10.193.17.194) 56(84) bytes of data.
64 bytes from 10.193.17.194: icmp_seq=1586 ttl=55 time=2.12 ms
64 bytes from 10.193.17.194: icmp_seq=1587 ttl=55 time=2.07 ms
64 bytes from 10.193.17.194: icmp_seq=1588 ttl=55 time=1.50 ms
# VPC tok1 to Classic
$ ping 10.193.17.194
PING 10.193.17.194 (10.193.17.194) 56(84) bytes of data.
64 bytes from 10.193.17.194: icmp_seq=1104 ttl=55 time=1.72 ms
64 bytes from 10.193.17.194: icmp_seq=1105 ttl=55 time=1.72 ms
64 bytes from 10.193.17.194: icmp_seq=1106 ttl=55 time=1.75 ms

はい、とても簡単でした。

注意点

Classic Infrastructureと接続できるTransit Gatewayがアカウント内で1つしか作れないため、Classic Infrastructureの仮想サーバをグローバルにデプロイしているケースでは、通信経路が最適にはならない場合があります。例えばVPCが東京とダラスにあり、Classic Infrastructureの仮想サーバがダラスにある場合、東京にTransit Gatewayを置くと、ダラスのVPCとClassic Infrastructure間の通信はわざわざ東京を経由することになってしまいます。

また、Transit Gatewayを通る通信のアクセス制御はTransit Gatewayではできません。ACLやSecurity Groupで個別設定をする必要があります。

8
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
8
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?