こんちには。SBクラウドのKSです。 Alibaba Cloudでは月数個のペースで新しいプロダクトをリリースしています。その中でも今回は非常に便利なVPN Gatewayというプロダクトのご紹介です。
VPNとは
まずは「VPNとは何だ?」というところからですが、一言で言えばインターネット上で仮想的に構築する専用のネットワークです。 VPN(Virtual Private Network)接続は低コストでセキュアな接続環境を実現するため、専用線接続はコストが高くて導入できない、といったユーザーに向いています。 そしてVPN Gatewayはその名の通り、VPN接続の出入り口として提供されます。
Alibaba CloudのVPN Gatewayでは下記の2つのVPN接続に対応しています。
- IPsec-VPN:ネットワーク層で実装されてアプリケーションに依存しない、組織間アクセス向き
- SSL-VPN:セッション層で実装されてアプリケーションに依存する、リモートアクセス向き
実際にAlibabaのVPN Gatewayを使ってみる
下記のような構成で環境を作成して接続確認をしてみました。
日本リージョンでもVPN Gatewayは使用可能ですが、世界中のリージョンに環境を作成できることもAlibaba Cloudを含めたパブリッククラウドを利用するメリットとなりますので、今回はシンガポールとマレーシアリージョンを選択しています。
IPsec-VPNで接続されたシンガポールリージョンのECS1、マレーシアリージョンのECS2がそれぞれプライベートIPアドレスで疎通がとれることを確認します。
もちろん両方のECSにグローバルIPアドレスを付与すれば、インターネット経由で通信が可能です。しかしそれだと「セキュリティー面で不安がある」といったことを想定してVPNで仮想のコネクションを張っての通信を試してみました。
IPsec-VPNでの接続
IPsec-VPNの接続を確認するために2つのリージョンにVPCとECSをそれぞれ作成します。疎通はpingで確認するため、セキュリティグループの設定でICMPの受信を許可に設定しました。 IPsec-VPNは以下の5ステップで接続できるようになります。
- VPCにVPN Gatewayの作成
- VPCにカスタマーゲートウェイの作成
- IPsec コネクションの作成
- ルーティングの設定
- 接続確認
ここからはそれぞれの設定方法を説明して行きます。
1.VPCにVPN Gatewayの作成
接続する2つのVPCにそれぞれVPN Gatewayを作成します。 VPC管理画面の左ペインから「VPN Gateways」を選択して「VPN Gatewayの作成」をクリックします。
購入画面が表示されるので、「IPsec-VPNは有効化」、「SSL-VPNは無効化」にします。その他、各項目を選択して「今すぐ購入」をクリックします。 確認画面が表示されるので、「利用規約とSLAに同意する」にチェックを入れて、「有効化」をクリックします。
下記画面のようにVPN-Gatewayが作成されます。
2.VPCにカスタマーゲートウェイの作成
VPN Gateway同様、接続するVPCにそれぞれカスタマーゲートウェイを作成します。 VPC管理画面の左ペインから「Customer Gateways」を選択して「カスタマーゲートウェイの作成」をから、名前とIPアドレスを入力してOKをクリックします。
下記画面のようにカスタマーゲートウェイが作成されました。
3.IPsec コネクションの作成
次は2つのVPCを接続していきます。これも接続する2つのVPCにそれぞれ設定します。 VPC管理画面の左ペインから「IPsec Connections」を選択して「VPN接続の作成」から、各項目を選択・入力してOKをクリックします。 ※何箇所か注意点を下記に記載します
- ローカルネットワーク→接続元のVPCのCIDR ブロック
- リモートネットワーク→接続先のVPCのCIDR ブロック
- 事前共有鍵→接続するそれぞれのIPsecコネクションに同一の値を設定
接続ステータスが成功になれば2つのVPCのIPsec-VPN接続が正常に完了したことになります。
※IPsecコネクションが片方のVPCからのみだとステータスが失敗となりますが、双方のVPCから設定すると成功になります。
4.ルーティングの設定
2つのVPCのコネクションが確立したら、最後にルーティングを設定します。 それぞれの VPC のルートテーブルに下記の内容を追記します。
- ターゲットCIDR:接続先のVPCのCIDR
- Next Hop タイプ:VPN Gateway
- VPN Gateway:接続元VPN Gateway の名前
5.接続確認
4.ルーティングの設定まででIPsec-VPNの環境作成が完了となります。 正常に接続できることを確認するために双方のVPC内にECSを購入して、お互いのプライベートIPアドレスにpingで疎通を確認します。
[root@iZt4n2sbr1hqssvaa5iztyZ ~]# ping 172.31.0.21 PING 172.31.0.21 (172.31.0.21) 56(84) bytes of data. 64 bytes from 172.31.0.21: icmp_seq=1 ttl=62 time=45.5 ms 64 bytes from 172.31.0.21: icmp_seq=2 ttl=62 time=44.9 ms 64 bytes from 172.31.0.21: icmp_seq=3 ttl=62 time=44.7 ms --- 172.31.0.21 ping statistics --- 4 packets transmitted, 4 received, 0% packet loss, time 3004ms rtt min/avg/max/mdev = 44.733/45.006/45.589/0.431 ms [root@iZ8ps7rkg2ngcwx17ly64vZ ~]# ping 192.168.0.231 PING 192.168.0.231 (192.168.0.231) 56(84) bytes of data. 64 bytes from 192.168.0.231: icmp_seq=1 ttl=62 time=44.7 ms 64 bytes from 192.168.0.231: icmp_seq=2 ttl=62 time=44.6 ms 64 bytes from 192.168.0.231: icmp_seq=3 ttl=62 time=44.6 ms --- 192.168.0.231 ping statistics --- 7 packets transmitted, 7 received, 0% packet loss, time 6010ms rtt min/avg/max/mdev = 44.688/44.719/44.773/0.197 ms
それぞれのECSから相手側のプライベートIPアドレスに対して疎通が確認できました。
SSL-VPNについて
こちらに記載があるように、SSL-VPNも5ステップでVPN接続が可能になります。
- VPCにVPN Gatewayの作成
- VPCにSSLサーバーの作成
- SSLクライアント証明書の作成
- クライアントの設定
- 接続確認
詳しいご紹介はまたの機会にしたいと思いますが、上記の1~3はVPCの管理コンソールから簡単に設定できます。4はOpen VPNというオープンソースのソフトウェアを使ってみましたが、3で作成した証明書を使って対応できました。 結果はIPsecと同じくプライベートIPアドレスに対してpingで疎通が確認できました。
最後に
今回はpingでの疎通確認のみでしたが、とても簡単にVPN接続ができました。 個人的な話ですが、少し前に3rd party製のVPNソフトウェアで検証をしたことがあり、それに比べても簡単にVPN接続ができて、非常に便利なプロダクトだと思います。 VPN Gatewayのリリースによって、データセンターと日本を含めた世界中のAlibaba Cloudとの接続なども低価格で容易に実現できるようになりました。 そのため、皆様にもぜひAlibaba Cloudを試していただければと思います。