
Azure VPN Gatewayを使ったS2S (Site to Site) 接続
こんにちわ。SHIFTのITソリューション部の吉田です。
主にAzureを専門として上流から構築までの工程を担当しています。
今後はAzureやその他クラウドサービスについての記事を書いていこうと思っています。
はじめに
以前はサーバーと言えばオンプレミスで構築するものでしたが、最近はオンプレのサーバーにあるリソースをパブリッククラウドのVM等に乗せ換える、いわゆる「クラウド移行」がブームとなっています。
オンプレミスなサーバーを全てクラウドに移行したいという要望も多いのですが、業務の都合や予算によっては全てのサーバを一斉にクラウド移行することは、それなりにハードルが高いことも事実です。
そこで、段階的にクラウド移行していく、という選択肢をとることもよくあります。もちろん、これを行うにはクラウドとオンプレミスの並行稼働が必要となります。そして、このような並行稼働で肝になるのが、クラウドとオンプレミス間の通信環境の構築です。
私は、Azure 環境とオンプレミス拠点間を "S2S VPN with BGP" で構築する対応を行なった経験があるのですが、もしかしたら同様の構築を検討している方もいるかと思いますので、今回の記事ではその対応内容と構築時のポイントや注意点を記載してみたいと思います。 利用するAzureリソースは以下3つとなります。
仮想ネットワーク(ゲートウェイ サブネット)
VPN ゲートウェイ
ローカル ネットワーク ゲートウェイ
実際の構築手順については以下のMicrosoft公式ドキュメントを参考にしました。 https://learn.microsoft.com/ja-jp/azure/vpn-gateway/tutorial-site-to-site-portal
全体構成
まず、全体の構成を図で表すと以下のようになります。
既存の独立したAzure のネットワーク (Vnet) とオンプレミス間を VPN (S2S接続) で繋ぎます。 その際にBGPを有効かつオンプレミス側の冗長化に対して片側がダウンした場合は経路を変更できるようにします。

構築手順
仮想ネットワーク(ゲートウェイ サブネット)
まずは仮想ネットワークの作成から始めます。
1.Azure portal にサインインし、ポータル ページの上部にある [リソース、サービス、ドキュメントの検索 (G+/)] に「仮想ネットワーク」と入力します。

2.[仮想ネットワーク] ページの [作成] を選び、[仮想ネットワークの作成] ページを開きます。

3.[基本] タブの [プロジェクトの詳細] と [インスタンスの詳細] に仮想ネットワークの設定を構成します。

4.[次へ] または [セキュリティ] を選んで、[セキュリティ] タブに移動します。今回は既定値のままにします。

5.[IP アドレス] を選んで、[IP アドレス] タブに移動します。[IP アドレス] タブで設定を構成します。

Point
IPアドレスの範囲を設計に従って構成すること!当然ですが、仮想ネットワーク作成後は変更不可です・・・
6.[レビューと作成] を選択して、仮想ネットワークの設定を検証します。

7.設定が検証されたら、[作成] を選んで仮想ネットワークを作成します。
ゲートウェイサブネット
続いてゲートウェイサブネットの追加を行います。
1.仮想ネットワークのページの左側ペインで [サブネット] を選んで、[サブネット] ページを開きます。

2.ページの上部にある [+ ゲートウェイ サブネット] を選んで、[サブネットの追加] ペインを開きます。

3.必要に応じて、IP アドレス範囲の値を調整します。

4.ページ下部の [追加] を選んでサブネットを追加します。
VPN ゲートウェイ
ゲートウェイサブネットが追加できたら、VPN ゲートウェイを追加していきます。
1.[リソース、サービス、ドキュメントの検索 (G+/)] に「仮想ネットワーク ゲートウェイ」と入力します。 Marketplace の検索結果で [仮想ネットワーク ゲートウェイ] を見つけて選び、[仮想ネットワーク ゲートウェイの作成] ページを開きます。

2.[基本] タブで、 [プロジェクトの詳細] と [インスタンスの詳細] の各値を入力します。

Point
今回はオンプレミス側の冗長化に対して片側がダウンした場合は経路を変更したいため2番目のパブリックIPアドレスを新規作成します。
今回はBGPを有効にするためBGPの構成を有効にします。

オンプレミス側にこちらの自律システム番号(ASN)を伝え、設定されると通信が可能になります。
3.[確認と作成] を選択して検証を実行します。

4.検証に成功したら、[作成] を選んで VPN ゲートウェイをデプロイします。
Point
Microsoft公式ドキュメントにも「ゲートウェイの作成に 45 分以上かかる場合も少なくありません。」記載がありますが、他のリソースと比較してデプロイまでに時間を要します。構築日のタイムスケジュールに考慮することが必要かと思います。
ローカル ネットワーク ゲートウェイ
さらにローカル ネットワーク ゲートウェイも追加していきます。
Point
今回はオンプレミス側の冗長化に対して片側がダウンした場合は経路を変更したいためローカルネットワークゲートウェイは2つ作成します。
1.ポータル内で、[ローカル ネットワーク ゲートウェイ]に移動して [ローカル ネットワーク ゲートウェイの作成] ページを開きます。


2.[基本] タブで、ローカル ネットワーク ゲートウェイの値を入力します。

3.[詳細設定] タブでは、BGP 設定を構成します。

Point
自律システム番号は対向のオンプレミス側のパラメータ値であり、構築前に確認しておく必要があります。
BGPピアのIPアドレスについても対向のオンプレミス側のパラメータ値であり、構築前に確認しておく必要があります。
4.値の指定が完了したら、ページの下部にある [確認と作成] を選択して、ページを検証します。

5.[作成] を選択して、ローカル ネットワーク ゲートウェイ オブジェクトを作成します。2つ目のローカルネットワークゲートウェイについて作成手順は同じなため割愛します。
VPN 接続
最後はVPNの接続です。
1.ポータルで仮想ネットワーク ゲートウェイに移動し、左側ペインで [接続] を選んで、[接続] ページを開きます。

2.[接続] ページの上部で、[+ 追加] を選択して [接続の作成] ページを開き、 [基本] タブで、接続の値を構成します。

3.[設定] タブを選択して、値を構成します。

Point
共有キー(PSK)はオンプレミス VPN デバイスに使っている値と一致している必要があります。
ここでもBGPを有効にすることを忘れないようにしましょう。
IPsec および IKE ポリシーはカスタムにすることも可能ですが、カスタムにした場合は全てのパラメータがオンプレミス側と一致している必要があります。
4.[確認と作成] を選択して検証を実行します。

5.[作成] を選択して接続を作成します。デプロイが完了したら、仮想ネットワーク ゲートウェイの [接続] ページで接続を表示できます。 状態は、[不明] から [接続中] に変わり、その後 [成功] に変わります。
最後に
今回は Azure 環境とオンプレミス拠点間をS2S VPN with BGP で構築方法を掲載させていただきました。構築作業はAzure Portalだけで半日もかからずスムーズに行えることをお伝え出来たかと思います。
昨今クラウドリフトとクラウドシフトが主流になりつつある中、Azure 環境とオンプレミス環境の共存が必要な場面があることも確かです。そのような場面に直面した際にAzure VPN Gatewayを使ったS2S (Site to Site) 接続を検討してみてはいかがでしょうか。
執筆者プロフィール:吉田 寛
AzureやAWS、ETLやBIツールを使ったクラウドデータ分析基盤の構築と運用を約10年経験。現在はインフラコンサルタント、PMOを目指して活動中。
✅SHIFTへのお問合せはお気軽に
✅お役立ち資料無料DL
SHIFTについて(コーポレートサイト)
SHIFTのサービスについて(サービスサイト)
SHIFTの導入事例
SHIFTの採用情報はこちら
PHOTO:UnsplashのUssama Azam