先日(といってもかなり前の話ですが)とあるシステムベンダー様からAWS(Amazon Web Services)のVPCとの拠点間VPN できないか
という相談があり、システムベンダーと協力して弊社がいつも使っている
センチュリーシステムズのNXRシリーズを使ってVPN接続が可能か検証を行いました。
(自分用の備忘録です。すみません)
クラウドサービスとのVPN接続ですが、
(当たり前ですが)クラウドサービス側にVPNルータ(ハードウェア)をamazon側に設置することは
できないので
クラウドサービス側で、なにかしらの仮想的なVPNルータを動かす必要があります。
このVPN仮想ルータは、
①クラウドサービス側で準備されているものを利用する
②クラウドサービス上の仮想サーバに利用者がVPN機能を持ったソフトウェアをインストールしそこでVPN接続する
の大きく2通りあると思いますが、今回は、Amazonが準備している仮想のVPNルータ
仮想プライベートゲートウェイ(Virtual Private Gateway) とセンチュリーシステムズのNXRシリーズとの
VPN接続を試します。
ちなみに
①のメリットは、クラウドサービス側で準備されている機能をそのまま使うだけなので手間がない反面
汎用性がなかったり、機能が限られる、対向との接続性が大丈夫か? 等の問題もあります。
②は逆に、汎用性は高く、機能も充実していますが、
導入の手間やコスト、この仮想VPNルータ用で仮想サーバの契約をしないといけないのでコストもかかる等のデメリットがあります。
そもそもこういった、仮想サーバにインストールが可能なVPNのソフトウェアがそれほど充実していないため調達が難しい点もデメリットかもしれませんね。
※センチュリーシステムズでは、②用の仮想サーバにインストールが可能なVPNのソフトウェア「FutureNet VXR-x86」というソフトウェアがありますが、今回は使用しません。
AWSでの①の機能制限の例としては
・VPNの対向数が10まで
・対向のVPNルータのWAN側は固定のIPアドレスが必要
・ルーティングがスタティックかBGPに限られる
等があります。
詳細は以下参照
https://docs.aws.amazon.com/ja_jp/AmazonVPC/latest/UserGuide/VPC_Appendix_Limits.html
さて、さっそくVPNのテストなのですが
構成は以下のような1:1の接続です。(右側が、オンプレ側ですね)
、
AWS側の設定ですが
amazonのマニュアルが↓のようにありますでの、こちらを参照して設定。
(今回はシステムベンダーさんにやってもらい、あとでレクチャーを受けましたが、↓のように進めれば基本大丈夫そう)
https://docs.aws.amazon.com/ja_jp/AmazonVPC/latest/UserGuide/SetUpVPNConnections.html
で、続いてオンプレミス側のルータの設定ですが、
AWSの仮想プライベートゲートウェイを使うときですが、便利なことに
AWS上のVPCへVPN接続する際のオンプレミス側のルータに必要な設定(コンフィグ)を、マネジメントコンソールからダウンロードできます。
サポートされるルータはなんでも良いわけではないですが、対応していればベンダーとバージョンを指定すればダウンロードでてしまいます。
ダウンロードしたコンフィグを、オンプレ側の機器に流し込んでしまえばそれで終了なのです。
めちゃくちゃ便利。
(ただ、あくまで一般的な設定なので、ルーティング設定等は手直しが必要な場合があるようです)
https://docs.aws.amazon.com/ja_jp/AmazonVPC/latest/UserGuide/VPC_VPN.html
すごい便利なのですが、今回検証するセンチュリーシステムズは対応してません。残念!!!
対応していない場合はどうするかというと、
・マネジメントコンソールから、ベンダ「Generic」(一般的ってことですね)のコンフィグをダウンロード
・それに記載されているIPSECのパラメータを参照して、オンプレ側のルータを手動で設定
になります。はい、めんどくさいです。
ちなみに、AWSの場合、
>リモートネットワークを VPC に接続するには、VPN 接続を使用します。各 VPN 接続には 2 つのトンネルがあり、
>それぞれのトンネルが固有の仮想プライベートゲートウェイのパブリック IP アドレスを使用します。
となっており、AWS側は回線の冗長化が標準的にされています。なので
オンプレミス側のルータは、この冗長化に対応していないと、接続できないorできても何かしら不具合がでる可能性があるかも。
(AWS側のログでエラーはきまくるとか )
で、戻ってオンプレ側のルータの設定ですが、めんどくさいとは言いつつもAWS用で特別な設定は前述の冗長化くらいでそれ以外特殊な設定はないためさくっと設定して、 接続テスト!!
とりあえずAWS側の接続状態は以下のような感じ(ステータスがアップ)でOKぽいです。(設定が2つあるのは前述の回線が冗長化されているためです)
接続記録等の詳細なログなどはなさそう。amazonに問い合わせたらもらえるのかな??
VPC側にサーバとかは準備していなかったので、オンプレ側からpingを打ってみましたが、問題なくつながるようです。欠けたりすることもなさそうです。
(しまった、pingの応答速度記録するの忘れた!!!!もともとオンプレ側の回線ADSLだったから参考にならないからいいか・・・)
本当は、回線冗長化がちゃんとされているか確認したいのですが、AWS側のメイン回線を切る術がないので確認でできてません。。。。
そもそも故障率ってどんなもんなんでしょう?切替わり時間とか?
一応↓みたいな監視てきなこともできるようですが、今回は確認できてないです・・
https://docs.aws.amazon.com/ja_jp/AmazonVPC/latest/UserGuide/monitoring-overview-vpn.html
とりあえず、センチュリーシステムズのルータでもとりあえずは繋がることは確認取れましたが
今回は1:1のVPN接続でしたが、1:nの確認はしていないですし、
上でも書いた、AWS側の冗長化の確認だったり、障害発生時、Amazonに何がどう確認とれるかであったり。。。。未確認なことも多いです。
根本的にAWSのことがあんまりよくわかってないので、ちゃんとサービス化しようとすると、もうちょっと時間がかかりそう。