色々なクライアントOSからAWS Client VPNに接続してみる(AWS製クライアント版)

気づいたら手元に複数のデバイスなど環境があったのでAWS Client VPNへの接続方法をまとめてみようと思いました。AWS製クライアント版です。

こんにちは、AWS事業本部のニシヤマです。

気づいたら手元に複数のデバイスなど環境がいくつかあったので各デバイスのAWS Client VPNへの接続方法をまとめてみようと思いました。

こちらのブログではAWS Client VPNに接続する際のクライアントアプリケーションにAWS製のクライアントアプリケーションを使って試したいと思います。OpenVPNクライアント版の手順はこちらのブログを参照してください。

ではやっていきます。

前提

  • AWS Client VPNの環境構築が済んでいること

AWS Client VPNの環境構築ができていない場合は以下ブログを参考にして構築してください。

AWS Client VPNを使ってプライベートなEC2インスタンス(Windows Server)にRDPしてみた

Client VPNで相互認証とAD認証(AD Connector経由)を使ってアクセスしてみた

AWS製のクライアントアプリケーション

AWS製のクライアントアプリケーションの接続方法に関しては以下のURLを参考にします。 https://docs.aws.amazon.com/ja_jp/vpn/latest/clientvpn-user/connect-aws-client-vpn-connect.html

また、AWS製のクライアントアプリケーションは以下からダウンロードできます。

https://aws.amazon.com/jp/vpn/client-vpn-download/

Windows

最初にWindowsでやってみます。

要件

動作要件は以下になります。

https://docs.aws.amazon.com/ja_jp/vpn/latest/clientvpn-user/client-vpn-connect-windows.html

  • Windows 10 64 ビットオペレーティングシステム、x64 プロセッサ
  • .NET Framework 4.7.2 以降

今回実行した環境は以下になります。

Windows 10 Pro 21H2

上のダウンロードURLからクライアントアプリケーションをダウンロードします。

ダウンロードされたAWS_VPN_Client.msiを実行します。

セットアップウィザードが起動したらライセンスを確認し、同意にチェックを入れてInstallをクリックします。

インストールが完了しました。

クライアントアプリケーションを起動するとまだプロファイルが登録されてないため空欄で起動します。

ではクライアントマシンでクライアント設定ファイル(ovpn)をダウンロードします。今回はマネジメントコンソールから直接ダウンロードしました。

接続対象のClientVPNエンドポイントを選択してクライアント設定をダウンロードをクリックします。

クライアント設定ファイル(ovpn)をダウンロードしたら適当なエディタで開いて以下、クライアント証明書、クライアント証明書キーのパスを追記します。

cert C:\\Users\\<user>\\Downloads\\client1.domain.tld.crt
key C:\\Users\\<user>\\Downloads\\client1.domain.tld.key

この際にパスの区切り文字を「\」で二重にする必要があるので注意してください。

また、上記はクライアント証明書、クライアント証明書キーのファイルパスを記載していますがクライアント設定ファイル(ovpn)に以下の様に直接クライアント証明書、クライアント証明書キーの情報を埋め込むことも可能です。

<cert>
-----BEGIN CERTIFICATE-----
〜〜〜省略〜〜〜
-----END CERTIFICATE-----
</cert>

<key>
-----BEGIN PRIVATE KEY-----
〜〜〜省略〜〜〜
-----END PRIVATE KEY-----
</key>

ファイル>プロファイルを管理をクリックします。

プロファイルを追加クリックします。

任意の表示名を入力し、右下のフォルダーアイコンからクライアント設定ファイル(ovpn)のパスを指定してプロファイルを追加クリックします。

接続準備完了の表示がされたら接続をクリックします。

その後は認証方式により挙動が異なりますが、接続完了の表示と共にAD認証の場合は以下の様にユーザ名とパスワードを求められますので入力します。

ユーザ名とパスワードに問題がなければ以下の様に接続完了になります。

macOS

ではお次はMacでやってみます。環境は以下です。

要件

動作要件は以下になります。

https://docs.aws.amazon.com/ja_jp/vpn/latest/clientvpn-user/client-vpn-connect-macos.html

  • 64 ビットの macOS Mojave (10.14)、Catalina (10.15)、Big Sur (11.0)
  • またクライアントはTCP8096番ポートを予約します。
    • SAML ベースのフェデレーション認証 (シングルサインオン) を使用する場合は、TCP35001番ポートを予約します。

今回実行した環境は以下になります。上記要件には含まれてませんが自己責任で利用してください。

macOS Monterey 12.3.1

まず、上のダウンロードURLからクライアントアプリケーションをダウンロードします。

ダウンロードしたpkgを展開します。

続けるをクリック。

続けるをクリック。

使用許諾契約を確認し同意するをクリック。

ディスクの使用量を確認し問題なければインストールをクリック。

インストールの確認が表示されたらパスワードかTouch IDでパスします。

少しするとインストールが完了しました。

クライアントアプリケーションを起動するとまだプロファイルが登録されてないため空欄で起動します。

接続対象のClientVPNエンドポイントを選択してクライアント設定をダウンロードをクリックします。

クライアント設定ファイル(ovpn)をダウンロードしたら適当なエディタで開いて以下、クライアント証明書、クライアント証明書キーのパスを追記します。

cert /Users/<user>/Downloads/client1.domain.tld.crt
key /Users/<user>/Downloads/client1.domain.tld.key

また、Windowsの時と同様に上記はクライアント証明書、クライアント証明書キーのファイルパスを記載していますがクライアント設定ファイル(ovpn)に以下の様に直接クライアント証明書、クライアント証明書キーの情報を埋め込むことも可能です。

<cert>
-----BEGIN CERTIFICATE-----
〜〜〜省略〜〜〜
-----END CERTIFICATE-----
</cert>

<key>
-----BEGIN PRIVATE KEY-----
〜〜〜省略〜〜〜
-----END PRIVATE KEY-----
</key>

このクライアント設定ファイル(ovpn)をAWS VPN Clientに追加します。Macのメニューバーからファイル>プロファイルを管理をクリックします。

プロファイルを追加クリックします。

任意の表示名を入力し、右下のフォルダーアイコンからクライアント設定ファイル(ovpn)のパスを指定してプロファイルを追加クリックします。

プロファイル一覧に登録されたら、接続をクリックします。

その後は認証方式により挙動が異なりますが、接続完了の表示と共にAD認証の場合は以下の様にユーザ名とパスワードを求められますので入力します。

ユーザ名とパスワードに問題がなければ以下の様に接続完了になります。

Linux

最後にLinux(Ubuntu)でやってみます。

要件

動作要件は以下になります。

https://docs.aws.amazon.com/ja_jp/vpn/latest/clientvpn-user/client-vpn-connect-linux.html

  • Ubuntu 18.04 LTS または Ubuntu 20.04 LTS (AMD64 のみ)

今回実行した環境は以下になります。

Ubuntu 20.04.4 LTS

Linuxに関してはクライアントアプリケーションのダウンロードではなくInstructionsのリンクからAWSドキュメントのインストールページへ飛びます。

Linux(Ubuntu)の場合、3種類のインストール方法があります。

オプション 1 — パッケージリポジトリ経由でインストールする オプション 2 — .deb パッケージファイルを使用してインストールする オプション 3 — Ubuntu ソフトウェアセンターを使用して .deb パッケージをインストールする

今回はオプション 1 — パッケージリポジトリ経由でインストールするを利用しました。

まず、AWS VPN クライアントのパブリックキーを追加します

wget -q -O - https://d20adtppz83p9s.cloudfront.net/GTK/latest/debian-repo/awsvpnclient_public_key.asc | sudo apt-key add -

Ubuntu 20.04用のリポジトリを追加します。

echo "deb [arch=amd64] https://d20adtppz83p9s.cloudfront.net/GTK/latest/debian-repo ubuntu-20.04 main" | sudo tee /etc/apt/sources.list.d/aws-vpn-client.list

リポジトリを更新します。

sudo apt-get update

クライアントアプリケーションをインストールします。

sudo apt-get install awsvpnclient

ではアプリケーションの一覧にVPNクライアントアプリケーションが表示されているのでクリックします。

ライセンスの確認が表示されるので確認してAgreeをクリックします。

アプリケーションが起動すると他のOS同様にプロファイルがない状態です。

ではクライアントマシンでクライアント設定ファイル(ovpn)をダウンロードします。今回もマネジメントコンソールから直接ダウンロードしました。

接続対象のClientVPNエンドポイントを選択してクライアント設定をダウンロードをクリックします。

クライアント設定ファイル(ovpn)をダウンロードしたら適当なエディタで開いて以下の様に直接クライアント証明書、クライアント証明書キーの情報を埋め込みます。

<cert>
-----BEGIN CERTIFICATE-----
〜〜〜省略〜〜〜
-----END CERTIFICATE-----
</cert>

<key>
-----BEGIN PRIVATE KEY-----
〜〜〜省略〜〜〜
-----END PRIVATE KEY-----
</key>

また、Linux(Ubuntu)の場合、クライアント設定ファイル(ovpn)で他のOSの様にクライアント証明書、クライアント証明書キーのパスを指定したクライアント設定ファイル(ovpn)ではエラーが出て接続ができませんでした。

File>Manage Plofilesをクリックします。

Add Profileクリックします。

任意の表示名を入力し、右下のフォルダーアイコンからクライアント設定ファイル(ovpn)のパスを指定してプロファイルを追加クリックします。

接続準備完了の表示がされたらConnectをクリックします。

その後は認証方式により挙動が異なりますが、接続完了の表示と共にAD認証の場合は以下の様にユーザ名とパスワードを求められますので入力します。

ユーザ名とパスワードに問題がなければ以下の様に接続完了になります。

3環境合わせて以上です!

まとめ

いかがでしたでしょうか。リモートワークが普及したタイミングでAWS Client VPNの利用が増えたと思いますが、参考にした記事と現在利用しているマシンのOSが異なる場合などもあるかと思ったのでAWS製のクライアントアプリケーションでの接続方法をまとめました!

以上、この記事がどなたかの参考になれば幸いです。

参考URL