Edited at

Megaport Cloud Router(MCR)でAzure, Google Cloud, AWSとOracle Cloudを接続してみてみた


■目的

Megaport は Network As A Service(NaaS)プロバイダーです。

Megaport Cloud Router(MCR)は、世界中の500を超える主要なルーティングゾーンから、レイヤ3でのプライベート接続のための仮想ルーティング機能を備えています。

物理的なインフラがなくても、コストは必要帯域幅のみでクラウドからクラウドへの接続およびMegaport Network上のあらゆるプロバイダへ直接接続することができます。

ということで、MCRでGoogle Cloud(GCP)とAWSとOracle Cloud Infrastructure(OCI)を接続してみます。

Megaport-Cloud-Connectivity-Graphic-1024x464.png


■構成

前回のGCP,AWSとOCIを接続した構成にAzure(US East)を追加接続してみてみます

構成図Azure.png


■Megaport:MCR作成とGCP,AWSとOCI接続

Megaport:MCR作成とOCI,AWS,GCP接続は下記を参考に設定します。

ここでは、OCI,AWS,GCP接続された状態で、Azureを追加します。

・参考:

Megaport Cloud Router(MCR)でAWSとOracle Cloudを接続してみてみた

Megaport Cloud Router(MCR)でGoogle Cloud とAWSとOracle Cloudを接続してみてみた


■Azure:ExpressRoute設定

1) AzureにLogin後[すべてのサービス] > [ネットワーキング] > [ExpressRoute回線]をクリック

01.png

2) [ExpressRoute回線の作成]をクリック

02.png

3) 「ExpressRoute回線の作成」画面で以下のように設定し、[作成]をクリックし作成

・回線名:任意の名前を設定

・プロバイダー:[Oracle Cloud FastConnect]を選択
・ピアリングの場所:[Washington DC]を選択
・帯域幅:50Mbps〜10Gbps の範囲から選択
・SKUと課金モデル:[制限無]もしくは[従量課金]を選択
・場所:(米国)米国東部を選択

03.png

4)デプロイ実行中

数分待つと作成され、作成されたExpressRouteをダブルクリック

04.png

5) 作成したExpressRoute画面

 「サービス キー」をコピーします。

 この「サービス キー」を使用してMCRと接続します

05.png


■Megaport:MCRとAzure接続

ここからは、MegaportのコンソールでAzureで作成したExpressRouteと接続します

①Services画面

Megaportのコンソールから[Services]を選択し、GCPを接続するMCRアイコンの[Connection]をクリック

01.png

②New Connection:Select Type画面

[Cloud]をクリック

02.png

③New Connection:Select Port画面

以下のように設定し、[Next]をクリック

・Select Provider: [Azure ExpressRoute]アイコンを選択

・Microsoft Azure Service Key: Azureの「Express Route」作成で発行された[Service Key]を記入
・Choose from available Google Ports: ここでは[Washington DC Primary]を選択、2本目は[Secondary]を選択
 

03.png

④New Connection:Connection Details画面

以下のように必要項目を設定し[Next]をクリック

・Name your Connection: 接続名を設定

・Rate Limit: 作成したMCRの帯域範囲内の帯幅を設定

04.png

⑤New Connection:MCR A End画面

[Next]をクリック

05.png

⑥New Connection:Summary画面 

 設定項目を描き人して、[Add VXC]をクリック

06.png

⑦Megaport Services画面

GCPとの接続が作成されたことを確認し、左ペインにある[Order]をクリック

07.png

⑧Order Services画面

書かれている重要事項を確認し、[Order Now]をクリック

09.png

⑨Order Services画面

数分しばらくすると

10.png

アイコンがグリーンとなり開通します

12.png


■Azure:ExpressRouteとVNet(Virtual Network)接続

VNet内のインスタンスがExpressRouteを通るようExpressRouteとVNetを接続します


●仮想ネットワークゲートウェイ作成

VNetとExpressRouteを接続するためのゲートウェイを作成します

1)[全てのサービス] > [ネットワーキング] > [仮想ネットワークゲートウェイ]をクリック

01.png

2)[仮想ネットワークゲートウェイの作成]をクリック

02.png

3)仮想ネットワーク ゲートウェイの作成画面

以下必要内容を設定し、[確認および作成]をクリック

・地域:(米国)米国西部を選択

・ゲートウェイの種類:[ExpressRoute]を選択
・SKU:必要なSKUを選択
・仮想ネットワーク:付属させる仮想ネットワークを選択
・ゲートウェイサブネットのアドレス範囲:選択した仮想ネットワーク内に配置するための専用サブネットを設定
・パブリックIPアドレス:作成する仮想ネットワーク ゲートウェイのIPを設定
・パブリックIPアドレス名:任意の名前を設定

03.png

4)確認および作成画面

設定した内容を確認して[作成]をクリック

04.png

5)仮想ネットワーク ゲートウェイ画面

作成されたことを確認

05.png


●ExpressRouteとVNet(仮想ネットワーク)を接続

ExpressRouteとVNetのデータセンターを接続します

1) [すべてのサービス] > [ネットワーキング] > [接続]をクリック

01.png

2)接続画面

[接続の作成]をクリック

02.png

3) 接続:[基本]画面

以下のように設定

・接続の種類: [ExpressRoute]を選択

・サブスクリプション: [従量課金]を選択
・リソースグループ: 接続するvNETのグループを選択
・場所: [米国]米国西部を選択

03.png

4)接続:[設定]画面

以下のように設定

・仮想ネットワークゲートウェイ:作成したExpressRoute用の仮想ネットワークゲートウェイを選択

・ExpressRoute回線:作成したExpressRoute回線を選択
・接続名:任意の名前を設定
・ルーティングの重み:他NWとは接続しないため、[0]を設定

04.png

4)接続:概要画面

 設定した内容を確認し、[OK]をクリック

05.png

5)作成した接続の状態が「成功」になれば完了

07.png


■Azure:セキュリティとルート設定


●ネットワーク セキュリティ グループ設定

以下のように各CLoudとの通信が受信/送信セキュリティ規則が通るように設定

今回は次のPrivate IPを設定します

10.0.0.0/8

172.16.0.0/12

02_SL.png


●ルートテーブル設定

Azureと対向の各Cloud間を通すルートを設定

ここでは、次のPrivate IPを設定しています

10.0.0.0/8

172.16.0.0/12

 

01_RT.png


■各Cloudのインスタンス間導通確認

Azureと各Cloudが導通するか確認します

Cloudのファイアウォールだけでなく、各コマンドが通るようOSのファイアーウォールも事前に通るよう設定しておきまます


●Azure-OCI

①traceroute:経路確認

[root@azure-inst01 azure]# traceroute 10.10.0.2

traceroute to 10.10.0.2 (10.10.0.2), 30 hops max, 60 byte packets
1 172.20.1.4 (172.20.1.4) 64.149 ms 64.132 ms 64.108 ms
2 169.254.195.161 (169.254.195.161) 64.252 ms 64.232 ms 64.209 ms
3 * * *
4 10.10.0.2 (10.10.0.2) 64.339 ms 64.310 ms 64.264 ms

②ping:疎通確認

pingが通ることを確認

[root@azure-inst01 azure]# ping 10.10.0.2 -c 3

PING 10.10.0.2 (10.10.0.2) 56(84) bytes of data.
64 bytes from 10.10.0.2: icmp_seq=1 ttl=60 time=71.8 ms
64 bytes from 10.10.0.2: icmp_seq=2 ttl=60 time=70.5 ms
64 bytes from 10.10.0.2: icmp_seq=3 ttl=60 time=71.9 ms

--- 10.10.0.2 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2003ms
rtt min/avg/max/mdev = 70.546/71.447/71.955/0.638 ms

③iperf3:帯域確認

今回は100Mで設定しているので、100M程度あることを確認

[root@azure-inst01 azure]# iperf3 -c 10.10.0.2

Connecting to host 10.10.0.2, port 5201
[ 4] local 172.20.0.4 port 44546 connected to 10.10.0.2 port 5201
[ ID] Interval Transfer Bandwidth Retr Cwnd
[ 4] 0.00-1.00 sec 22.7 MBytes 191 Mbits/sec 0 6.01 MBytes
[ 4] 1.00-2.00 sec 45.0 MBytes 377 Mbits/sec 0 6.01 MBytes
[ 4] 2.00-3.00 sec 46.2 MBytes 388 Mbits/sec 0 6.01 MBytes
[ 4] 3.00-4.00 sec 26.2 MBytes 220 Mbits/sec 2318 687 KBytes
[ 4] 4.00-5.00 sec 10.0 MBytes 83.9 Mbits/sec 3892 742 KBytes
[ 4] 5.00-6.00 sec 12.5 MBytes 105 Mbits/sec 227 662 KBytes
[ 4] 6.00-7.00 sec 8.75 MBytes 73.4 Mbits/sec 19 592 KBytes
[ 4] 7.00-8.00 sec 8.75 MBytes 73.4 Mbits/sec 0 626 KBytes
[ 4] 8.00-9.00 sec 10.0 MBytes 83.9 Mbits/sec 0 649 KBytes
[ 4] 9.00-10.00 sec 10.0 MBytes 83.9 Mbits/sec 0 660 KBytes
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval Transfer Bandwidth Retr
[ 4] 0.00-10.00 sec 200 MBytes 168 Mbits/sec 6456 sender
[ 4] 0.00-10.00 sec 197 MBytes 166 Mbits/sec receiver

④ssh接続確認

sshでGCPインスタンスへ接続できることを確認

[root@azure-inst01 azure]# ssh -i id_rsa opc@10.10.0.2 hostname

oci-inst01


●Azure-GCP

①traceroute:経路確認

OCIのBGP IP(192.168.255.1)の経路で疎通していることを確認

[root@azure-inst01 azure]# traceroute 10.150.0.3

traceroute to 10.150.0.3 (10.150.0.3), 30 hops max, 60 byte packets
1 172.20.1.4 (172.20.1.4) 64.319 ms 64.308 ms 64.283 ms
2 169.254.195.161 (169.254.195.161) 64.261 ms 64.237 ms 64.214 ms
3 * * *
4 10.150.0.3 (10.150.0.3) 66.902 ms 66.887 ms 66.858 ms

②ping:疎通確認

pingが通ることを確認

[root@azure-inst01 azure]# ping 10.150.0.3 -c 3

PING 10.150.0.3 (10.150.0.3) 56(84) bytes of data.
64 bytes from 10.150.0.3: icmp_seq=1 ttl=61 time=72.2 ms
64 bytes from 10.150.0.3: icmp_seq=2 ttl=61 time=64.3 ms
64 bytes from 10.150.0.3: icmp_seq=3 ttl=61 time=72.0 ms

--- 10.150.0.3 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2002ms
rtt min/avg/max/mdev = 64.399/69.572/72.270/3.658 ms

③iperf3:帯域確認

今回は100Mで設定しているので、100M程度あることを確認

[root@azure-inst01 azure]# iperf3 -c 10.150.0.3

Connecting to host 10.150.0.3, port 5201
[ 4] local 172.20.0.4 port 33394 connected to 10.150.0.3 port 5201
[ ID] Interval Transfer Bandwidth Retr Cwnd
[ 4] 0.00-1.00 sec 22.8 MBytes 191 Mbits/sec 0 6.00 MBytes
[ 4] 1.00-2.00 sec 35.0 MBytes 294 Mbits/sec 1431 493 KBytes
[ 4] 2.00-3.00 sec 12.5 MBytes 105 Mbits/sec 3938 732 KBytes
[ 4] 3.00-4.00 sec 11.2 MBytes 94.4 Mbits/sec 235 776 KBytes
[ 4] 4.00-5.00 sec 10.0 MBytes 83.9 Mbits/sec 7 586 KBytes
[ 4] 5.00-6.00 sec 8.75 MBytes 73.4 Mbits/sec 0 626 KBytes
[ 4] 6.00-7.00 sec 10.0 MBytes 83.9 Mbits/sec 0 651 KBytes
[ 4] 7.00-8.00 sec 10.0 MBytes 83.9 Mbits/sec 0 665 KBytes
[ 4] 8.00-9.00 sec 10.0 MBytes 83.9 Mbits/sec 0 670 KBytes
[ 4] 9.00-10.00 sec 8.75 MBytes 73.4 Mbits/sec 0 672 KBytes
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval Transfer Bandwidth Retr
[ 4] 0.00-10.00 sec 139 MBytes 117 Mbits/sec 5611 sender
[ 4] 0.00-10.00 sec 137 MBytes 115 Mbits/sec receiver

iperf Done.

④ssh接続確認

sshでGCPインスタンスへ接続できることを確認

[root@azure-inst01 azure]# ssh -i GCP_id_rsa gcp@10.150.0.3 hostname

gcp-inst01


●Azure-AWS

①traceroute:経路確認

BGP IP(169.254.28.57)の経路で疎通していることを確認

[root@azure-inst01 azure]# traceroute 172.31.0.10

traceroute to 172.31.0.10 (172.31.0.10), 30 hops max, 60 byte packets
1 172.20.1.4 (172.20.1.4) 64.072 ms 64.073 ms 64.048 ms
2 169.254.195.161 (169.254.195.161) 65.193 ms 65.177 ms 65.153 ms
3 169.254.28.57 (169.254.28.57) 66.993 ms 66.975 ms 73.236 ms
4 172.31.0.10 (172.31.0.10) 65.534 ms 65.482 ms 65.440 ms

②ping:疎通確認

pingが通ることを確認

[root@azure-inst01 azure]# ping 172.31.0.10 -c 3

PING 172.31.0.10 (172.31.0.10) 56(84) bytes of data.
64 bytes from 172.31.0.10: icmp_seq=1 ttl=244 time=72.2 ms
64 bytes from 172.31.0.10: icmp_seq=2 ttl=244 time=72.1 ms
64 bytes from 172.31.0.10: icmp_seq=3 ttl=244 time=65.9 ms

--- 172.31.0.10 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2002ms
rtt min/avg/max/mdev = 65.985/70.152/72.282/2.954 ms

③iperf3:帯域確認

今回は100Mで設定しているので、100M程度あることを確認

[root@azure-inst01 azure]# iperf3 -c 172.31.0.10

Connecting to host 172.31.0.10, port 5201
[ 4] local 172.20.0.4 port 43068 connected to 172.31.0.10 port 5201
[ ID] Interval Transfer Bandwidth Retr Cwnd
[ 4] 0.00-1.00 sec 10.1 MBytes 84.8 Mbits/sec 508 1.45 MBytes
[ 4] 1.00-2.00 sec 11.2 MBytes 94.4 Mbits/sec 257 777 KBytes
[ 4] 2.00-3.00 sec 12.5 MBytes 105 Mbits/sec 0 825 KBytes
[ 4] 3.00-4.00 sec 12.5 MBytes 105 Mbits/sec 0 854 KBytes
[ 4] 4.00-5.00 sec 12.5 MBytes 105 Mbits/sec 0 873 KBytes
[ 4] 5.00-6.00 sec 12.5 MBytes 105 Mbits/sec 0 881 KBytes
[ 4] 6.00-7.00 sec 13.8 MBytes 115 Mbits/sec 0 884 KBytes
[ 4] 7.00-8.00 sec 12.5 MBytes 105 Mbits/sec 0 884 KBytes
[ 4] 8.00-9.00 sec 13.8 MBytes 115 Mbits/sec 0 884 KBytes
[ 4] 9.00-10.00 sec 12.5 MBytes 105 Mbits/sec 0 890 KBytes
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval Transfer Bandwidth Retr
[ 4] 0.00-10.00 sec 124 MBytes 104 Mbits/sec 765 sender
[ 4] 0.00-10.00 sec 122 MBytes 102 Mbits/sec receiver

④ssh接続確認

sshでGCPインスタンスへ接続できることを確認

[root@azure-inst01 azure]# ssh -i AWS_id_rsa ec2-user@172.31.0.10 hostname

ip-172-31-0-10.ec2.internal


■参考

Megaport

Megaport DCロケーション

Megaport価格 | Megaport Networks

MCR – Oracle via FastConnect (OCI)

Connect to Oracle Cloud | Megaport Networks

Connect to Amazon Web Services | Megaport Networks

Connect to Google Cloud Platform | Megaport Networks

Connect to Microsoft Azure | Megaport Networks