皆さま、こんにちは!y.takanashiです。
11月ですが、まだまだ日中は暖かい日が続きますね...!
今回はOCI FastConnectを使用してAzureと接続する方法についてご紹介します。
目次
構成
今回の検証の構成図は以下となります。
検証の手順として、
1.Azure ExpressRouteを作成
↓
2.OCI 動的ルーティング・ゲートウェイを作成
↓
3.OCI FastConnectを作成
↓
4.Azure 仮想ネットワーク・ゲートウェイを作成
↓
5.Azure NSG、ルート・テーブルの設定
↓
6.接続確認、ネットワーク速度を検証
といった流れで行います。
※両クラウドの仮想ネットワークとサーバの作成手順は割愛していますので、ご自身であらかじめ作成しておきましょう。
この記事は個人が検証目的で作成したもので、本番環境で設定する際には以下のドキュメントを参考にしてください。
OCI公式ドキュメント - 「FastConnectの開始」
また、この記事は4年前に作成した以下の記事の最新版で、以前の設定と照らし合わせてご確認いただけたらと思います。
Cloudiiブログ - 「Microsoft Azure と Oracle Cloud の相互接続を試してみた」
設定
Azure ExpressRouteの作成
最初にAzureのExpressRouteの作成を行います。
Azureポータルの「すべてのサービス」から「ネットワーキング」→「ExpressRoute circuits」を選択します。
「ExpressRoute circuitの作成」から以下の項目を入力後、「確認および作成」を選択します。
- リージョン:任意(ここではJapan East)
- 名前:任意(ここでは「er-to-oci」)
- ポートの種類:プロバイダー
- 新規作成またはクラシックからインポート:新規作成
- プロバイダー:Oracle Cloud FastConnect
- ピアリングの場所:任意(ここではTokyo)
- 帯域幅:1Gbps
※OCI FastConnectと帯域幅を合わせるために、1Gbpsで設定します。 - SKU:Standard
- 課金モデル:任意(ここでは従量制課金)
- クラシック操作を許可する:いいえ
ExpressRouteの作成後、「サービスキー」のIDを控えておきます。
OCI 動的ルーティング・ゲートウェイの作成
続いて、OCIの動的ルーティング・ゲートウェイの作成を行います。
OCIコンソール画面左上のメニューから「ネットワーキング」→顧客接続性内の「動的ルーティング・ゲートウェイ」を選択します。
「動的ルーティング・ゲートウェイの作成」から任意のゲートウェイ名(ここでは「drg-oci」)を入力して作成を行います。
ゲートウェイの作成後、「仮想クラウド・ネットワーク・アタッチメントの作成」から添付名(ここでは「drg-attachment」)と仮想クラウド・ネットワーク(ここでは「vcn-oci」)を選択して仮想クラウド・ネットワークのアタッチを行います。
設定後、アタッチした仮想クラウド・ネットワークが表示されます。
OCI FastConnectの作成
動的ルーティング・ゲートウェイの作成後、引き続きOCI側でFastConnectの作成も行います。
OCIコンソール画面左上のメニューから「ネットワーキング」→顧客接続性内の「FastConnect」を選択します。
「FastConnectの作成」から以下の項目を入力、「作成」を選択します。
- 接続タイプ:FastConnectパートナ
- パートナ:Microsoft Azure ExpressRoute
- 名前:任意(ここでは「fc-to-azure」)
- 仮想回線タイプ:プライベート仮想回線
- トラフィック:任意(ここではすべてのトラフィック)
- 動的ルーティング・ゲートウェイ:任意(ここでは「drg-oci」)
- プロビジョニングされた帯域幅:1Gbps
※Azure ExpressRouteと帯域幅を合わせるために、1Gbpsで設定します。 - パートナ・サービス・キー:AzureのExpressRouteで発行されたサービス・キーを使用
- BGP IPアドレス
- 顧客プライマリBGP IPv4アドレス:任意(ここでは「192.168.0.22/30」)
- OracleプライマリBGP IPv4アドレス:任意(ここでは「192.168.0.21/30」)
- 顧客セカンダリBGP IPv4アドレス:任意(ここでは「192.168.0.26/30」)
- OracleBGP IPv4アドレス:任意(ここでは「192.168.0.25/30」)
※今回はBGPで接続を行わないため、AzureとOCIのネットワークCIDRと重複しない値を使用しましょう。
- 双方向転送検出の有効化:無効
- MTU:任意(ここでは1,500)
※1,500もしくは9,000から選択できます。
プロビジョニングから5分程度経過したのち、FastConnectの作成が完了、IPv4 BGPの状態が「稼働中」になっている場合、Azureとの接続が確立されています。
Azureポータルに戻り、ExpressRouteの状態を確認すると、プロバイダーの状態が「プロビジョニング済み」に、「Azureプライベート」には使用するピアリング用のサブネットが表示されます。
Azure 仮想ネットワーク・ゲートウェイの作成
OCI FastConnectの作成後、Azureの仮想ネットワーク・ゲートウェイの作成を行います。
ゲートウェイの作成前に、事前準備として仮想ネットワーク・ゲートウェイに付与するパブリックIPアドレスの取得を行います。
Azureポータルの「すべてのサービス」から「ネットワーキング」→「パブリックIPアドレス」を選択します。
「作成」から以下の項目を入力、「確認・作成」を選択します。
- 地域:任意(ここではJapan East)
- 名前:任意(ここでは「vgw-azure-ip」)
- IPバージョン:IPv4
作成後、取得したパブリックIPアドレスの詳細が表示されます。
パブリックIPアドレスの取得後、仮想ネットワーク・ゲートウェイの作成を行います。
Azureポータルの「すべてのサービス」から「ネットワーキング」→「仮想ネットワーク ゲートウェイ」を選択します。
「作成」から以下の項目を入力、選択を行い「確認および作成」を選択します。
- 名前:任意(ここでは「vgw-azure」)
- 仮想ネットワーク:任意(ここでは「vnet-azure」)
- サブネット:GatewaySubnet
- パブリックIPアドレス:既存のものを使用
- パブリックIPアドレスの選択:任意(ここでは「vgw-azure-ip」)
※「パブリックIPアドレスの取得」で取得したIPアドレスを使用します。
※仮想ネットワーク・ゲートウェイはゲートウェイ・サブネット内で使用するため、事前にゲートウェイ・サブネットを作成する必要があります。
ゲートウェイ・サブネットを作成する場合、仮想ネットワークの「サブネット」から「ゲートウェイサブネット」を選択して作成を行います。
プロビジョニングから15分程度経過したのち、仮想ネットワーク・ゲートウェイが作成されます。
仮想ネットワーク・ゲートウェイの作成後、AzureのExpressRouteとOCI FastConnectの接続設定を行います。
仮想ネットワーク・ゲートウェイの「接続」の「追加」から、以下の項目を入力、「確認および作成」を行います。
- 接続の種類:ExpressRoute
- 名前:任意(ここでは「er-fc」)
- 地域:任意(ここではJapan East)
- 仮想ネットワーク ゲートウェイ:任意(ここでは「vgw-azure」)
- ExpressRoute 回線:任意(ここでは「er-to-oci」)
- 承認の利用:無効
- ルーティングの重み:0
作成後、設定した接続設定が表示されます。
OCIコンソールに戻り、FastConnectにアタッチした動的ルーティング・ゲートウェイの「Autogenerated Drg Route Table for VCN attachments」を確認すると、Azure側のCIDR(ここでは10.0.0.0/16)が自動で登録されています。
AzureとのFastConnect接続の設定は以上となります。
Azure NSG、ルート・テーブルの設定
以上でAzureとのFastConnect接続の設定は完了となりますが、実際には両クラウドにあるサーバが疎通できるように追加設定が必要となります。
ここではAzureのネットワーク・セキュリティ・グループ(以下NSG)とルート・テーブルの設定方法についてご紹介します。
尚、この記事はOCIの利用ユーザーが読むことを前提とした内容で、OCIのNSGとルート表の設定方法については割愛させていただきます。
OCIのNSGとルート表の設定方法を確認する場合は、以下のドキュメントをご覧ください。
NSGの設定
NSGを作成する場合、Azureポータルの「すべてのサービス」から「ネットワーキング」→「ネットワークセキュリティグループ」を選択します。
「作成」から以下の項目を入力、「確認および作成」を選択します。
- 名前:任意(ここでは「nsg-azure」)
- 地域:任意(ここではJapan East)
作成したNSGにイングレス・ルールを設定する場合、NSGの「受信セキュリティ規則」の「追加」から以下の項目を入力、「追加」を選択して設定を行います。
同様にエグレス・ルールを設定する場合、「送信セキュリティ規則」の「追加」から以下の項目を入力、「追加」を選択して設定を行います。
(今回は受信側でポートの制限を行っているため、エグレス・ルールは全て許可の設定にしています。)
- ソース
- ソースポート範囲
- 宛先
- 宛先IPアドレス / CIDR範囲
- サービス
- 宛先ポート範囲
- プロトコル
- アクション
- 優先度
- 名前
設定後、NSGに追加した各ルールが表示されます。
設定後、サブネットにNSGをアタッチする必要があります。
「サブネット」の「関連付け」から対象のサブネット(ここでは「default」)を入力、「OK」を選択することでサブネットにアタッチすることができます。
設定後、アタッチしたサブネットが表示されます。
ルート・テーブルの設定
NSGの設定と同様に、ルート・テーブルもOCI側と疎通ができるよう設定を行います。
検索ボックスから「ルート・テーブル」と入力、ルート・テーブルの詳細画面の「作成」から以下の項目を入力、「確認および作成」を選択します。
- 名前:任意(ここでは「rt-azure」)
- リージョン:任意(ここではJapan East)
- ゲートウェイのルートを伝達する:Yes
作成後、「ルート」の「追加」からOCI側のルートの追加を行います。
※仮想ネットワーク内のサーバへのSSHログインを許可するには、インターネットへのルートも追加する必要があります。
- ルート名:任意(ここでは「rt-to-oci」)
- 宛先の種類:IPアドレス
- 宛先IPアドレス / CIDR範囲:任意(ここでは「172.16.0.0/16」)
※OCI側のCIDRを入力します。 - ネクストホップの種類:仮想ネットワークゲートウェイ
設定後、追加したルートが表示されます。
NSG同様、ルート・テーブルにもサブネットをアタッチする必要があり、「サブネット」の「関連付け」から対象のサブネット(ここでは「default」)にアタッチを行います。
また、ゲートウェイ・サブネットにも設定したルート・テーブルをアタッチする必要があります。
※ゲートウェイ・サブネットにはインターネット用のルールが含まれたルート・テーブルはアタッチできません。
したがって、既存のルート・テーブルにインターネット用のルールが含まれている場合、新しいゲートウェイ・サブネット用のルート・テーブルを作成する必要があります。
設定後、アタッチしたサブネットが表示されます。
両クラウド間の疎通設定は以上で完了し、正しく設定されていれば問題なく疎通できるはずです。
疎通確認、ネットワーク速度検証
設定完了後、最初にpingコマンドで両クラウドにあるサーバの疎通を確認してみます。
1. Azure→OCI
2. OCI→Azure
続いてiperf3コマンドを使用して、両クラウド間のネットワーク速度を検証してみます。
以前と同様に、Azure→OCI間とOCI→Azure間で速度がやや違うことがわかります。
1. Azure→OCI
2. OCI→Azure
ネットワーク速度の違いの原因について、両クラウドのサーバのMTUのデフォルト値が異なるため、通信速度に違いが発生していると考えられます。
(OCI FastConnectのMTUの設定値を変更しても有意な変化は見られませんでした。)
Azure
OCI
ちなみにIPSec接続での検証結果は以下の通りです。
流石にIPSec接続よりもFastConnect接続の方が通信速度が速いことがわかります。
(ホスト名とIPアドレスがFastConnect接続と異なりますが、サーバのスペックは同一のものを使用しております。)
Azure→OCI
OCI→Azure
※OCI-AzureのIPSec接続の設定方法についても以前執筆しており、以下から確認することができます。
Cloudiiブログ - 「Azure-OCI間のVPN接続の手順について」
料金
最後に両クラウドの各リソースの料金についてご紹介します。
- Azure
- ExpressRoute:65,000円/月(Standardタイプを選択した場合)
- 仮想プライベート・ゲートウェイ:28,400円/月(Standardタイプで1Gbpsの帯域を選択した場合)
データ送信料:3.7円/1GBあたり
- OCI
- FastConnect:22,134円/月(1Gbpsの帯域を選択した場合)
- 動的ルーティング・ゲートウェイ:0円
- データ送信料:0円
※OCIは10TB/月までデータ送信料は無料です!
Azureの料金:https://azure.microsoft.com/ja-jp/pricing/details/expressroute/#pricing
OCIの料金:https://www.oracle.com/jp/cloud/networking/fastconnect/pricing/
ご覧の通り、通信速度だけでなく料金面でもOCIの利点が明確に示されています。
まとめ
両クラウドをFastConnect接続する場合、ネットワークに関する基本的な知識だけでなく、各クラウド固有の知識も必要となるため、容易に設定するのは難しい側面があります。
しかし、一度設定が完了すれば、プライベートな接続が確立され、インターネットを経由せずに通信できるため、セキュリティ上の懸念が軽減されます。
ただし、金銭的なコスト(特にAzure側)、パフォーマンス等のさまざまな注意点が存在し、安全で信頼性の高いネットワークを構築するためにはこれらの要因を検討する事が不可欠です。
そのため、実際に本番環境で稼働させる前に、慎重に検討を行うことが必要です。
以上となります。
この記事を通じて読者の皆様の問題解決の一助となれば幸いです。
最後まで読んで頂き、ありがとうございましたm(_ _)m