Alibaba CloudとAWSをIPsec-VPNで繋いでみました

2022年12月24日掲載

キービジュアル

ご覧いただきありがとうございます。ソフトバンクの結城です。

この記事は、ソフトバンクアドベントカレンダー 2022 24日目 クリスマスイブの記事です。

パブリッククラウドを取り扱っている中で、異なるクラウドのプライベートネットワーク同士を接続したいといったご要望をよく聞くことがあります。これを実現する方法の一つとして、IPsecVPNを使った接続が挙げられます。また、弊社では中国に強みを持ったパブリッククラウド「Alibaba Cloud」を取り扱っているため、中国でのビジネス展開に向けたご相談をいただくことがしばしばあります。その中で、中国現地でクラウド環境を構築しつつ、その環境と他のパブリッククラウドを接続したい、といったご要望もいただくことがあります。

そこで今回は、IaaSの市場で圧倒的なシェアを誇るAWSと、中国で最も使われているAlibaba CloudをIPsec-VPNでプライベートネットワーク同士を接続する方法について紹介いたします。

目次

  • Alibaba Cloudの中国リージョンと、AWSの東京リージョンをIPsec-VPNで接続する手順を紹介する記事です
  • 知識の無い方でもこの通りにやれば接続出来るように説明しています。
  • ご自身の環境同士を繋ぐには環境に合わせたカスタマイズが必要です。

Alibaba CloudとAWSが提供する中国リージョンについて

AWSでは23か国 / 28リージョン(2022年12月24日現在)、Alibaba Cloudでは15か国 / 28リージョン(2022年12月24日現在)を提供しています。このうち中国リージョンとして、AWSは、「北京、寧夏」、Alibaba Cloudは「青島、北京、張家口、フフホト、ウランチャブ、杭州、上海、深セン、河源、広州、成都」リージョンが提供されています。また、Alibaba Cloudでは中国本土外に香港リージョンが提供されています。比較をするとAWSが提供している中国リージョン数は2リージョンであるのに対し、Alibaba Cloudでは12の中国リージョンを提供しており、AWSが提供している中国リージョン数と比較すると6倍です。

何故、複数のパブリッククラウドをあわせて利用するのか

パブリッククラウドが提供しているリージョン / ゾーンの考え方としては、リージョン = 国 / 地域、ゾーン = データセンターの所在地という考え方が一般的です。利用する場所が、利用リージョン / ゾーンに近いほど、通信の遅延を最小限に抑えることができ、なおかつレスポンスタイムを短くすることができます。一方、利用する場所が、利用リージョン / ゾーンから遠いほど通信の遅延は増え、レスポンスタイムが長くなります。異なるパブリッククラウド同士をあわせて利用する理由としては、利用する場所 / 地域に近いリージョン / ゾーンが提供されている、メインで使っているパブリッククラウドに無いプロダクトや機能を利用したいといった理由があります。

パブリッククラウドのVPN比較、料金について

別のBlogでご紹介していますので詳細については、パブリッククラウドVPNのサービス比較(Alibaba Cloud / AWS / Azure / Google Cloud)をご参照ください。

IPsec-VPNでAlibaba Cloud環境とAWS環境を接続する方法

■構成図

■検証内容

クラウド間をIPsec VPNで接続し、それぞれのクラウドに設置した仮想サーバ間でプライベート通信が可能か検証する

■検証方法

Alibaba CloudのECSとAWSのEC2で双方からそれぞれのプライベートIPに対しpingを実行し、疎通確認

■利用プロダクト

●Alibaba Cloud
VPC
VPN Gateway
ECS

●AWS
VPC
AW
EC2

■事前準備

●Alibaba Cloud
VPC : 172.16.0.0/16 (北京リージョン)
vSwitch : 172.16.1.0/24  (北京リージョン)
ECS : CentOS7.7 / パブリックIP付与 / 北京リージョン
Security Group : ICMPをALL, 検証で使用するクライアント環境の接続元IPアドレスをSSHで許可
※Alibaba Cloudで中国リージョンのプロダクトを利用する場合、実名認証を完了させている必要があります。詳細については、Real-name registration FAQsをご参照ください。

●AWS
VPC : 10.0.0.0/16 (東京リージョン)
サブネット : 10.0.1.0/24 (東京リージョン)
EC2 : AmazonLinux / パブリックIP付与 / 東京リージョン
※インターネットに接続ができる状態
Security Group : ICMPをALL, 検証で使用するクライアント環境の接続元IPアドレスをSSHで許可

■設定時間の目安

30 ~ 45分ほど

■設定の流れ

1. Alibaba Cloud側での設定
2. AWS側での設定
3. Alibaba Cloud側での設定
4. 動作確認前のチェック

■設定手順:Alibaba Cloudの設定

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

<1.2>
「Create VPN Gateway」をクリックし、VPN Gatewayの作成を行います。

<1.3>
以下の通りパラメータを設定し、VPN Gatewayを作成します。
■設定パラメータ

設定項目

パラメータ

Name

任意の名前を入力

Region

China(Beijing)

Gateway Type

Standard

Network Type

Public

VPC

事前に作成したVPCを選択

Specify VSwitch

No

Maximum Bandwidth

10 Mbit/s

Traffic

Pay-by-data-transfer

IPsec-VPN

Enable

SSL-VPN

Disable

<1.4>
作成されたVPN Gatewayが表示されるか確認します。
※VPN GatewayのIPは後続の設定で入力しますのでメモしておいてください。


 

■設定手順:AWS側での設定

<2-1>
AWSコンソールにログインし、プロダクト一覧より「仮想プライベートゲートウェイ」を選択し、「仮想プライベートゲートウェイの作成」をクリックします。

<2.2>
以下の通りパラメータを設定し、仮想プライベートゲートウェイを作成します。
■設定パラメータ

設定項目

パラメータ

名前タグ - オプション

任意の名前を入力

自律システム番号(ASN)

Amazon デフォルト ASN

<2.3>
仮想プライベートゲートウェイが作成されたことを確認したら、「アクション」→「VPCへアタッチ」をクリックします。

<2.4>
使用可能なVPCに事前に準備したVPCプルダウンから選択し、「VPCへアタッチ」をクリックします。

<2.5>
仮想プライベートゲートウェイの状態が「Attached」の状態であることを確認します。

<2.6>
プロダクト一覧より「カスタマーゲートウェイ」を選択し、「カスタマーゲートウェイの作成」をクリックします。

<2.7>
以下の通り、パラメータを入力し、カスタマーゲートウェイを作成します。
※IPアドレスには、Alibaba CloudのVPN GatewayのIPアドレスを入力します。
■設定パラメータ

設定項目

パラメータ

名前タグ - オプション

任意の名前を入力

BGP ASN

65000(デフォルト値)

IPアドレス

<1.4>でメモしたAlibaba Cloud VPN GatewayのIPを入力

<2.8>
カスタマーゲートウェイが作成されたことを確認します。
※IPアドレスに<1-4>でメモしたAlibaba Cloud VPN GatewayのIPアドレスが表示されていることを確認します。

<2.9>
プロダクト一覧より「サイト間 VPN接続」を選択し、「VPN接続を作成する」をクリックします。

<2.10>
以下の通り、パラメータを入力し、VPN接続を作成します。
■設定パラメータ

設定項目

パラメータ

名前タグ - オプション

任意の名前を入力

ターゲットゲートウェイのタイプ

仮想プライベートゲートウェイ

仮想プライベートゲートウェイ

<2.2で>で作成した仮想プライベートゲートウェイを選択

カスタマーゲートウェイ

既存

カスタマーゲートウェイID

<2.7>で作成したカスタマーゲートウェイを選択

ルーティングオプション

静的

静的IPプレフィックス

Alibaba CloudのVPC CIDR Blockを入力

ローカルIPv4ネットワーク CIDR オプション

Alibaba Cloud ECSに設定したvSwitchのCIDR Blockを入力

リモートIPv4ネットワーク CIDR オプション

AWS EC2に設定したサブネットのCIDR Blockを入力します

トンネル1の事前共有キー

任意の値を入力 (後程、Alibaba Cloud側に設定するのでメモしてください)

※今回は「yukitest12345」と入力

トンネル1の詳細オプション

デフォルトのオプションを使用する

トンネル2の事前共有キー

任意の値を入力 (後程、Alibaba Cloud側に設定するのでメモしてください)

※今回は「yukitest12345」と入力

トンネル2の詳細オプション

デフォルトのオプションを使用する

<2-11>
VPN接続が作成されたことを確認し、VPN IDをクリックします。

<2-12>
下にスクロールし、トンネル1またはトンネル2のIPアドレスを確認します。以下の図を確認するとトンネルのステータスがDownしていますが、Downしている理由としては、Alibaba CloudのVPN Gatewayの設定がされていないためです。このため、トンネルのステータスがDownの状態で以降の手順を実施ください。
※今回はトンネル1のIPアドレスで設定を行います。後続の設定で入力しますのでメモしておいてください。

<2-13>
プロダクト一覧より「ルートテーブル」を選択し、仮想プライベートゲートウェイにアタッチしたVPCのルートテーブルのIDをクリックします。その後、「ルートの編集」をクリックし、以下のルートを追加します。
■設定情報

設定項目

設定情報

送信元

Alibaba Cloud VPCのCIDR Block 

ターゲット

作成した仮想プライベートゲートウェイ

<2-14>
ルートが追加されたことを確認します。


 

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

<3-1>
Alibaba Cloudコンソールにログインし、プロダクト一覧より「VPN Gateway」を選択します。表示された画面の左ペインより、「Customer Gateways」を選択し、「Create Customer Gateway」をクリックします。

<3.2>
以下の通り、パラメータを入力し、カスタマーゲートウェイを作成します。
■設定パラメータ

設定項目

パラメータ

Name

任意の名前を入力

IP Address

<2.10>でメモしたAWSのトンネルのIPを入力します。

<3.3>
プロダクト一覧より「VPN Gateway」を選択します。表示された画面の左ペインより、「IPsec Connections」を選択し、「Create IPsec Connection」をクリックします。以下の通り、パラメータを入力し、IPsec Connectionを作成します。
■設定パラメータ

設定項目

パラメータ

Name

任意の名前を入力

Associate Resource

VPN Gateway

VPN Gateway

<1.3>で作成したVPN Gatewayを選択

Customer Gateway

<3.2>で作成したCustomer Gatewayを選択

Routing Mode

Destination Routing Mode

Effective Immediately

Yes

Pre-Shared Key

<2.10>でメモしたAWSのトンネルの事前共有キーを入力

Version

ikev2

Negotiation Mode

main

Encryption Algorithm

aes

Authentication Algorithm

sha1

DH Group

group2

SA Life Cycle (secounds)

86400 (デフォルト値)

LocalId

Alibaba Cloud ECSに設定したvSwitchのCIDR Blockを入力

RemoteId

AWS EC2に設定したサブネットのCIDR Blockを入力

Encryption Algorithm

aes

Authentication Algorithm

sha1

DH Group

group2

SA Life Cycle (secounds)

86400 (デフォルト値)

<3.4>
IPsec Connectionが作成されたか確認します。

<3.5>
プロダクト一覧より「VPN Gateway」を選択します。その後、作成したVPN GatewayのインスタンスIDをクリックします。「Policy-based Routing」のタブをクリックし、「Add Route Entry」をクリックします。

<3.6>
以下の通り、パラメータを入力し、ルートエントリを追加します。
■設定パラメータ

設定項目

パラメータ

Destination CIDR Block

AWS EC2に設定したサブネットのCIDR Blockを入力

Source CIDR Block

Alibaba Cloud ECSに設定したvSwitchのCIDR Blockを入力

Next Hop Type

IPsec Connection

Next Hop

<3.3>で作成したIPsec Connectionを選択

Publish to VPC

Yes

Weight

100(Active)

Policy Priority

10

<3.7>
ルートエントリが追加されたか確認します。

<3.8>
プロダクト一覧より「Virtual Private Cloud」を選択します。表示された画面の左ペインより、「Route Tables」を選択し、VPN Gateway作成時に指定したVPCのルートテーブルのインスタンスIDをクリックします。その後、「Custom Route」のタブをクリックし、「Add Route Entry」をクリックします。

<3.9>
以下の通り、パラメータを入力し、ルートエントリを追加します。
■設定パラメータ

設定項目

パラメータ

Name

任意の名前を入力

Destination CIDR Block

AWS EC2に設定したサブネットのCIDR Blockを入力

Next Hop Type

VPN Gateway

VPN Gateway

<1.3>で作成したVPN Gatewayを選択

設定は以上となります。


 

■動作確認

<動作確認前のチェック>
Alibaba Cloud、AWSのそれぞれVPN接続のステータスを確認します。

●Alibaba Cloud
Connection Statusで緑のチェックマーク(Phase2が成功している)ことを確認します。

●AWS
使用しているトンネルのステータスがUPになっている状態であることを確認します。

ステータスがダウンになっている場合、パラメータの設定間違いや、設定パラメータが異なっている可能性が考えられます。ご紹介させていただいた手順をもう一度確認いただき、設定パラメータをご確認ください。

解決しない場合、以下のドキュメントをご参照ください。
●Alibaba Cloud : FAQ about IPsec-VPN connections
●AWS : カスタマーゲートウェイデバイスの VPN トンネルの非活動性、不安定性、またはトンネルダウンをトラブルシューティングするにはどうすればよいですか?

<疎通確認>
① Alibaba Cloud ECSとAWS EC2にそれぞれSSHログインします。
② Alibaba Cloud ECSとAWS EC2のプライベートIPに対して、それぞれの環境からプライベートIPに対してpingを実行します。

●Alibaba Cloud ECS環境

 

●AWS EC2環境

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

さいごに

今回はAlibaba CloudとAWSをIPsec-VPNで接続する方法についてご紹介させていただきましたがいかがでしたでしょうか。

AWSをはじめ、4大クラウドのAzure, Google Cloudも中国リージョンの提供数が少なく、AWS, Azure Google Cloudをメインで利用しているが、提供されている中国リージョンから利用リージョン / ゾーンから遠いといった場合、中国リージョンの提供数が多いAlibaba Cloudとあわせてマルチクラウドで利用することをお勧めいたします。

今後、「Alibaba CloudとAzure」、「Alibaba CloudとGoogle Cloud」をIPsec-VPNで接続する方法についての記事投稿を予定していますので、ぜひご覧いただけますと幸いです。

関連サービス

Alibaba Cloud

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

MSPサービス

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

おすすめの記事

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