■ 目的
最近、西日本でもマルチクラウドがされることが多くなってきました。
Network As A Service(NaaS)プロバイダーの Megaport Cloud Router(MCR)は、世界中で600を超える主要なデータセンターから、レイヤ3でのプライベート接続のための仮想ルーティング機能を備えており、大阪では、'Equinix OS1' と 'NTT Data Dojima' 等があります。
ということで、NTTデータ堂島にあるMCRを作成し、Azure と Oracle Cloud Infrastructure (OCI)を Multicloud接続してみます。
そしてついでに、OCI の Public Service である、Object Storage などは Transit Routing設定すれば、Private Peering で Azureサービスから Oracle Services Network へ接続できるのでやってみてみます。
■ 構成
OCIとAzureの仮想ネットワークやインスタンス設定は事前に行っておき、ここでは、MCRとOCI FastConnect、Azure ExpressRouteの設定を行います。
また、Azure側にはオプションがあり、ExpressRoute FastPathが有効になっていると、ゲートウェイはバイパスされ、ネットワーク トラフィックが仮想ネットワーク内の仮想マシンに直接送信されるようになり、レイテンシが短縮されます。
OCIのTransit Routing設定は次を参考として事前にVCN,DRG,ルート・テーブル,セキュリティリストなど作成しておきます
・参考: Transit Routing + IPSec VPN / FastConnectで Object Storage, Autonomous Databaseへ接続してみてみた
■ 手順概要
① OCI側作業:FastConnect作成
② Azure側作業:Direct Connect作成
③ Megaport側作業:MCR作成
④ Megaport側作業:MCRとOCI FastConnect接続
⑤ Megaport側作業:MCRとAWS Direct Connect接続
⑥ 導通確認
■ OCI:FastConnect作成
- OCI Webコンソール
上部にある Regionを、'Japan Central(Osaka)'へ設定し、
左ペインにある [ネットワーキング] > [FastConnect]をクリック
- FastConnt接続画面
[FastConnectの作成]をクリック
-
接続の作成:接続タイプ画面
以下のように設定し、[次]をクリック- 接続タイプ: FastConnectパートナー
- パートナー: Megaport: Service
-
接続の作成:構成画面
以下のように設定し、[作成]をクリック- 名前: 任意の名前を設定
- コンパートメント: 作成する コンパートメントを設定
- 仮想回線タイプ:[プライベート仮想回線]を選択
- 動的ルーティング・ゲートウェイ:接続するDRGを選択
- プロビジョニングされた帯域幅:設定したい帯域を選択
- 顧客BGP IPアドレス: /30 または/31の MCR側BGP用ピアIPアドレスを設定
- Oracle BGP IPアドレス:'顧客BGP IPアドレス'と対になるOCI側のIPアドレスを設定
- 顧客BGP ASN:Megaport MCRのASN'133937'を設定
- 接続が作成されました画面
「OCID」をコピーします。
この「OCID」を使用してMCRと接続します
VCのアイコンは、プロバイダ保留中のためオレンジ色になります
MCR側で設定し開通するとグリーン色になります
■ Azure:ExpressRoute設定
-
Azure Webコンソール
AzureにLogin後[すべてのサービス] > [ネットワーキング] > [ExpressRoute回線]をクリック
-
ExpressRouteの作成:基本画面
以下のように設定し、[次:Configuration>]をクリック・サブスクリプション: サブスクリプションを選択
・リソース グループ: 設定するリソース グループを選択
・リージョン: リージョンを選択
・Name: ExpressRouteの名前を設定
-
ExpressRouteの作成:Configuration画面
以下のように設定し、[次:Tags>]をクリック- Port Type: 'Provider'を選択
- Create new or import form classic:'Create new'
- Provider:’Megaport’
- Peering location: 'Osala'
- Bandwidth: 設定したい帯域を選択
- SKU: 'Standard/Premium' 契約したいSKUを選択
- Billing model: 'Meterd/Unlimited' 契約したいモデルを選択
- Allow classic operations: 旧式を望まない限り 'No'を選択
7)デプロイ実行中
数分待つとデプロイが完了し、作成されたExpressRouteをダブルクリック
■ Megaport:MCR作成
以下URLで事前に作成したユーザーアカウントでログインしMCRを作成していきます
- Megaport Webコンソール
Megaport:https://www.megaport.com/ へLogin
- Megaport Service 画面
[Service]タブ > 右上にある[Create MCR]をクリック
-
New MCR:Select Location画面
Select MCR LocationからMCRを配置するRegionとData Centerを選択し、[Next]をクリック- Region: JAPAN
- Location: NTT Data Dojima Osaka
-
New MCR:Configure画面
以下のように設定し、[Next]をクリック- Rate Limit: MCRの帯域を選択(この帯域範囲内から、各Cloud接続へ帯域を割り当てていきます)
- MCR Name: MCRの名前を設定
- MCR ASN: MCRのデフォルトASN 133937を設定
■ Megaport:MCRとOCI接続VXC作成
Megaport Webコンソールから MCRとOCIで作成したFastCOnnectを接続するVXCを作成します
-
New Connection:Select Port画面
以下のように設定し、[Next]をクリック- Select Provider: [Oracle Cloud]を選択
- Oracle Virtual Circuit ID: OCIの「FastConnect」作成で発行された[OCID]を記入
- Choose from available Oracle Ports: 1本目は[Primary]を選択、冗長用途の2本目は[Secondary]を選択
-
New Connection:Connection Details画面
以下項目を設定し、[Next]をクリック・Name your Connection: 接続名を設定
・Rate Limit: 作成したRate Limitの帯域を設定
※ここでの帯域は、Azureと揃えるため50Mbpsを設定
-
New Connection:MCR A End画面
以下を設定し、その横にある[Add]をクリック- IP address including subnet mask: OCI FastConnectで設定した'顧客BGP IPアドレス'を設定
-
New Connection:MCR A End +Add画面
BGP Connections項にある[+Add GBP Connection]をクリック
-
BGP Connection画面
以下項目を設定し、[Add]をクリック- Local IP: 前画面で設定したIPを選択
- Peer IP: OCI FastConnectで設定した 'OCI側のBGPピアIPアドレス'を設定
- Peer ASN: OCIのASN '31898'を設定
■ Megaport:MCRとAzure接続VXC作成
Megaport Webコンソールから MCRとAzureで作成したExpressRouteを接続するVXCを作成します
-
New Connection:Select Type画面
choose destination Typeから、[Cloud]を選択し、[Nect]をクリック
-
New Connection:Select Port画面
以下のように設定し、[Next]をクリック・Select Provider: [Microsoft Azure]を選択
・Microsoft Azure Service Key: Azureの「Express Route」作成で発行された[Service Key]を記入
・Choose from available Azure Ports: 1本目は[Primary]を選択、冗長用途の2本目は[Secondary]を選択
・Peering Type: [Private]を選択
-
New Connection:Connection Details画面
以下のように設定し、[Next]をクリック・Name your Connection: 接続名を設定
・Rate Limit: 作成したAzure ExpressRouteの帯域を設定
- New Connection:MCR A End画面
[Next]をクリック
■ Megaport Order
■ Azure:ExpressRouteとVNet(Virtual Network)接続
上記手順では、Megaport MCRとAzure Express Routeを接続しましたが、
Azure Express Routeと仮想NetworkのVNetとは接続していないので、
ここでは、VNet内のインスタンスがExpressRouteを通るようExpressRouteとVNetを接続します
● 仮想ネットワークゲートウェイ作成
VNetとExpressRouteを接続するためのゲートウェイを作成します
*SKUで[Ultra Performance]もしくは[ErGw3AZ]を選択すると「ExpressRoute FastPath」が有効になります
- [全てのサービス] > [ネットワーキング] > [仮想ネットワークゲートウェイ]をクリック
- [仮想ネットワークゲートウェイの作成]をクリック
- 仮想ネットワーク ゲートウェイの作成:基本画面
以下必要内容を設定し、[確認および作成]をクリック
サブスクリプション
- 名前
- 地域:仮想ネットワーク ゲートウェイを配置する地域を選択
- ゲートウェイの種類:[ExpressRoute]を選択
- SKU:設定したいSKUを選択
- 仮想ネットワーク:付属させる仮想ネットワークVNetを選択
- ゲートウェイサブネットのアドレス範囲:選択した仮想ネットワーク内に配置するための専用サブネットを設定
- パブリックIPアドレス:作成する仮想ネットワーク ゲートウェイのIPを作成
- パブリックIPアドレス名:任意の名前を設定
● ExpressRouteとVNet(仮想ネットワーク)を接続
ExpressRouteとVNetのデータセンターを接続します
-
接続:基本画面
以下のように設定・接続の種類: [ExpressRoute]を選択
・サブスクリプション: サブスクリプションを選択
・リソースグループ: 接続するVNetのグループを選択
・場所: [8Asia Pacific)西日本]を選択
-
接続:[設定]画面
以下のように設定し、[OK]をクリック- 仮想ネットワークゲートウェイ:作成したExpressRoute用の仮想ネットワークゲートウェイを選択
- ExpressRoute回線:作成したExpressRoute回線を選択
- 接続名:任意の名前を設定
- ルーティングの重み:他NWとは接続しないため、[0]を設定
- 接続:概要画面
設定した内容を確認し、[OK]をクリック
■ Azure:セキュリティとルート設定
● ネットワーク セキュリティ グループ設定
以下のようにOCI 10.5.0.0/16との通信が受信/送信セキュリティ規則が通るように設定
今回は受信セキュリティ規則へ、次のPrivate IPを設定します
10.5.0.0/16
● ルートテーブル設定
Azureと対向の各Cloud間を通すルートを設定
ここでは、次のPrivate IPを設定しています
10.5.0.0/16
■ OCI-Azure導通確認
OCI-Azure接続がMegaport通じて接続することを確認
● OCI --> Azure接続確認
・ssh接続確認
sshでAzureインスタンスへ接続できることを確認
[opc@osaka-inst01 ~]$ ssh -i id_rsa azureuser@172.28.0.4 hostname
azure-inst01
・ping疎通確認
pingでAzureインスタンスへ疎通できることを確認
[opc@osaka-inst01 ~]$ ping 172.28.0.4 -c 3
PING 172.28.0.4 (172.28.0.4) 56(84) bytes of data.
64 bytes from 172.28.0.4: icmp_seq=1 ttl=61 time=2.30 ms
64 bytes from 172.28.0.4: icmp_seq=2 ttl=61 time=2.16 ms
64 bytes from 172.28.0.4: icmp_seq=3 ttl=61 time=2.37 ms
--- 172.28.0.4 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2002ms
rtt min/avg/max/mdev = 2.166/2.280/2.372/0.085 ms
・traceruoteルート確認
OCIからAzureインスタンスへExpressrouteのBGPピアIPを通じて接続することを確認
[opc@osaka-inst01 ~]$ sudo traceroute -I 172.28.0.4
traceroute to 172.28.0.4 (172.28.0.4), 30 hops max, 60 byte packets
1 140.91.218.3 (140.91.218.3) 0.155 ms 0.143 ms 0.141 ms
2 192.168.254.22 (192.168.254.22) 0.777 ms 0.779 ms 0.775 ms
3 169.254.237.186 (169.254.237.186) 0.939 ms 1.009 ms 1.006 ms
4 * * *
5 172.28.0.4 (172.28.0.4) 2.690 ms 2.682 ms 2.737 ms
・iperf3帯域確認
設定した50Mbps程度の帯域速度になることを確認
[opc@osaka-inst01 ~]$ iperf3 -c 172.28.0.4
Connecting to host 172.28.0.4, port 5201
[ 4] local 10.5.0.2 port 33524 connected to 172.28.0.4 port 5201
[ ID] Interval Transfer Bandwidth Retr Cwnd
[ 4] 0.00-1.00 sec 9.92 MBytes 83.2 Mbits/sec 604 8.24 KBytes
[ 4] 1.00-2.00 sec 5.86 MBytes 49.2 Mbits/sec 233 8.24 KBytes
[ 4] 2.00-3.00 sec 5.55 MBytes 46.6 Mbits/sec 211 6.87 KBytes
[ 4] 3.00-4.00 sec 5.55 MBytes 46.6 Mbits/sec 217 20.6 KBytes
[ 4] 4.00-5.00 sec 5.86 MBytes 49.2 Mbits/sec 230 20.6 KBytes
[ 4] 5.00-6.00 sec 5.55 MBytes 46.6 Mbits/sec 220 8.24 KBytes
[ 4] 6.00-7.00 sec 5.55 MBytes 46.6 Mbits/sec 252 11.0 KBytes
[ 4] 7.00-8.00 sec 5.86 MBytes 49.2 Mbits/sec 206 9.61 KBytes
[ 4] 8.00-9.00 sec 5.55 MBytes 46.6 Mbits/sec 203 8.24 KBytes
[ 4] 9.00-10.00 sec 5.55 MBytes 46.6 Mbits/sec 205 8.24 KBytes
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval Transfer Bandwidth Retr
[ 4] 0.00-10.00 sec 60.8 MBytes 51.0 Mbits/sec 2581 sender
[ 4] 0.00-10.00 sec 60.2 MBytes 50.5 Mbits/sec receiver
● Azure --> OCI接続確認
・ssh接続確認
sshでOCIインスタンスへ接続できることを確認
[azureuser@azure-inst01 ~]$ ssh -i id_rsa opc@10.5.0.2 hostname
osaka-inst01
・ping疎通確認
sshでOCIインスタンスへ接続できることを確認
[azureuser@azure-inst01 ~]$ ping 10.5.0.2 -c 3
PING 10.5.0.2 (10.5.0.2) 56(84) bytes of data.
64 bytes from 10.5.0.2: icmp_seq=1 ttl=60 time=2.47 ms
64 bytes from 10.5.0.2: icmp_seq=2 ttl=60 time=2.20 ms
64 bytes from 10.5.0.2: icmp_seq=3 ttl=60 time=2.28 ms
--- 10.5.0.2 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2003ms
rtt min/avg/max/mdev = 2.208/2.321/2.474/0.125 ms
・tracerouteルート確認
AzureからOCIインスタンスへExpressrouteのBGPピアIPを通じて接続することを確認
[azureuser@azure-inst01 ~]$ sudo traceroute -I 10.5.0.2
traceroute to 10.5.0.2 (10.5.0.2), 30 hops max, 60 byte packets
1 172.28.1.4 (172.28.1.4) 2.409 ms 2.404 ms 2.398 ms
2 169.254.237.185 (169.254.237.185) 1.793 ms 1.806 ms 1.825 ms
3 * * *
4 10.5.0.2 (10.5.0.2) 2.774 ms 2.779 ms 2.778 ms
・iperf3帯域確認
設定した50Mbps程度の帯域速度になることを確認
[azureuser@azure-inst01 ~]$ iperf3 -c 10.5.0.2
Connecting to host 10.5.0.2, port 5201
[ 4] local 172.28.0.4 port 42100 connected to 10.5.0.2 port 5201
[ ID] Interval Transfer Bandwidth Retr Cwnd
[ 4] 0.00-1.00 sec 12.5 MBytes 105 Mbits/sec 384 15.6 KBytes
[ 4] 1.00-2.00 sec 6.25 MBytes 52.4 Mbits/sec 130 12.7 KBytes
[ 4] 2.00-3.00 sec 5.00 MBytes 41.9 Mbits/sec 137 11.3 KBytes
[ 4] 3.00-4.00 sec 6.25 MBytes 52.4 Mbits/sec 137 21.2 KBytes
[ 4] 4.00-5.00 sec 5.00 MBytes 41.9 Mbits/sec 133 21.2 KBytes
[ 4] 5.00-6.00 sec 6.25 MBytes 52.4 Mbits/sec 119 14.1 KBytes
[ 4] 6.00-7.00 sec 5.00 MBytes 41.9 Mbits/sec 109 21.2 KBytes
[ 4] 7.00-8.00 sec 6.25 MBytes 52.4 Mbits/sec 143 21.2 KBytes
[ 4] 8.00-9.00 sec 5.00 MBytes 41.9 Mbits/sec 119 21.2 KBytes
[ 4] 9.00-10.00 sec 6.25 MBytes 52.4 Mbits/sec 112 12.7 KBytes
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval Transfer Bandwidth Retr
[ 4] 0.00-10.00 sec 63.7 MBytes 53.5 Mbits/sec 1523 sender
[ 4] 0.00-10.00 sec 60.1 MBytes 50.4 Mbits/sec receiver
iperf Done.
● Azure --> OCI Object Storage接続確認
・tracerouteルート確認
AzureからOCIのObject StorageへExpressrouteのBGPピアIPを通じて接続することを確認
[azureuser@azure-inst01 ~]$ sudo traceroute -I objectstorage.ap-osaka-1.oraclecloud.com
traceroute to objectstorage.ap-osaka-1.oraclecloud.com (134.70.112.1), 30 hops max, 60 byte packets
1 172.28.1.4 (172.28.1.4) 2.107 ms 2.108 ms 2.102 ms
2 169.254.237.185 (169.254.237.185) 1.860 ms 1.868 ms 1.866 ms
3 * * *
4 134.70.112.1 (134.70.112.1) 2.685 ms 2.665 ms 2.652 ms
・ping疎通確認
[azureuser@azure-inst01 ~]$ ping objectstorage.ap-osaka-1.oraclecloud.com -c 3
PING objectstorage.ap-osaka-1.oci.oraclecloud.com (134.70.112.1) 56(84) bytes of data.
64 bytes from 134.70.112.1 (134.70.112.1): icmp_seq=1 ttl=60 time=2.07 ms
64 bytes from 134.70.112.1 (134.70.112.1): icmp_seq=2 ttl=60 time=2.08 ms
64 bytes from 134.70.112.1 (134.70.112.1): icmp_seq=3 ttl=60 time=2.27 ms
--- objectstorage.ap-osaka-1.oci.oraclecloud.com ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2002ms
rtt min/avg/max/mdev = 2.073/2.144/2.275/0.099 ms
■ 参考
● Megaport
・ Megaport
・ Megaport Enabled Locations
・ Simple, Scalable Pricing
・ Network Latency: Data for Megaport’s Network Latency Times
● その他Cloud接続
・ Megaport Cloud Router(MCR)でAzure, Google Cloud, AWSとOracle Cloudを接続してみてみた