Alibaba Cloud とAzure をRoute-based のIPsec で接続する

Alibaba Cloud GatewayとAzure の仮想ネットワークゲートウェイをroute-basedのIPsecで接続する手順を紹介します。

Alibaba Cloud VPN Gatewayで機能追加されたroute-basedを利用した構成でも正常に接続できることを確認しました。

1. システム構成

今回のシステム構成は以下の通りです。

2. VPN インスタンスの購入

この後の手順で接続先のパブリックIPアドレス情報が必要となります。そのため、AzureとAlibaba のそれぞれでVPN インスタンスを購入します。

2.1. Azure 仮想ネットワークゲートウェイの購入

仮想ネットワーク(VNET)は構成済の前提です。仮想ネットワーク作成およびsubnetおよびGateway Subnetも作成しておきましょう。

仮想ネットワークゲートウェイを購入します。

  • VPNの種類は、”RouteBased”を選択
  • SKUは、VpnGw1 (要件に応じて他のタイプも検討)
  • 仮想ネットワーク(VNET)は、事前に準備したものを指定
  • subnet は、事前に準備したものを指定

インスタンス起動後、パブリックIPアドレス”40.115.187.149”を確認できます。

2.2. Alibaba Cloud VPN Gateway の購入

東京リージョンにVPN Gateway を購入します。

インスタンス起動後、パブリックIPアドレス”47.74.53.104”を確認できます。

3. Azure 側の設定

Azure 側でローカルゲートウェイを作成し、IPsec 接続を構成します。 

3.1. ローカルネットワーク ゲートウェイの作成

ローカルネットワーク ゲートウェイでは対向先の情報を設定します。

  • IPアドレスは、2.2.で確認したAlibaba Cloud VPN Gateway のパブリックIPアドレスを指定します。
  • アドレス空間は、接続先のネットワークアドレスを指定します。 なお、Azure側ではここで指定したネットワークアドレスのルーティング情報が自動的に設定されます。 

3.2. IPSec接続の作成

IPsec接続のために”接続の追加”から必要な情報を設定します。

  • 接続の種類は、”サイト対サイト(IPsec)”を選択
  • 仮想ネットワークゲートウェイは、2.1.で購入したインスタンスを選択
  • ローカルネット枠ゲートウェイは、3.1.で作成したものを選択
  • 共有キー(PSK)は、任意の文字列を指定します。ここで指定した値はAlibaba側と同じ文字列とする必要があります。

なお、この段階ではAlibaba Cloud 側は未構成となり、IPsecの接続は失敗します。

4. Alibaba Cloud VPN Gateway の構成

Alibaba Cloud 側でもCustomer Gatewayの作成、IPsecの構成、ルーティング情報の構成を実施します。

4.1. Customer Gateways の作成

Customer Gatewaysでは対向先の情報を登録します。 Azureの仮想ネットワークゲートウェイのパブリックIPアドレスを指定します。

4.2. IPsec Connectionsの作成

以下の4か所を設定します。

  • ”VPN Gateway”に、2.2.で作成したVPN Gateway インスタンスを選択
  • カスタマーゲートウェイに、4.1.で作成したカスターマーゲートウェイを選択
  • ローカルネットワークに、Alibaba Cloud 側のネットワークを入力(画面ではVPCのCIDR を指定していますが、VSwitch(サブネット)を指定してもよいでしょう)
  • リモートネットワークに、Azure側のネットワークを入力(こちらもCIDRを指定していますがsubnetでもよいでしょう)

続けて”高度な構成”を設定します。

  • 事前共有鍵に、任意の文字列を指定します。ここで指定した値はAzure側と同じ文字列とする必要があります。
  • バージョンは今回IKEv2とします。 今回の構成ではIKEv1でも構成可能となり必ずしもv2を利用する必要はありません。

4.3. ルーティング情報の作成

VPN インスタンスの基本情報の画面から、”宛先ベースルーティング”をクリックします。つぎに”ルートエントリの追加”をクリックします。

  • ”宛先 CIDR ブロック”は、Azure側のネットワークアドレスを指定します。
  • ”通常のルート”は、4.2.で追加したIPsecの接続を指定します。

5. 接続のテスト

5.1. Azure側での接続状態の確認

仮想ネットワークゲートウェイの”接続”から状態が”接続済”となっていれば正常です。

IPsecの接続を確立できない場合は、以下のように状態が”接続中”となります。 今回、”接続済み”の状態から対向側(Alibaba Cloud側)で共有鍵の文字列を変更することで意図的に接続に失敗する状況にしています。なお、文字列変更直後からAzure Portal側の状態の反映には5分ほどかかりました。

5.2. Alibaba 側での接続状態の確認

IPsec Connectionsから接続ステータスを確認します。”成功”となっていれば正常です。

接続に失敗している場合は以下の通りです。 共有鍵を変更しているのですが、Azure Portalと異なりAlibaba Cloud 側はステータスは即時反映でした。

5.3. 疎通テスト

Alibaba Cloud のECSインスタンスからAzureのVirutal MachineへPingを実行します。 358回のPing実行でパケットロスは0%、平均は7.209msという結果でした。

Pingの実行結果

$ ping 192.168.0.4

~省略~

64 bytes from 192.168.0.4: icmp_seq=355 ttl=63 time=6.88 ms
64 bytes from 192.168.0.4: icmp_seq=356 ttl=63 time=6.72 ms
64 bytes from 192.168.0.4: icmp_seq=357 ttl=63 time=6.65 ms
64 bytes from 192.168.0.4: icmp_seq=358 ttl=63 time=6.64 ms
^C
— 192.168.0.4 ping statistics —
358 packets transmitted, 358 received, 0% packet loss, time 357594ms
rtt min/avg/max/mdev = 6.378/7.209/36.934/2.492 ms


6. まとめ

接続におけるポイントは以下のとおりです。

  • Alibaba Cloud とAzureのSite to Site 接続は簡単に行える(事前共有鍵の指定以外はそれぞれ既定値のまま接続できる)
  • Azure 側はIPsecに関する詳細設定はおこなえない(IKEバージョンの指定、暗号方式の指定など)
  • Azure 側ではRoute-basedの場合でもルーティング情報は自動的に設定される(ローカルネットワーク ゲートウェイのアドレス空間で指定したネットワークアドレスが自動的にrouteに追加)
  • Alibaba Cloud 側でRoute-basedを利用する場合は明示的にroute情報の追加が必要
  • BGPについて、Azureは対応、Alibaba Cloud 側は未対応