Microsoft Azure と Oracle Cloud の相互接続を試してみた

id:s-oomoriです。
先週、6/5(水)に会社の人とクラフトビールを堪能していたら、AzureとOCIが直接接続可能?!というニュースが飛び込んできて、びっくりしました。
ExpressRouteとFastConnectが触れる!!ということで、早速検証してみました。

検証途中で、既に検証結果をブログにUPされている方がいて、今回の検証でとても助かりました!!設定内容は被ってますが、途中まで書いてたので頑張って書ききります。
@shirokさんの記事はFortigate+OCIもあって参考になります。(私はFG好き) qiita.com


Microsoft社からもニュースがでてます。

news.microsoft.com

最初は、AzureはUS East(米国東部)、OCIはashburnリーション間での接続が可能で、徐々に他のリージョンでも対応していくとのことです。


本記事の目次


ドキュメント

Oracle Cloudに公式ドキュメントがUPされてます。

docs.cloud.oracle.com

公式ドキュメントにある図が参考になります。

https://docs.cloud.oracle.com/iaas/Content/Resources/Images/network_azure_basic_diagram_thumb_0_400.png

今回の環境(事前に構築済み)

●Microsoft Azure
 ・Vnet=10.255.0.0/16
 ・Subnet=10.255.1.0/24
 ・VM=10.255.1.4/24
●OCI
 ・VCN=10.12.0.0/16
 ・Subnet=10.12.1.0/24
 ・VM=10.12.1.2/24

また、手順の流れも公式ドキュメントに記載されてますが、ゲートウェイ設定や接続設定が記載されてないので、先程紹介した@shirokさんの記事も参照してください。

https://docs.cloud.oracle.com/iaas/Content/Resources/Images/network_azure_setup_flow.png


【1】ネットワークセキュリティグループ(Azure)とセキュリティリスト(OCI)を構成

VNetとVCN間で疎通可能になるように設定します。
今回は簡単に検証したかったので、互いのNW間をANYで許可設定にしました。

  • Azureの設定 f:id:s-oomori:20190610221854p:plain
    ※セキュリティグループ設定箇所は下図のメニュー
    f:id:s-oomori:20190611002420p:plain

  • OCIの設定 f:id:s-oomori:20190610222016p:plain

【2】Azure ExpressRoute設定

FastConnect設定前に、ExpressRouteを先に設定しサービスキーを発行します。

1.下図のとおり「ExpressRoute回線」を選択します。
f:id:s-oomori:20190610224222p:plain

2.「追加」を選択します。
f:id:s-oomori:20190610224350p:plain

3.下図のとおり設定し「作成」を選択します。
※プロバイダーに「Oracle Cloud FastConnect」が選択できるようになってます!
※帯域幅はFastConnectの最低値が「1Gbps」みたいなので合わせました。
※場所は「(米国)米国東部」にしてください。
f:id:s-oomori:20190610224507p:plain

4.デプロイは1,2分くらいで完了しました。
f:id:s-oomori:20190610224920p:plain

5.作成したExpressRoute回線画面を開き、「サービスキー」を控えます。
f:id:s-oomori:20190610225042p:plain

【3】OCI FastConnect仮想回線の設定

先程控えた「サービスキー」を使って、FastConnectを設定していきます。

【3.1】OCI DRG設定

まずは、Azureへの接続口として、「動的ルーティング・ゲートウェイ」を設定します。

1.下図の通り「 動的ルーティング・ゲートウェイ」を選択します。
f:id:s-oomori:20190610225740p:plain

2.「動的ルーティング・ゲートウェイの作成」を選択します。
f:id:s-oomori:20190610225911p:plain

3.対象コンパートメント、名前を入力し、「動的ルーティング・ゲートウェイの作成」を選択します。
f:id:s-oomori:20190610230051p:plain

4.作成したDRGが使用可能になったら、「仮想クラウド・ネットワーク」-「仮想クラウド・ネットワークにアタッチ」を選択します。
f:id:s-oomori:20190610230247p:plain

5.対象となる仮想クラウド・ネットワーク(今回はNW:10.12.0.0/16のVCN)のコンパートメント等を設定し、「アタッチ」を選択します。
f:id:s-oomori:20190610230512p:plain アタッチ済みとなります。
f:id:s-oomori:20190610230736p:plain

【3.2】OCI ルート表の設定

Azureとの通信のためにルーティングを追加します。

1.対象のルート表を選択します。
f:id:s-oomori:20190610234417p:plain

2.「ルート・ルールの追加」から、下図の通り「Vnet:10.255.0.0/16」へのルーティングを設定します。 f:id:s-oomori:20190610234633p:plain

【3.3】OCI FastConnect設定

初FastConnectの設定です!!
1.下図の通り「FastConnect」を選択します。
f:id:s-oomori:20190610231104p:plain

2.接続画面で「接続の作成」を選択します。
f:id:s-oomori:20190610231449p:plain

3.「プロバイダを通じた接続」をチェック、プロバイダに「Microsoft Azure:ExpressRoute」を選択し、「続行」を選択します。
f:id:s-oomori:20190610231635p:plain
※ashburnではこれだけのプロバイダーが選べます。
f:id:s-oomori:20190610231810p:plain
※参考までにTokyoリージョンはこのくらいですが、毎週のように増えているような気がします。
f:id:s-oomori:20190610232041p:plain

4.下図の通り各設定値を選択/入力し「作成」を選択します。
※BGP設定のIPは任意でOKですが、公式ドキュメントでもBGP情報が記載されてますので、そちらを参照すると設計できます。(下図の設定値を真似してもOK)
f:id:s-oomori:20190610232344p:plain

5.接続が作成され、親切にも「次の手順」も記載されてます。
f:id:s-oomori:20190610233015p:plain
※数分で「稼働中」と表示されます。 f:id:s-oomori:20190610233121p:plain

6.接続画面で「接続の作成」を選択します。
f:id:s-oomori:20190610231449p:plain

【4】AzureからOCIへの接続設定

最後にAzureからOCIに最後の接続設定を行います。
FastConnectの設定が完了すると、ExpressRouteのピアリングにFastConnectで設定したBGPのIPが表示されてます。
f:id:s-oomori:20190610235444p:plain

【4.1】Azure 仮想ネットワークゲートウェイ設定

OCIへの接続口として「仮想ネットワークゲートウェイ」を設定します。

1.下図の通り「仮想ネットワーク ゲートウェイ」を選択します。
f:id:s-oomori:20190610235538p:plain

2.「追加」を選択します。
f:id:s-oomori:20190610235816p:plain

3.下図の通り各設定値を選択/入力し「確認および作成」を選択し作成していきます。
※地域(リージョン)が「(米国)米国東部」となっていることを確認してください。私の環境では米国中部になっているのに気が付かず、仮想ネットワーク欄で、何も選択できなくて勝手にハマってました。。。
f:id:s-oomori:20190610235835p:plain

4.ここのデプロイが一番時間がかかりました。
※15分49秒
f:id:s-oomori:20190611000216p:plain
f:id:s-oomori:20190611000353p:plain

【4.2】Azure 接続設定

先程作成した「仮想ネットワーク ゲートウェイ」をExpressRouteに接続設定します。

1.下図の通り「接続」を選択します。
f:id:s-oomori:20190611000901p:plain

2.「追加」を選択します。
f:id:s-oomori:20190611000938p:plain

3.下図の通り基本設定を構成し、「OK」を選択します。
※場所が「(米国)米国東部」となっていることを確認してください。 f:id:s-oomori:20190611001016p:plain

4.次に下図の通り接続設定を構成し、「OK」を選択します。
f:id:s-oomori:20190611001243p:plain

5.次に概要を確認し、「OK」を選択します。
f:id:s-oomori:20190611001313p:plain

6.問題が無ければ、状態が「成功」となり接続完了です!!
f:id:s-oomori:20190611001355p:plain

【4.3】Azure ルートテーブル設定

最後にOCIとの通信のためにルーティングを追加します。

1.下図の通り「ルート テーブル」を選択します。 f:id:s-oomori:20190611001744p:plain

2.「追加」を選択します。
f:id:s-oomori:20190611001825p:plain

3.「ルート テーブル」を作成します。
f:id:s-oomori:20190611001852p:plain

4.作成したルートテーブルを選択します。
f:id:s-oomori:20190611002015p:plain

5.設定欄の「ルート」を選択、「追加」を選択します。 f:id:s-oomori:20190611002120p:plain

6.OCIへのルートを追加します。
f:id:s-oomori:20190611002228p:plain
f:id:s-oomori:20190611002305p:plain

接続確認

互いにpingで確認します。
1.Azure→OCI
f:id:s-oomori:20190611004006p:plain

2.OCI→Azure
f:id:s-oomori:20190611004047p:plain

速度確認

私もiperf3でネットワーク速度を測定してみました。
面白いことに、Azure→OCI間とOCI→Azure間で速度が半分近く違います!!
1.Azure→OCI
f:id:s-oomori:20190611004352p:plain

2.OCI→Azure
f:id:s-oomori:20190611004506p:plain


価格

各サービスのサイトから価格を見てみました。OCIは安さもアピールしていることもあって、かなりお安い感じです!!

1.Azure ExpressRoute
公式のサイトを確認すると、月の途中でExpressRouteサービスを解約した場合は、時間割り計算+データ転送の超過料金だけが課金とあるので、検証終わったら削除すればそれほど請求されないと思います。

  • 1Gbps=48,832 円/月(1日約1,700円以内)

  • 1gbps 回線の最大送信データ転送の上限は 328.5 TB/月 (336384 GB/月)とのことです(計算ツールサイトから)

azure.microsoft.com


2.OCI FastConnect
ExpressRouteのように、データ転送量への課金はありません!!
課金も利用時間単位のようです。

  • 1Gbps=25.50円/時間(1日612円/1ヶ月18,360円くらい。。。安い)

cloud.oracle.com


まとめ

AzureとOCI間でping疎通したときは感動しました。こんな日が来るなんて〜!
まだ日本リージョンでは接続できませんが、今後どのように進んでいくのかも気になるところです。
OCI→Azure間の速度については、サポートや技術担当の方に聞いたりして確認しますので、提示できる情報が入りましたら更新させていただきます。