2022年7月6日

AWS ClientVPNを使用してリモート接続する方法

目次

Contents

新型コロナウイルスの蔓延によりシステム開発においてもエンジニアが自宅や他拠点からリモートワークを行うことが増えているかと思います。
リモートワークで社内のネットワーク環境に接続する方法としてVPNを利用することが多いのではないでしょうか。そこで今回はメンバー各自のPCからSSL-VPN接続するためのAWSサービスをご紹介します。

AWS ClientVPNを検討することになった背景

ある企業のシステム開発のプロジェクトにおいて、遠方の開発ベンダーが社内環境にVPN接続する必要が出てきました。
VPN接続はその企業内ですでに利用していましたが、システム管理者を前提としたアクセス制限となっており、同じ環境をベンダーの開発者に開放することができないので別途リモート接続する仕組みが必要でした。
ただし、今回はプロジェクトの進捗に影響するため、VPNに接続できる環境を短期間で準備することが必須条件でした。通常、新たに機器購入し、発注から納入、導入と利用開始までは2か月程度の期間が必要であるため、今回の要件ではクラウドで利用できるVPNサービスを検討しました。
今回のプロジェクトのシステムの基盤はAmazon Web Service(AWS)の環境に構築しており、社内ネットワークと専用線で接続している構成のため、同様にAWSのVPN接続サービスであるAWS ClientVPNを利用することとしました。

AWS ClientVPNとはAWSに安全に接続するためにAWSから提供されるマネージドVPNサービスです。

AWS ClientVPNのメリット

1.クラウドを利用するため機器の新規購入やセットアップが不要となり、リードタイムの短縮が可能になります。
2.従量課金なので短期間のプロジェクトなどでの利用に向いています。
3.VPN接続用ネットワーク機器の保守・運用が不要(セキュリティパッチ適応など)です。
4.セキュリティグループで容易にアクセス制限を管理することができます。

AWS ClientVPNを使用したリモート接続

今回の要件ではVPN接続経由で社内ネットワーク内のファイルサーバとAWS EC2やRDS、FSxなどのAWSリソースに接続するという要件もありました。
前提として、当環境は社内ネットワークとAWS VPC間は専用線接続サービスであるAWS DirectConnectを用いて通信する構成となっています。

環境構成の概要は以下となります。
・AWS及び社内NWへのリモート接続のためにAWS ClientVPNを利用
・VPN接続するクライアント端末はオープンソースのOpenVPNを利用
・認証方式は証明書での相互認証を利用
・相互認証で利用する証明書はACMのプライベートCAで発行・管理
・メンバーが離任する場合は証明書を失効することでVPN接続を不許可にする
・アクセス制限はセキュリティグループおよびルートテーブル、ClientVPNendpointの設定で対応

今回の構成は上記の図1になります。AWS ClinetVPNサービスを利用してインターネット経由でAWSにSSL-VPNで接続します。VPCからDirectConnectを経由して社内ネットワークに接続できる環境を構築しました。

大きなメリットの一つとして、従来のオンプレミス環境にVPN接続用のネットワーク機器を配置する構成と比較してVPN接続用のネットワーク機器の保守運用が不要であることが挙げられます。
VPN装置の脆弱性を悪用したサーバ攻撃の事例が多数報告されており、脆弱性が発表されるたびにファームウェアのアップデート作業を実施することはシステム管理者にとって大きな負担となります。
AWS ClientVPNはマネージドのサービスであるため、機器はAWSの責任で管理・運用されシステム管理者の負荷を低減することができます。

AWS ClientVPNを利用する際の注意点

AWS ClinetVPNを利用するうえで、感じた注意点を以下に記載いたしますので、参考になれば幸いです。

・従量課金制であるため接続メンバーが増えるとコストが増加していきます。
 AWS Client VPN エンドポイントアソシエーション 0.15USD/時間
 AWS Client VPN 接続 0.05USD/時間
 ※リージョン:アジアパシフィック(東京)での料金

・プライベートCA※1が必要であり、AWSのACM※2を利用した場合は月額$400程度の費用が掛かります。

・メンバーが離任する場合は証明書を失効させる必要がありますが現状はコマンドライン (AWS CLI※3)を用いて作業する必要があります。

※1:プライベートCA(認証局)
サーバ証明書やクライアント証明書などの「電子証明書」を発行する機関で、個人や法人が開設する認証局を「プライベート認証局」と呼ぶ。

※2:ACM(AWS Certificate Manager)
AWS Certificate Managerの略で、AWSのサービスの1つ。SSL証明書発行サービスを指し、ACMを使うことで、簡単かつ安価にSSLの対応、そしてSSL証明書の更新が可能。

※3:AWS CLI(コマンドラインインターフェイス)
AWS CLIは、AWS をコマンドラインから利用するために、公式に提供されているツール。

AWS ClientVPNを使用してリモート接続する方法について、事例を交えてご紹介いたしましたが、いかがでしたでしょうか?
今後もAWSに関する情報を定期的に発信していきますので、ぜひご覧いただけますと幸いです。

再春館システムでは、業務システムの請負開発や、ECサイト、CRMシステムの構築などのオンプレミスでのシステムインテグレーションを行っており、同時にインフラ構築のご依頼も請けております。さらに最近では、AWSの構築・運用サービス単体でのご依頼と実績も増えてきております。ITインフラ・AWSの構築運用をご検討されておられましたら、お気軽に弊社までご相談ください。

<参考リンク>
AWS公式:
https://aws.amazon.com/jp/vpn/

AWS クライアント VPN管理者ガイド:
https://docs.aws.amazon.com/ja_jp/vpn/latest/clientvpn-admin/what-is.html

AWS Certificate Manager: ※プライベート認証局で使用
https://aws.amazon.com/jp/certificate-manager/

記事 : S.H

「再春館システム システムインテグレーション」はこちら