冗長構成でAlibaba CloudとAzureをIPsec-VPNで繋ぐ方法 

2023年3月31日掲載

キービジュアル

ご覧頂き有難うございます。ソフトバンクの西野です。
弊社ではパブリッククラウド「Alibaba Cloud」を取り扱っており、中国での日中NW の改善に関する問合せを多数いただきます。また中国以外のグローバルWAN の相談も多く、中国はAlibabaCloud、中国以外は Microsoft Azure などパブリッククラウドのNWサービスを組み合わせた、柔軟性がある新たなグローバルNWを提案しております。

本記事は CENとVirtualWANをIPsec-VPN冗長構成で接続してみるというシナリオでパブリッククラウド間をBGP over IPsecを使用して高可用に接続する構成手順について紹介と障害試験を行いIPsecトンネルが切れた場合の切断時間を計測してみます。

作業時間は60分〜90分程度を想定していますので、時間を確保して試してみてください。

シングル構成(Alibaba CloudとAzureをIPsec-VPNで繋ぐ方法については、過去に記事が出ていますので、こちらも参考にしてください。

目次


■構成図

Alibaba CloudとAzureを冗長構成でIPsec-VPNで繋ぐ構成図は以下のとおりです。

img-alibaba-azure-cen-vwan-ipsec-blog-20230331-01.png

■検証内容

  1. パブリッククラウド間をIPsec VPNで接続し、それぞれのパブリッククラウドにデプロイした仮想サーバー間でプライベート通信が可能か検証する。

  2. 片方のIPsec TunnelをDownさせ、どの程度通信断が発生するか検証する。
     

■利用プロダクト


[Alibaba Cloud]

  • Cloud Enterprise Network
  • Transit Router
  • CEN IPsec-VPN Connection
  • Customer Gateway 
  • VPC
  • ECS

[Azure]

  • Virtual WAN
  • 仮想ハブ
  • VPNゲートウェイ
  • VPNサイト
  • Vnet
  • Virtual Machines

■事前準備

[Alibaba Cloud]

CEN : 事前準備なし
VPC : 10.0.0.0/16 (東京リージョン)
ECS用 VSwitch : 10.0.1.0/24  (東京リージョン:Bゾーン)
Transit Router Primary VSwitch : 10.0.255.0/24  (東京リージョン:Aゾーン)
Transit Router Secondary VSwitch : 10.0.254.0/24  (東京リージョン:Bゾーン)
ECS : CentOS7.9 / パブリックIP付与 / 東京リージョン
Security Group : ICMPはALL, 検証で使用するクライアント環境の接続元IPアドレスをSSHで許可

[Azure]

ハブ プライベートアドレス空間:172.16.200.0/24
仮想ネットワーク : 172.16.1.0/24 (Japan Eastリージョン)
サブネット : 172.16.1.0/28 (Japan Eastリージョン)
Virtual Machines : CentOS7 / パブリックIP付与 / Japan East

※インターネットに接続ができる状態
受信ポートの制限 : ICMPはALL, 検証で使用するクライアント環境の接続元IPアドレスをSSHで許可

■設定時間の目安

60分~90分程度
 

■設定の流れ

  1. Azure側の設定1
  2. Alibaba Cloud側の設定
  3. Azure側の設定2
  4. 動作確認

    ※最初に仮想ハブを作成することをお勧めします。理由は、Azureの仮想ハブをデプロイしグローバルIPを持つGatewayを予め設定した後に、AlibabaCloudのCustomer Gatewayを定義するためです。 逆順ではCustomer Gatewayの定義を再度し直す必要があり手順が最適では無いため。

■設定手順: Azure側の設定1


<1-1>

Azureコンソールにログインし、プロダクト一覧より「仮想WAN」を選択し、「作成」をクリックします。

img-alibaba-azure-cen-vwan-ipsec-blog-20230331-02.png


<1-2>

以下の通りパラメータを設定し、仮想WANを作成します。
 

■設定パラメータ

設定項目

パラメータ

サブスクリプション

サブスクリプションを選択

リソースグループ

任意のリソースグループを選択

地域

Japan East

名前

任意の名前を入力

種類

Standard

img-alibaba-azure-cen-vwan-ipsec-blog-20230331-03.png

仮想WANが作成されたことを確認します。

<1-3>

作成された仮想WANをクリックし接続 > ハブをクリックします。
新しいハブをクリックします。

img-alibaba-azure-cen-vwan-ipsec-blog-20230331-04.png

<1-4>

以下の通りパラメータを設定し、仮想ハブを作成します。

■設定パラメータ 基本

設定項目

パラメータ

名前

任意の名前を入力

ハブ プライベート空間

172.16.200.0/24

仮想ハブの容量

2 ルーティング インフラストラクチャ ユニット
※選択可能な最小なもので構わない

ハブ ルーティングの優先順位

AS パス

img-alibaba-azure-cen-vwan-ipsec-blog-20230331-05.png

次:サイト対サイト > クリックし以下の通りパラメータを設定します。


■設定パラメータ サイト対サイト

設定項目

パラメータ

サイト対サイト(VPN ゲートウェイ)を作成しますか?

はい

AS番号

65515

ゲートウェイ スケール ユニット

1 スケール ユニット - 500 Mbps x 2

ルーティングの優先順位

インターネット

img-alibaba-azure-cen-vwan-ipsec-blog-20230331-06.png

仮想Hubが作成されたことを確認します。

後程、VPN Gateway インスタンス 0、1のパブリックIPをAlibaba Cloudに設定するためメモしておいてください。

 

<1-5>

仮想WAN > 仮想WAN IDをクリック > 接続:ハブクリック > ハブ IDをクリック > 接続:VPN(サイトからサイトへ)をクリック > ゲートウェイ スケール ユニットをクリックします。


<1-6>

以下のメモと設定パラメータを用いて、VPN Gatewayを設定します。

■設定パラメータ サイト対サイト

設定項目

パラメータ

VPN Gateway インスタンス0
パブリックIPアドレス

IPアドレスをメモする。

VPN Gateway インスタンス0
カスタムBGP IPアドレス

169.254.21.2

VPN Gateway インスタンス1
パブリックIPアドレス

IPアドレスをメモする。

VPN Gateway インスタンス1
カスタムBGP IPアドレス

169.254.21.6

img-alibaba-azure-cen-vwan-ipsec-blog-20230331-07.png

■設定手順: Alibaba Cloud側の設定

<2-1>

Alibaba Cloudコンソールにログインし、プロダクト一覧より
VPC > VPN > Customer Gatewaysをクリックします。

<2-2>

以下のパラメータを用いてCustomer Gateways1を作成します。

■設定パラメータ サイト対サイト

設定項目

パラメータ

Name

任意の名前を入力

IP Address

<1-6>でメモしたVPN Gateway インスタンス0のパブリックIPアドレスを入力

ASN

65515

img-alibaba-azure-cen-vwan-ipsec-blog-20230331-08.png

<2-3>

Customer Gateways1が作成されたことを確認します。


<2-4>

以下のパラメータを用いてCustomer Gateways2を作成します。

■設定パラメータ サイト対サイト

設定項目

パラメータ

Name

任意の名前を入力

IP Address

<1-6>でメモしたVPN Gateway インスタンス1のパブリックIPアドレスを入力

ASN

65515

img-alibaba-azure-cen-vwan-ipsec-blog-20230331-09.png

<2-5>

Customer Gateways2が作成されたことを確認します。


<2-6>

Alibaba Cloudコンソールにログインし、プロダクト一覧より「Cloud Enterprise Network」を選択します。

<2-7>

「Create CEN Instance」をクリックし、CENの作成を行います。

 

img-alibaba-azure-cen-vwan-ipsec-blog-20230331-10.png

<2-8>

以下のパラメータを用いてCEN Instanceを作成します。

■設定パラメータ

設定項目

パラメータ

Name

任意の名前を入力

Description

任意の説明を入力

作成されたCEN Instanceが表示されるか確認します。

 

<2-9>

作成されたCEN Instance IDをクリックします。
Basic Settingタブ > Transit Routerタブ > Create Transit Routerをクリックします。


<2-10>

以下のパラメータを用いてTransit Routerを作成します。

■設定パラメータ

設定項目

パラメータ

Region

Japan(Tokyo)

Name

任意の名前を入力

Description

任意の説明を入力

Transit Router CIDR

10.0.200.0/24

img-alibaba-azure-cen-vwan-ipsec-blog-20230331-11.png

作成されたTransit Router Instanceが表示されたことを確認します。

 

<2-11>

作成されたTransit Router Instance IDをクリックします。
Intra-region Connectionsタブ > Create Connectionをクリックします。


<2-12>

以下のパラメータを用いてVPCのConnectionを作成します。

■設定パラメータ

設定項目

パラメータ

Network Type

VPC

Region

Japan(Tokyo)

Resource Owner ID

Your Account

Attachment Name

任意の名前を入力

Networks

事前に作成したVPCを選択

VSwitch Tokyo Zone A

事前に作成したTransit Router Aゾーン用VSwitchを選択

VSwitch Tokyo Zone B

事前に作成したTransit Router Bゾーン用VSwitchを選択

Advanced Settings

Associate with Default Route Table of Transit Router

Advanced Settings

Propagate System Routes to Default Route Table of Transit Router

Advanced Settings

Automatically Creates Route That Points to Transit Router and Adds to All Route Tables of Current VPC

img-alibaba-azure-cen-vwan-ipsec-blog-20230331-12.png

作成されたVPC Connectionが表示されるか確認します。

 

<2-13>

以下の通りパラメータを設定し、VPNのConnection 0を作成します。
事前共有キー(PSK)は、以降の設定で入力するためメモしておいてください。

■設定パラメータ

設定項目

パラメータ

Network Type

VPN

Region

Japan(Tokyo)

Resource Owner ID

Your Account

Individual Resource

Create Resource

Attachment Name

任意の名前を入力

Gateway Type

Public

Zone

Tokyo Zone A

Custom Gateway

事前に作成したCustom Gateway0を選択

Routing Mode

Destination Routing

Apply Immediately

Yes

Pre-shared Key

任意の値を入力します。
※今回は「aliazu12345」と入力

Encryption Setting
IKE Setting
Edition

ikev2

Encryption Setting
IKE Setting
Negotiation Mode

Main

Encryption Setting
IKE Setting
Encryption Algorithm

aes256

Encryption Setting
IKE Setting
Authentication Algorithm

sha256

Encryption Setting
IKE Setting
DH Group

group 2

Encryption Setting
IKE Setting
SA Lifetime (Seconds)

3600 秒

Encryption Setting
IPsec Setting
Encryption Algorithm

aes256

Encryption Setting
IPsec Setting
Authentication Algorithm

aes256

Encryption Setting
IPsec Setting
DH Group

disabled

Encryption Setting
DPD

ON

Encryption Setting
NAT Traversal

ON

BGP Settings
BGP Settings

ON

BGP Settongs
Tunnel CIDR Block

169.254.21.0/30

BGP Settongs
Local BGP IP

169.254.21.1

BGP Settings
Local ASN

64512

Advanced Settings

Propagate System Routes to Default Route Table of Transit Router

Advanced Settings

Propagate System Routes to Default Route Table of Transit Router

Advanced Settings

Automatically Creates Route That Points to Transit Router and Adds to All Route Tables of Current VPC

img-alibaba-azure-cen-vwan-ipsec-blog-20230331-13.png
img-alibaba-azure-cen-vwan-ipsec-blog-20230331-14.png
img-alibaba-azure-cen-vwan-ipsec-blog-20230331-15.png

作成されたVPN Connection 0が表示されるか確認します。
VCOから始まるIPsec Connections IDをクリックします。
後程、IPsec Connections インスタンス 0のパブリックIPをAzureに設定しますので、メモしておいてください。

img-alibaba-azure-cen-vwan-ipsec-blog-20230331-16.png

<2-14>

以下の通りパラメータを設定し、VPNのConnection 1を作成します。
事前共有キー(PSK)は、以降の設定で入力しますのでメモしておいてください。

■設定パラメータ

設定項目

パラメータ

Network Type

VPN

Region

Japan(Tokyo)

Resource Owner ID

Your Account

Individual Resource

Create Resource

Attachment Name

任意の名前を入力

Gateway Type

Public

Zone

Tokyo Zone B

Custom Gateway

事前に作成したCustom Gateway1を選択

Routing Mode

Destination Routing

Apply Immediately

Yes

Pre-shared Key

任意の値を入力します。
※今回は「aliazu12345」と入力

Encryption Setting
IKE Setting
Edition

ikev2

Encryption Setting
IKE Setting
Negotiation Mode

Main

Encryption Setting
IKE Setting
Encryption Algorithm

aes256

Encryption Setting
IKE Setting
Authentication Algorithm

sha256

Encryption Setting
IKE Setting
DH Group

group 2

Encryption Setting
IKE Setting
SA Lifetime (Seconds)

3600 秒

Encryption Setting
IPsec Setting
Encryption Algorithm

aes256

Encryption Setting
IPsec Setting
Authentication Algorithm

aes256

Encryption Setting
IPsec Setting
DH Group

disabled

Encryption Setting
DPD

ON

Encryption Setting
NAT Traversal

ON

BGP Settings
BGP Settings

ON

BGP Settongs
Tunnel CIDR Block

169.254.21.0/30

BGP Settongs
Local BGP IP

169.254.21.5

BGP Settings
Local ASN

64512

Advanced Settings

Propagate System Routes to Default Route Table of Transit Router

Advanced Settings

Propagate System Routes to Default Route Table of Transit Router

Advanced Settings

Automatically Creates Route That Points to Transit Router and Adds to All Route Tables of Current VPC

img-alibaba-azure-cen-vwan-ipsec-blog-20230331-17.png
img-alibaba-azure-cen-vwan-ipsec-blog-20230331-18.png
img-alibaba-azure-cen-vwan-ipsec-blog-20230331-19.png

作成されたVPN Connection 1が表示されるか確認します。
VCOから始まるIPsec Connections IDをクリックします。
後程、IPsec Connections インスタンス 1のパブリックIPをAzureに設定するため、メモしておいてください。

img-alibaba-azure-cen-vwan-ipsec-blog-20230331-20.png

■設定手順:Azure側の設定2

 

<3-1>

Azureコンソールにログインし、プロダクト一覧より仮想WAN > 仮想WAN ID >VPN サイト>サイトの作成をクリックします

img-alibaba-azure-cen-vwan-ipsec-blog-20230331-21.png

<3-2>

以下の通りパラメータを設定し、VPN サイトを作成します。

■設定パラメータ

設定項目

パラメータ

サブスクリプション

サブスクリプションを選択

リソースグループ

任意のリソースグループを選択

地域

Japan East

名前

任意の名前を入力

デバイス ベンダー

任意の名称を入力

プライベート アドレス空間

10.0.0.0/8
AlibabaCloudのサイトにある IP アドレス空間を入力

img-alibaba-azure-cen-vwan-ipsec-blog-20230331-22.png

■設定パラメータ リンク1行目

設定項目

パラメータ

リンク名

任意のリンク名を入力

リンク速度

1000

リンク プロバイダー名

任意のプロバイダー名を入力

リンク IP アドレスまたは FQDN

IPsec Connections 0でメモしたパブリックIPを入力

リンク BGP アドレス

169.254.21.1

リンク ASN

64512



■設定パラメータ リンク2行目

設定項目

パラメータ

リンク名

任意のリンク名を入力

リンク速度

1000

リンク プロバイダー名

任意のプロバイダー名を入力

リンク IP アドレスまたは FQDN

IPsec Connections 1でメモしたパブリックIPを入力

リンク BGP アドレス

169.254.21.5

リンク ASN

64512

img-alibaba-azure-cen-vwan-ipsec-blog-20230331-23.png

VPN サイトが作成されたことを確認します。

 

<3-3>

VPN (サイトからサイトへ)をページで[ハブの関連付け:]バブルの[X]をクリックし、フィルターをクリアします。

img-alibaba-azure-cen-vwan-ipsec-blog-20230331-24.png

フィルターをクリアすると作成したサイトが表示されるのでVPNサイトの接続をクリックします。

img-alibaba-azure-cen-vwan-ipsec-blog-20230331-25.png

<3-4>

以下のパラメータを用いて、サイトの接続を作成します。

■設定パラメータ

設定項目

パラメータ

事前共有キー(PSK)

aliazu12345

プロトコル

IKEv2

IPsec

既定

既定のルートを伝達する

無効化

ポリシーベースのトラフィックセレクターを使用する

無効化

トラフィックセレクターを構成しますか?

いいえ

接続モード

既定

img-alibaba-azure-cen-vwan-ipsec-blog-20230331-26.png

サイトの接続が成功したことを確認します。

 

<3-5>

作成したサイト名の・・・ > このハブへのVPN接続の編集をクリックします。
以下の部分のパラメータ設定をします。

 

■設定パラメータ リンク接続1

設定項目

パラメータ

インスタンス 0

169.254.21.2

インスタンス1

169.254.21.6

img-alibaba-azure-cen-vwan-ipsec-blog-20230331-27.png

リンク接続2も同じパラメータを入力します。

img-alibaba-azure-cen-vwan-ipsec-blog-20230331-28.png

<3-6>

ハブへのVPN接続の編集後に接続性の状態が[Connected]であることを確認します。

img-alibaba-azure-cen-vwan-ipsec-blog-20230331-29.png

BGPダッシュボードをクリックし
169.254.21.1のInstance0が[Connected]表記であることを確認します。
169.254.21.5のInstance1が[Connected]表記であることを確認します。

img-alibaba-azure-cen-vwan-ipsec-blog-20230331-30.png

※AlibabaCloudの仕様で1つのIPsec-VPN Connection毎には、1本しかIPsec Tunnelを張れません。そのため、169.254.21.1のInstance0、169.254.21.5のInstance1は[Connecting]状態で問題はありません。

 

ステータスの状態が失敗になっている場合、パラメータの設定間違いの可能性が考えられます。設定パラメータを再度ご確認してください。

解決しない場合、以下のドキュメントをご参照ください。

●Alibaba Cloud : FAQ about IPsec-VPN connections

●Azure : トラブルシューティング: Azure サイト間 VPN が動作を停止して接続できない

 

<3-7>

プロダクト一覧より仮想WAN > 仮想WAN ID >仮想ネットワーク接続>接続の追加をクリックします。

 

<3-8>

以下の通りパラメータを設定し、サイトの接続を作成します。

■設定パラメータ

設定項目

パラメータ

接続名

任意の接続名

ハブ

仮想ハブを選択

サブスクリプション

サブスクリプションを選択

リソースグループ

任意のリソースグループを選択

仮想ネットワーク

仮想ネットワークを選択

ルーティング構成:[なし]に伝播

いいえ

ルーティング構成:ルートテーブルの関連付け

ルートテーブルを選択

ルーティング構成:ルートテーブルへ伝播

ルートテーブルを選択

ルーティング構成:ラベルへ伝播

default

ルーティング構成:このVnet内のワークロードの次ホップIPをバイパスする

いいえ

img-alibaba-azure-cen-vwan-ipsec-blog-20230331-31.png

仮想ネットワーク接続が成功したことを確認します。

■動作確認

 

<4-1>

① Alibaba Cloud ECSとAzure VMにそれぞれSSHログインします。
② Alibaba Cloud ECSとAzure VMのプライベートIPに対して、それぞれの環境からプライベートIPに対してpingを実行します。

 

●Alibaba Cloud ECS環境

img-alibaba-azure-cen-vwan-ipsec-blog-20230331-32.png

●Azure Virtual Machines環境

img-alibaba-azure-cen-vwan-ipsec-blog-20230331-33.png

結果を確認すると、Alibaba Cloud ECSからAzure Virtual Machines、Azure Virtual MachinesからAlibaba Cloud ECSでそれぞれping応答があり、ネットワークの疎通ができていることが分かります。


<4-2>

① Alibaba Cloud ECSとAzure Virtual MachinesにそれぞれSSHログインします。
② Alibaba Cloud ECSとAzure Virtual MachinesのプライベートIPに対して、それぞれの環境からプライベートIPに対してpingを実行します。
下記コマンドを実行します。
Azure VM: ping -i 0.1 10.0.1.171 | xargs -I_ date +'%c _'
Alibaba ECS:ping -i 0.1 172.16.1.4 | xargs -I_ date +'%c _'
※pingの実行間隔を0.1秒に設定しております。

 

<4-3>

①Alibaba Cloudコンソールにログインし、プロダクト一覧より
Cloud Enterprise Network > CEN インスタンスID > Transit RouterインスタンスID > Intra-region Connections > IPsec Connections ID > Monitorをクリックします。
②Rate of Outbound Packets from IPSec-VPN Connectionのグラフを確認すると、pingを送信してからIPsec-VPN接続からの送信パケットレートもしくは送信トラフィックレートのグラフが上昇していることが確認できます。

img-alibaba-azure-cen-vwan-ipsec-blog-20230331-34.png

パケットレート、トラフィックレートのグラフが上昇していない場合はもう片方側のIPsec ConnectionsのMonitorをご確認ください。

<4-4>

対象のIPsec Connectionのパラメータを意図的に異なるパラメータに変更しTunnelをDownさせます。

<4-5>

IPsec-VPNがDownしてからping疎通が復旧するまでの時間を確認します。

 

●Alibaba Cloud ECS環境

img-alibaba-azure-cen-vwan-ipsec-blog-20230331-35.png

障害結果
断時間36.7秒

 

●Azure Virtual Machines環境

img-alibaba-azure-cen-vwan-ipsec-blog-20230331-36.png

障害試験結果
断時間36.9秒

断時間結果考察

Azure Virtual WANのBGP Keepalive:60秒、Holdtime:180秒
Alibaba Cloud CEN IPsec-VPN ConnectionのBGP Keepalive:10秒、Holdtime:30秒
KeepaliveとHoldtime は OPEN メッセージ交換時にピア間でネゴシエーションされ、短い方に揃えられ想定断時間は下記となります。

想定断時間:Keepalive間隔 1~10秒 + Holdtime 30秒 + 経路切り替わり 1秒 = 32秒~41秒
最大断時間36.9秒のため想定断時間の範囲内となります。

 

さいごに


今回はAlibaba CloudとAzureをマルチAZに対応したIPsec-VPN冗長構成で接続する手順をご紹介しました。いかがでしたでしょうか。今までのAlibaba Cloud VPNGatewayを利用したIPsec VPNは他社クラウドに比べ冗長性に関して見劣りする部分がありました。CEN IPsec-VPN Connectionを利用することでマルチAZ、ECMPを実現できるIPsec冗長が可能になります。是非ご活用ください。

関連サービス

Microsoft Azure

Microsoft Azureは、Microsoftが提供するパブリッククラウドプラットフォームです。コンピューティングからデータ保存、アプリケーションなどのリソースを、必要な時に必要な量だけ従量課金で利用することができます。

Alibaba Cloud

Alibaba Cloudは中国国内でのクラウド利用はもちろん、日本-中国間のネットワークの不安定さの解消、中国サイバーセキュリティ法への対策など、中国進出に際する課題を解消できるパブリッククラウドサービスです。

MSPサービス

MSP(Managed Service Provider)サービスは、お客さまのパブリッククラウドの導入から運用までをトータルでご提供するマネージドサービスです。

おすすめの記事

条件に該当するページがございません