ちょっと話題の記事

[Amazon VPC] ハードウェアVPN接続についてまとめてみた

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

はじめに

Amazon VPCはAWS上に論理的に独立した仮想クラウドを作成する機能ですが、このVPCと既存データセンターやホームネットワークなどをIPSec VPNにて接続する、ハードウェアVPN接続が可能です。

このハードウェアVPN接続についてまとめました!

 用語

ハードウェアVPN接続を構成するのは以下の2つのコンポーネントです。

  • 仮想プライベートゲートウェイ(Virtual Private Gateway) ... VPN接続においてのAmazon VPC側に配置するVPNコンセントレータ。複数のカスタマーゲートウェイからのVPN接続を受け付けることが可能。
  • カスタマーゲートウェイ(Customer Gateway) ... VPN 接続においてのユーザ側に配置されるVPN装置。

vpn-net1 なお、通常のVPN接続と同様に、カスタマーゲートウェイには静的なグローバルIPアドレスと、仮想プライベートゲートウェイが持つグローバルIPアドレスへ到達可能な経路を有している必要があります。

 制限

1つのAmazon VPCに作成出来る仮想プライベートゲートウェイは1つのみです。

また仮想プライベートゲートウェイは最大10のハードウェアVPN接続を受け付けることが出来ます。

詳細はAmazon VPC制限に記載されています。

 料金

ハードウェアVPN接続は、接続時間単位に料金が発生します。接続時間が1時間に満たない場合は1時間として課金されます。

接続料金は「1時間当たり$0.05」です。またVPN 接続経由で転送されたデータは、標準のAWS データ転送料金として課金されます。

構成

VPNトンネル

ハードウェアVPN接続では2つのVPNトンネルを使用します。これはAWSの冗長性確保の思想によるものです。そのため仮想プライベートゲートウェイは2つのVPNトンネル用のグローバルIPアドレスを持ちます。1つのトンネルに障害が発生し使用出来なくなった場合、仮想プライベートゲートウェイは自動的にもう1つのトンネルにルーティングします。

vpn-net2 ルーティング

ハードウェアVPNでのルーティングは、明示的に指定するスタティックルーティグか、BGPによるダイナミックルーティングから選択します。

カスタマーゲートウェイ機器がBGPに対応している場合は、ユーザ側ネットワークのIPサブネットの柔軟な変更にも対応可能なようにダイナミックルーティングを選択します。

カスタマーゲートウェイ機器がBGPに対応していない場合はもちろんですが、ユーザ側ネットワークのIPサブネットが固定的な場合は、トラフィック量を抑制する上でもスタティックルーティングを選択します。

検証済みの機器

AWSにて検証されている機器についてはAmazon VPCのよくある質問の「Q:Amazon VPC で機能することが知られているカスタマーゲートウェイ装置にはどのようなものがありますか?」という項目に記載されています。

以下、2014年1月時点での検証済み機器を引用します。

【静的ルーティングを使用する VPN 接続】

  • Cisco ASA 5500 シリーズバージョン 8.2 以降のソフトウェア
  • Cisco ISR(IOS 12.4 以降のソフトウェアを実行)
  • Juniper J シリーズサービスルーター(JunOS 9.5 以降のソフトウェアを実行)
  • Juniper SRX シリーズサービスゲートウェイ(JunOS 9.5 以降のソフトウェアを実行)
  • ScreenOS 6.1 もしくは 6.2(またはそれ以降)を実行する Juniper SSG
  • ScreenOS 6.1 もしくは 6.2(またはそれ以降)を実行する Juniper ISG
  • Microsoft Windows Server 2008 R2 以降のソフトウェア
  • ヤマハ RTX1200 ルーター

【動的ルーティングを使用する VPN 接続(BGP が必要)】

  • Astaro Security Gateway バージョン8.3以降
  • Astaro Security Gateway Essential Firewall Edition バージョン8.3以降
  • Cisco ISR(IOS 12.4 以降のソフトウェアを実行)
  • Fortinet Fortigate 40+ シリーズ(FortiOS 4.0 以降のソフトウェアを実行)
  • Juniper J シリーズサービスルーター(JunOS 9.5 以降のソフトウェアを実行)
  • Juniper SRX シリーズサービスゲートウェイ(JunOS 9.5 以降のソフトウェアを実行)
  • ScreenOS 6.1 もしくは 6.2(またはそれ以降)を実行する Juniper SSG
  • ScreenOS 6.1 もしくは 6.2(またはそれ以降)を実行する Juniper ISG
  • Palo Alto Networks PA シリーズ(PANOS 4.1.2 以降のソフトウェアを実行)
  • Vyatta Network OS 6.5 以降のソフトウェア
  • ヤマハ RTX1200 ルーター

またManagement Consoleの[VPN Connections]画面から、各機器に合わせた設定ファイルをダウンロードすることが可能です。

aws-vpn-conf1

ハードウェアVPN接続の仕組み

上記のDownload Configurationで[Vendor]欄を[Generic]に設定すると、ネットワーク機器に関わらず共通的な設定値が記載されたファイルがダウンロード出来ます。

aws-vpn-conf2

このファイルを見るとハードウェアVPN接続の通信設定がざっくり分かります。

IKE Phase1 (IKE SA)
認証方式 Pre-Shared Key
ハッシュアルゴリズム SHA-1
暗号化アルゴリズム AES-128
Phase1ネゴシエーションモード Mainモード
DHグループ 2
IKE Phase2 (IPSec SA)
セキュリティプロトコル ESP
ハッシュアルゴリズム HMAC-SHA-1
暗号化アルゴリズム AES-128
カプセル化モード Tunnelモード
DHグループ 2
暗号化前フラグメンテーション 有効化

まとめ

ハードウェアVPN接続はAWSだけで無くネットワークインフラに関する知識やノウハウが深く関係してくる部分です。複数ベンダのネットワーク機器でハードウェアVPN接続の設定を行いましたが、機器によって用語が違ったり推奨されている値を設定する機能が無かったりと手間取ることもありました。今後も色々なベンダや機種で試してみようと思います!