これまであまり物理的なネットワークに触れてこなかったエンジニアを対象に、AWSを用いてネットワークの基礎知識を解説する連載。今回は、オンプレミス環境とのプライベート接続について解説し、AWSにおけるVPNの設定手順を示す。
この記事は会員限定です。会員登録(無料)すると全てご覧いただけます。
これまであまり物理的なネットワークに触れられてこなかったSEやサーバ管理者、情シスなどの方を対象にネットワークの基本を「Amazon Web Services」(AWS)を用いて解説する本連載「AWSで学ぶクラウド時代のネットワーク基礎知識」。連載初回は、基本的なIPネットワークの概念を解説し、「Amazon Virtual Private Cloud」(VPC)の操作手順を示しました。前回の第2回では、インターネットへの接続について解説し、AWSにおける「Network Address Translation」(NAT)の設定手順を示しました。
第3回の本稿では、オンプレミス環境とAWS間でのプライベートな接続について解説します。離れたネットワーク間をつなげるに当たり「セキュアにつなげられること」「あたかも直接つながっているように接続できること」が望ましいので、その実現方法、機能も説明します。またオンプレミス環境とVPC間のプライベートな接続方法についても、環境を構築して説明します。
なお、本稿に記載しているAWSの操作画面は2022年2月時点のものです。
皆さんは日々インターネットによってWebや動画サービスの閲覧、SNSや通販などさまざまなITサービスを利用されていると思います。最近ではコロナ禍でテレワークの利用が加速しており、会社や取引先のネットワークへのアクセスにインターネットを利用している方が増えていると思います。
ただしインターネットはオープンなネットワークであり、盗聴や情報流出、データ改ざんなどの危険性があるので、通信内容に個人情報や秘匿すべき情報が含まれる場合、そのまま利用するのは望ましくありません。また特にIPv4ではインターネット通信でNATを利用するので、2つのネットワーク間をつなげるためにいろいろと考慮する必要があります。
そこで離れたネットワーク間をセキュアかつ容易につなげられるように仮想的な接続を作成する接続技術「Virtual Private Network」(VPN)が開発されており、企業の拠点間の接続や、オンプレミスとAWSをはじめとするクラウド間の接続といった用途に利用されています。セキュリティリスクの観点からクラウドへの接続はVPNの利用が推奨されます。
VPNの主な目的は、前述の通り離れたネットワーク間をセキュアかつ容易につなげることです。VPNは通信経路によって大きく次の2つに分けられます。
インターネットVPNは、インターネットを経由して2つの拠点間をセキュアかつ容易につなぐことを目的としており、「暗号化」と「トンネリング」の2つの機能で構成されます。
暗号化とは、パケットを盗み見られたとしても「どのようなデータか」を読み取れないようにパケットを変換して、「セキュアな通信」を実現する処理です。送信元と宛先の端末間だけで利用できる鍵を生成、交換しておき、送付するパケットを送信元端末で暗号化、宛先端末で復号することで、2端末間でのみ解読可能な通信を可能にします。
トンネリングとは2ネットワーク間に仮想的なトンネルを作成して、「容易な接続」を実現します。具体的には、あるネットワークからもう一方のネットワークに送りたいパケットを、ネットワーク間の通信パケットでカプセル化し、もう一方のネットワークに送付し、カプセル化を解除してネットワーク内に転送します。これにより、まるで直結されているような通信が可能です。経路の途中でNATが行われていてもうまく通せる仕組みを持っており、NAT環境でも容易に接続できます。
このような技術で構成されるインターネットVPNはさらに、拠点=サイトのネットワーク間を仮想的に直結する「サイト間VPN」とネットワークではなく個人PCなどの端末が企業ネットワークなどに直接接続する場合などに利用される「リモートアクセスVPN」に分類されます。
これらで利用される主な技術として、L3(IP)レベルで対応するIPsec(Security Architecture for Internet Protocol) VPNとL4(TCP/UDP)レベル以上で対応するSSL(Secure Socket Layer) VPNが存在します。サイト間VPNはIPsecで利用することができ、これにより自宅や会社のネットワークとAWSなどのクラウド(IaaS)のネットワーク間をまるで同一LAN内にあるかのようにプライベートに通信させることが可能となります。
ただし、インターネットVPNのデメリットとして、インターネットを利用することから通信が不確実、不安定(SLAが保証されない)であること、さらに暗号化処理によるオーバーヘッドで通信帯域を出しにくいこと、暗号化機器が必要となることが挙げられます。また通常2拠点間での接続となるので、3拠点以上の接続は設計、構築が難しくなります。
このデメリットの解決策として、インターネットではなくキャリアによる閉域網を利用して接続するVPNが存在します。それが2つ目の閉域網型VPNです。こちらにすると、セキュリティ保証のために暗号化する必要がなく、契約帯域まで安定した通信が可能です。
拠点間の通信設計は基本的にキャリアの回線サービスで実現され、利用者はこの回線サービスに接続することで容易に複数拠点を接続できます。
インターネットと異なり、グローバルIPを利用する必要がないので、そもそもNATは不要で、考慮する必要がありません。この方式の具体的なサービス名称として、L3レベルで接続する「IP-VPN」やL2レベルで接続する「レイヤー2 VPN」が存在しています。これらは主に「MPLS(Multi-Protocol Label Switching)-VPN」という技術で実現されます。
この方式のデメリットとしては、閉域網を利用する必要があるのでインターネットVPNと比較して高額になること、また回線の敷設、撤去には1カ月〜数カ月単位の時間がかかり、迅速、容易に利用できないことが挙げられます。このため、基本的に個人で利用するものではなく、主に企業のネットワーク間の接続に利用されます。
上記の内容を基に2つのVPN方式を比較した結果が下表です。
項目 | インターネットVPN | 閉域網型VPN |
---|---|---|
セキュリティ | ○ | ◎ |
費用 | ○ | △ |
帯域 | △〜× | ○ |
安定性 | × | ○ |
利用までの時間 | ○ | × |
接続変更の自由度 | ○ | × |
多拠点接続 | △〜× | ○ |
ここからはAWS環境でのVPN接続について解説します。
VPNにはインターネットVPNと閉域網を利用するVPNが存在することを説明しましたが、「AWS VPN」はプライベートなネットワーク環境であるVPCに対して両VPNでの接続に対応しています(AWSが公開しているマネージドサービスとして対応しています。「Amazon EC2」のインスタンスとしてIPsecなどを利用できるノードをデプロイしてVPNで接続することも可能です)。
VPNの方式とAWSのサービスの対応は下表の通りです。
VPN方式 | AWSサービス名称 | 接続技術 | |
---|---|---|---|
インターネットVPN | サイト間VPN | サイト間VPN(Site-to-Site VPN) | IPsec VPN |
リモートアクセスVPN | Client VPN | SSL VPN | |
閉域網型VPN | - | Direct Connect※ | 経路交換にBGP(Border Gateway Protocol:ルーティングプロトコルの一つ)が必須 |
※厳密には、IP-VPNなどの閉域網によってオンプレミス環境とAWS環境を直接接続することが可能。AWS側でその接続を受け付けるサービスのことを「Direct Connect」という |
なお、閉域網でAWSと接続できるDirect ConnectはVPC(IaaS)に加えて、「Amazon S3」「Amazon DynamoDB」といったAWSのPaaSやSaaSとも直接接続できます。
以降、本稿ではIPsecによるサイト型VPNでのVPCとの接続について説明します。説明に利用する構成は下図のようになります。
連載第1回で作成したVPC環境に対してオンプレミスからインターネットVPNで接続するようにしています。環境の作成方法については「Appendix」で後述しているので、ご興味がある方はご参照ください。
サイト間VPNを構成するに当たり、AWSの機能として新たに次の3つのサービス、設定を利用します。
1の「仮想プライベートゲートウェイ」はサイト間VPNを接続するAWS側のVPN接続ノードです。これに対して、2の「カスタマープライベートゲートウェイ」はオンプレミス側のVPN接続ノードです。ただしカスタマーゲートウェイの実体はオンプレミス側の機器であり、カスタマーゲートウェイ本体のグローバルIPアドレスなどの情報を指定するために作成するリソースです。これらを3の「サイト間のVPN接続」でIPsec VPNに必要なパラメーターを指定しつなげる形です。
これに加えて、インスタンスがオンプレミス端末と通信できるようにルートテーブルの設定と必要に応じて通信許可のためにセキュリティグループの設定が必要です。
AWS上でのサイト間VPNは下図のVPCのページで設定します(リモートアクセスVPNを設定する場合は「クライアントVPNエンドポイント」を利用します)。
Copyright © ITmedia, Inc. All Rights Reserved.