リモートワークやテレワークの普及により、オフィスや企業の施設外からインターネットを通じてネットワークやコンピュータにアクセスする「リモートアクセス」の機会が増えました。
社内からメンテナンス用のアクセスをする場合は、多くの場合「IPアドレス制限」や「拠点間のVPN」接続によってセキュリティが確保されています。しかし、リモートアクセスの場合は、「IPアドレスの絞り込みができない」、「通信経路が暗号化されていない」などのセキュリティ上のリスクが発生する場合があります。
そんなときに役に立つのがクライアントVPNです。この記事では、端末とAWS間をセキュアに通信するための、クライアント VPNについて説明します。
AWS クライアント VPNとは
AWS Client VPN(以下、クライアント VPN)を使用することで、手軽にユーザーの利用PC端末(クライアント)とAWS間のVPN接続を設定できます。このサービスを使用することで、リモートアクセスのためのVPN接続を簡単かつ安全に構成できます。また、パブリックサブネット上のAmazon EC2などのリソースだけでなく、プライベートサブネット上のリソースへのアクセスも可能です。
クライアント VPNでは、OpenVPNを利用
クライアント VPNサービスでは、OpenVPNを利用しています。OpenVPNはオープンソースのVPNソフトウェアで、2002年4月にリリースされたバージョン1.1.0以降、重大な脆弱性の指摘を受けたことはなく、安全なリモートアクセスの提供が可能です。また、WindowsやMac、Linuxなど様々なOS環境で動作が可能で、スマートフォンやタブレットなどからも利用可能です。世界中の様々な環境で連続稼働しており、アプリケーションとしても非常に安定しています。
AWSとのセキュアなVPN接続を実現するために必要な、端末側の作業手順は次の通りです。
- 利用端末にアプリケーション(OpenVPN)のダウンロードを行う
- OpenVPNのインストールを行う
- 接続用のクライアントファイルをインポートする
- VPN接続を行う
- 接続したいEC2などのリソースへ、ローカルIPアドレスを使って接続する
認証方法
クライアント VPNの認証には、
- 証明書ベースの相互認証
- Active Directoryを使った認証
の2パターンから選択が可能です。
証明書ベースの相互認証では、事前に作成したサーバー証明書とクライアント証明書およびキーをACMへアップロードしておきます。その後VPNエンドポイントを作成し、利用するACMのARNや接続するVPCおよびサブネットを指定することで設定が可能です。設定が完了すると、クライアントに設定するファイルのダウンロードができるようになります。
利用料金
AWSのクライアント VPNには、利用料金が発生します。料金は以下のように計算されます。
- AWS クライアント VPN エンドポイントの時間料金
- AWS クライアント VPN 接続の時間料金
「AWS クライアント VPN エンドポイントの時間料金」では、エンドポイントが接続するサブネットごとに時間あたり0.15USDの料金が発生します。実際のVPN接続の利用有無にかかわらず発生する費用になるため、月間1万円前後の費用が必要になります。接続するサブネット単位で費用が発生するため、複数のサブネットで構成している場合は、踏み台サーバー等の検討をするとよいでしょう。
「AWS クライアント VPN 接続の時間料金」は、実際にユーザーが接続している時間で料金が発生します。
料金詳細は下記ページの「AWS クライアント VPN の料金」を参照ください。
https://aws.amazon.com/jp/vpn/pricing/
まとめ
AWSのクライアント VPNは、手軽かつ安全にVPN接続を設定することができるサービスです。リモートアクセスを行う場合には、セキュリティ上のリスクがありますが、クライアント VPNを使用することで、暗号化された通信経路を確保し、セキュリティを強化することができます。また、プライベートサブネット上のリソースにアクセスすることも可能です。
リモートワークを中心にAWSを利用している場合は、検討してみてはいかがでしょうか?