ちょっと話題の記事

テレワークの準備 AWS Client VPNを使って社内システム利用環境を整える

AWS Client VPN を使って自宅PCからオンプレミス社内システムへ接続する方法を紹介します。 いますぐできる VPN 環境です。
2020.04.09

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

こんにちは。
ご機嫌いかがでしょうか。
"No human labor is no human error" が大好きな吉井 亮です。

急な全社的なテレワークが決まり慌ただしくなっている情報システム部門の方々へ向けて
前回は WorkSpaces を経由してオンプレミスのシステムへ接続する方法を紹介しました。

今回は同じ考え方で Client VPN を使った方法を紹介します。
社内に VPN 設備がない、または、設備はあるが全社員のアクセス数に耐えられるか不安といった悩みを解決します。
既存のオンプレミス VPN を使う社員、Client VPN を使う社員を振り分けるためのアイデアになれば幸いです。

何をするのか

Client VPN 接続後のインターネットアクセスを NAT GW 経由にします。
このようにすることで Clinet VPN へ接続した PC からのアウトバウンド IP アドレス は固定になります。

自社オンプレミスのファイアウォールで NAT Gateway の IP アドレスからの通信を許可します。

何が良いか

すぐにできる

Client VPN の設定とオンプレミスのファイアウォールの設定だけで実現できます。
AWS ~ オンプレミス間を Direct Connect または VPN で接続する場合はそれなりにリードタイムが発生します。

※ 本エントリの構成は急場を凌ぐための策として考え
※ 将来的には Direct Connect や VPN の導入を検討ください。

マネージド

VPN サーバーの管理が不要です。
ここは AWS がしっかりメンテナンスしてくれます。

留意点

AWS ~ オンプレミス間は暗号化されない通信となります。
社員 PC から接続させる社内システムは HTTPS などの暗号化されたプロトコルを使用するものに限定したほうが安全です。

接続数

クライアント VPN エンドポイントあたりの同時クライアント接続数はデフォルト 2000 です。
必要に応じて上限緩和を行なってください。

利用料金

作成したエンドポイントあたりと接続数で利用料金が発生します。

  • AWS Client VPN エンドポイントあたり: 0.15USD per hour
  • AWS Client VPN 接続あたり: 0.05USD per hour

認証

相互認証 (証明書) とディレクトリ認証を選択可能です。
本エントリでは急に VPN 環境を整備する前提なので相互認証を想定します。
クライアント証明書を各 PC に配布・管理する手間がかかりますのでご注意ください。

やってみた

クライアント証明書作成とACMへインポート

本エントリでは、Client VPN の相互認証を使います。
クライアント証明書をローカルで作成し ACM へインポートします。

詳しい手順は割愛します。
公式ドキュメント参照ください。
クライアント認証と認可

VPC/サブネット作成

すでに AWS をご利用の方でも Client VPN 用の VPC を別途作成したほうが良いと考えます。
ネットワーク境界を明確にする目的と Client VPN が不要になった際の環境の捨てやすさを考慮してです。

図にある通りプライベートとパブリックのサブネットを作成します。

NAT Gateway

パブリックサブネットのルートテーブルに Internet Gateway を指定します。

NAT Gateway をパブリックサブネットに作成します。
このグローバル IP アドレスをオンプレミスのファイアウォールで許可します。

プライベートサブネットのルートテーブル

プライベートサブネットのルートテーブルに NAT Gateway を指定します。

Client VPN作成

Client VPN を作成します。
本エントリでは作成手順を割愛します。
公式ドキュメントを参照ください。
クライアント VPN の使用開始

Client VPNの設定

Client VPN の設定は以下のようにします。

関連付け

プライベートサブネットを関連付けます。

セキュリティグループ

セキュリティグループは Client VPN 用のものを作成します。
一旦ルールは考えなくて大丈夫です。
インバウンドルール → 無し、アウトバウンドルール → 全て許可 でよいです。

認証

VPC の CIDR と 0.0.0.0/0 を追加しておきます。

ルートテーブル

VPC の CIDR が追加されていると思います。
0.0.0.0/0 をご自身で追加します。

AWS 側の設定はここで完了です。

クライアント設定ファイルとクライアント証明書の配布

クライアント設定ファイルとクライアント証明書を社員へ配布します。

クライアントソフトウェアの設定

社員の PC にはクライアントソフトウェアを設定します。
設定方法は こちら です。

まとめ

全社員がアクセスしても耐えられる VPN 装置を保持している企業は少ないと思います。
社内ファイルサーバーや基幹システムの利用が必要な社員にはオンプレミスの VPN を、
それ以外の Web システム利用が中心の社員には AWS Client VPN を、
といった使い分けができるのではないでしょうか。

参考

クライアント VPN の使用開始
リモートワーク 在宅勤務 テレワークにAWSを活用するパターン集
[AWS Client VPN] VPC を経由して固定のIPでインターネットへアクセスする
AWS Client VPN の料金

以上、吉井 亮 がお届けしました。