Alibaba CloudとAWSをVPN接続する

こんにちは。SB Cloud ソリューションアーキテクトのMIです。

今回はAlibaba CloudAmazon Web ServiceAWS)を利用したマルチクラウド環境のVPN接続方法についてご紹介していきます

「他社のクラウドから移行したい」、「他社クラウドの一部の機能も使いたい」と言った要望を受けることがあります。そういったケースに利用できそうな「Alibaba CloudAWSとのVPN通信」について検証してみました。

1.検証環境構成図

<環境前提>

  • Alibaba Cloud側にVPC1、AWS側にVPC2が作成されていること
  • VPC1、VPC2はインターネットと通信可能であること※AWSのVPCにはInternet Gatewayが追加されていること
  • Alibaba Cloud側にECS、AWS側にEC2が作成されていること
  • Alibaba CloudとAWSのセキュリティグループでicmpの通信が許可されていること

2.Alibaba Cloud VPN Gatewayの作成

2.1 VPCコンソールにログインします。 2.2 左側のナビゲーションペインで、[VPN] > [VPN Gateways] をクリックします。 2.3 [VPN Gateway] ページで、[VPN Gateway の作成] をクリックします。 2.4 VPN Gateway を設定します。本手順では、 VPN Gateway は次の設定を使用します。 リージョン:[日本(東京)] を選択します。 ※注意:接続先の VPC のリージョンと VPN Gateway のリージョンは、同じにしてください。 VPC:接続先の VPC を選択します。この手順では、VPC1 を選択します。 帯域幅仕様:帯域幅の仕様を選択します。本手順は[10 Mbp] を選択しています。 IPec-VPN:[有効化] を選択します。 SSL-VPN:[無効化] を選択します。

2.5 [VPN Gateway] ページに戻り、[日本(東京)] リージョンをクリックすると、作成した VPN Gateway が表示されます。※VPN Gateway の初期ステータスは、準備中です。ステータスが正常に変わると、VPN Gateway が使用可能になったことを示します。

2.6 [名前]をクリックし、任意の名前を入力します。本手順では[vgw-ali2aws]を入力します。本手順のVPN Gateway の設定情報を次の表に示します。

VPN Gateway ID/名前 VPN Gateway パブリック IP アドレス  VPC
vpn-xxxxxjuy vgw-ali2aws 47.xxx.xxx.80 名前:VPC1 ID:vpc-xxxxbg IP アドレス範囲:172.16.0.0/12

3.AWS 仮想プライベートゲートウェイの作成

3.1 ナビゲーションペインで[仮想プライベートゲートウェイ] > [仮想プライベートゲートウェイの作成] をクリックします。 3.2[名前タグ]に任意の名前を入力します。本手順では[vgw-aws2ali]を入力します。 3.3 [ASN]は[AmazonのデフォルトASN]を選択します。 3.4 [仮想プライベートゲートウェイの作成] をクリックします。 3.5 作成した仮想プライベートゲートウェイ[vgw-aws2ali] を選択し、[アクション] > [VPCにアタッチ] を選択します。 3.6 [VPC]リストは[VPC2]を選択し、[はい、アタッチする] をクリックします。 本手順の仮想プライベートゲートウェイの設定情報を次の表に示します。
Name VPN ID VPC
vgw-aws2ali vpn-xxxxxc35 名前:VPC2 ID:vpc-xxxx01 IP アドレス範囲:10.0.0.0/16

 4.AWS カスタマーゲートウェイの作成

4.1 ナビゲーションペインで[カスタマーゲートウェイ] > [カスタマーゲートウェイの作成] をクリックします。 4.2 [名前]に任意の名前を入力します。本手順では[cgw-ali]を入力します。 4.3 [ルーティング]は[静的]を選択します。 4.4 [IPアドレス] はAlibaba CloudのVPN Gateway パブリック IP アドレスを入力します。 本手順では[47.xxx.xxx.80]を入力します。 4.5 [カスタマーゲートウェイの作成] をクリックします。 本手順のカスタマーゲートウェイの設定情報を次の表に示します。
カスタマーゲートウェイIP
cgw-xxx1e

5.AWS VPN接続の作成

5.1 ナビゲーションペインで[VPN接続] > [VPN接続の作成] をクリックします。 5.2 VPN接続を設定します。本手順では次の設定を使用します。 名前タグ:任意の名前を入力します。本手順では[vpn-aws2ali]を入力します。 仮想プライベートゲートウェイ:[vgw-xxxxxc35]を選択します。 カスタマーゲートウェイ:[既存]を選択します。 カスタマーゲートウェイIP:[cgw-xxx1e]を選択します。 ルーティングオプション:[静的]を選択します。 静的IPプレフィックス:Alibaba  Cloud VSwitchのCIDERブロック[172.31.10.0/24]を入力します。 トンネルオプション トンネル1の事前共有キー:任意の名前を入力します。本手順では[Psk2018xx]を入力します。 トンネル2の事前共有キー:任意の名前を入力します。本手順では[Psk2018xx]を入力します。 ※AWSでは2つのトンネルが作成されますが、Aibaba Cloudとは1つのトンネルのみの接続になります。VPN接続の作成時点ではAWSの2つのトンネルの内どちらと接続されるか不明なため同じ事前共有キーを指定しています。 5.3 [VPN接続の作成] をクリックします。 5.4 作成されたVPN[vpn-aws2ali]を選択します。 5.5 [トンネル詳細]をクリックします。2つの外部IPアドレスを確認します。 2つの内の1つの外部IPアドレスをAlibabaカスタマーゲートウェイの作成に使用します。本手順では、52.xxx.xxx.200を使用します。 本手順のVPNの設定情報を次の表に示します。
Name 仮想プライベート ゲートウェイID カスタマー ゲートウェイ VPC
vpn-aws2ali vgw-xxxxxc35 cgw-xxx1e 47.xxx.xxx.80 名前:VPC2 ID:vpc-xxxx01
外部IPアドレス
13.xxx.xxx.104 52.xxx.xxx.202  <=本手順はこちらを採用

6.AWS ルートテーブルの追加

6.1 ナビゲーションペインで[ルートテーブル]をクリックします。 6.2 [VPC2]を選択し、[ルート]をクリックします。 6.3 [編集]をクリックし、[別のルートを追加]をクリックします。入力欄が追加されます。6.4 [送信先]にAlibaba VSwitchのCIDERブロック[172.31.10.0/24]を入力します。 6.5 [ターゲット]はリストから仮想プライベートゲートウェイID [vgw-xxxxxc35| vgw-aws2ali]を選択します。 6.6 [保存]をクリックします。

7.Alibaba Cloudカスタマーゲートウェイの作成

7.1 VPCコンソールにログインします。 7.2 左側のナビゲーションペインで、[VPN] > [VPN Gateways] をクリックします。 7.3 [Customer Gateway] ページで、[カスタマーゲートウェイの作成] をクリックします。 7.4 [名前]に任意の名前を入力します。本手順では[cgw-aws]を入力します。7.5 [IPアドレス]に[52.xxx.xxx.202]を入力します。 7.6 [OK]をクリックします。 本手順のカスタマーゲートウェイの設定情報を次の表に示します。
カスタマーゲートウェイ名前 IPアドレス
cgw-aws 52.xxx.xxx.202

8.Alibaba Cloud VPN接続の作成

8.1 左側のナビゲーションペインで、[VPN] > [IPSec Connections] をクリックします。 8.2 [IPSec Connections] ページで、[VPN接続の作成] をクリックします。 8.3 VPN接続を設定します。本手順では次の設定を使用します。名前:任意の名前を入力します。本手順では[vpn-ali2aws]を入力します。 VPN Gateway:[vgw-ali2aws]を選択します。 カスタマーゲートウェイ:[cgw-aws]を選択します。 ローカルネットワーク:Alibaba  Cloud VSwitchのCIDERブロック[172.31.10.0/24]を入力します。 リモートネットワーク:AWS SubnetのCIDERブロック[10.0.10.0/24]を入力します。 直ちに有効:[はい]を選択します。 高度な設定:[ON]にします。 事前共有鍵:[Psk2018xx] を入力します。 ※その他の設定項目はデフォルト値 8.4 [OK]をクリックします。 8.5 接続ステータスが「IKE トンネルネゴシエーションの フェーズ 2 成功」になっていることを確認します。

9.Alibaba Cloudルートテーブルの追加

9.1 左側のナビゲーションペインで、[Route Tables] をクリックします。Route Tablesの一覧からVPC列に[VPC1]が表示されているRoute TablesのIDをクリックします。 9.2 [ルートエントリの追加]をクリックします。 9.3 [ターゲットCIDR]にAWS SubnetのCIDERブロック[10.0.10.0/24]を入力します。9.4 [Next Hopタイプ]に[VPN Gatewy]を選択します。 9.5 [VPN Gateway]に[vgw-ali2aws|vpn-xxxxxjuy]を選択します。 9.6 [OK]をクリックします。

10.疎通確認

10.1 Alibaba  CloudECS(172.31.10.41)からAWS EC2(10.0.10.171)へのping疎通確認を行います。
[root@172.31.10.41 ~]# ping 10.0.10.171
PING 10.0.10.171 (10.0.10.171) 56(84) bytes of data.
64 bytes from 10.0.10.171: icmp_seq=1 ttl=63 time=5.70 ms
64 bytes from 10.0.10.171: icmp_seq=2 ttl=63 time=5.21 ms
64 bytes from 10.0.10.171: icmp_seq=3 ttl=63 time=5.25 ms
64 bytes from 10.0.10.171: icmp_seq=4 ttl=63 time=5.27 ms
64 bytes from 10.0.10.171: icmp_seq=5 ttl=63 time=5.33 ms
64 bytes from 10.0.10.171: icmp_seq=6 ttl=63 time=5.14 ms
64 bytes from 10.0.10.171: icmp_seq=7 ttl=63 time=5.30 ms
64 bytes from 10.0.10.171: icmp_seq=8 ttl=63 time=5.34 ms
64 bytes from 10.0.10.171: icmp_seq=9 ttl=63 time=5.24 ms
64 bytes from 10.0.10.171: icmp_seq=10 ttl=63 time=5.23 ms
 10.2 AWS EC2(10.0.10.171)から Alibaba  CloudECS(172.31.10.41) へのping疎通確認を行います。
[root@10.0.10.171 ~]# ping 172.31.10.41
PING 172.31.10.41 (172.31.10.41) 56(84) bytes of data.
64 bytes from 172.31.10.41: icmp_seq=1 ttl=63 time=5.36 ms
64 bytes from 172.31.10.41: icmp_seq=2 ttl=63 time=5.12 ms
64 bytes from 172.31.10.41: icmp_seq=3 ttl=63 time=5.16 ms
64 bytes from 172.31.10.41: icmp_seq=4 ttl=63 time=5.16 ms
64 bytes from 172.31.10.41: icmp_seq=5 ttl=63 time=5.25 ms
64 bytes from 172.31.10.41: icmp_seq=6 ttl=63 time=5.15 ms
64 bytes from 172.31.10.41: icmp_seq=7 ttl=63 time=5.24 ms
64 bytes from 172.31.10.41: icmp_seq=8 ttl=63 time=5.20 ms
64 bytes from 172.31.10.41: icmp_seq=9 ttl=63 time=5.26 ms
64 bytes from 172.31.10.41: icmp_seq=10 ttl=63 time=5.29 ms

まとめ

本検証の通り、AlibabaCloud/AWS間でVPNコネクションを張り、相互のプライベートLANに対して通信ができることが確認できました。

各クラウドベンダーのメリットデメリットを理解して上手く使うと、いい所取りをしたシステム構築が可能になると思います。次はMicrosoftAzureとのVPN接続方法についてご紹介いたします!