ヤマムギ

growing hard days.

*

AWS Client VPNを設定しました

      2021/07/07

ユーザーガイドのクライアント VPN の開始方法に沿ってやりました。

AWSクライアントVPNでは3つのタイプの認証が使用できます。
* Active Directory認証(ユーザーベース)
* シングルサインオン(SAMLベースのフェデレーション、ユーザーベース)
* 相互認証(証明書ベース)

このチュートリアルは、相互認証方式でした。

相互認証の準備

作業しているmacOSでサーバー証明書とクライアント証明書とキーを作成して、AWS Certificate Manager(ACM)にアップロードしました。

OpenVPN easy-rsa リポジトリのクローンをローカルに作成しました。

PKI環境の初期化

認証局(CA)の構築

サーバー証明書とキーを生成

クライアント証明書とキーを生成

ファイルの整理

ファイルの確認

ACMへサーバー証明書とキーをアップロード

ACMへクライアント証明書とキーをアップロード

マネジメントコンソールでACMを確認すると証明書が2つ作成されていました。

クライアントVPNエンドポイントの作成

クライアントIPv4CIDRは、VPC(10.0.0.0/16)と重複しないものを設定しました。
ACMにアップロードした証明書を選択しました。

VPCサブネットへの関連付け

作成したクライアントVPNエンドポイントを選択して[関連付け]ボタンを押下しました。

VPCとサブネットを選択しました。
高可用性を考慮するなら、もう1つですが、今回は検証目的なので1つにします。

クライアントのネットワークへのアクセスを承認

[認証]タブの[受信の承認]ボタンを押下しました。

アクセスを有効にする送信先ネットには、対象範囲を指定します。
今回はVPC全体にするので、VPCのCIDRをそのまま指定しました。

追加でインターネットに接続できるルートを設定する

これをやっておかないと、作業中のmacOSがインターネットに接続できなくなります。

[ルートテーブル]タブの[ルートの作成]ボタンを押下しました。

ルート送信先を指定しました。
関連付けしたサブネットIDを指定しました。
このサブネットはインターネットゲートウェイへのルートが関連付いています。

[認証]タブの[受信の承認]ボタンを押下しました。

送信先ネットに0.0.0.0/0を指定しました。

設定ファイルをダウンロードする

[クライアント設定のダウンロード]ボタンを押下して設定ファイルをダウンロードしました。

上記のような配置になるように、certとkeyの情報を、client1.domain.tld.crtとclient1.domain.tld.keyから取得して貼り付けました。

AWSクライアントVPNの使用

AWS Client VPN downloadからmacOS用のクライアントをダウンロードしてインストールして起動しました。

[ファイル]-[プロファイルを管理]からプロファイルを追加を選択しました。

設定ファイルを選択しました。

準備ができました。
マネジメントコンソールを見ると、クライアントVPNも使用可能になっていました。
[接続]ボタンを押下しました。

接続先VPCのプライベートサブネットにEC2インスタンスを起動してpingを実行したところ、返ってきました!

ping 10.0.11.106
PING 10.0.11.106 (10.0.11.106): 56 data bytes
64 bytes from 10.0.11.106: icmp_seq=0 ttl=254 time=204.618 ms
64 bytes from 10.0.11.106: icmp_seq=1 ttl=254 time=207.065 ms
64 bytes from 10.0.11.106: icmp_seq=2 ttl=254 time=232.293 ms
64 bytes from 10.0.11.106: icmp_seq=3 ttl=254 time=189.744 ms


最後までお読みいただきましてありがとうございました!

「AWS認定資格試験テキスト&問題集 AWS認定ソリューションアーキテクト - プロフェッショナル 改訂第2版」という本を書きました。

「AWS認定資格試験テキスト AWS認定クラウドプラクティショナー 改訂第3版」という本を書きました。

「ポケットスタディ AWS認定 デベロッパーアソシエイト [DVA-C02対応] 」という本を書きました。

「要点整理から攻略するAWS認定ソリューションアーキテクト-アソシエイト」という本を書きました。

「AWSではじめるLinux入門ガイド」という本を書きました。

 - AWS , ,

ad

ad

  関連記事

Amazon S3オブエジェクトへのリクエストをCloudTrail, Athenaで識別

こちらCloudTrail を使用した Amazon S3 リクエストの識別に書 …

名前解決してセッションマネージャが使えるようにVyOSのhost_name.pyを編集しました

発生したエラー セッションマネージャからこんなエラーが出力されました。 [cra …

AWS Certificate Manager証明書とAmazon Route 53でAmazon API GatewayのAPIのカスタムドメイン名前解決する

AWS Certificate ManagerとAmazon Route 53と …

Amazon LinuxのNginx+RDS MySQLにレンタルWebサーバーからWordPressを移設する(失敗、手戻りそのまま記載版)

勉強のためブログサイトを長らくお世話になったロリポップさんから、AWSに移設する …

Rocket.ChatにAWS Lambda(Python)から投稿する

Rocket.ChatにAPIで投稿するテスト(Postman)をやってみて、使 …

AtomエディタでEC2のファイルを直接編集する

Webページを編集していてEC2のファイルをvimエディタでさわったりしています …

CloudFront用のAWS管理プレフィックスリストを使用しました

このブログでは、CloudFrontのカスタムヘッダーとALBのルーティングを組 …

EC2 プレイスメントグループを試してみました

やったことないのでやってみたやつです。 プレイスメントグループの作成 まず、EC …

AWS Transfer Family S3向けのSFTP対応サーバーをVPCで作成してEIPをアタッチ

EIPの作成 同じリージョンでEIPを作成しておきます。 SFTP対応サーバーの …

Going Serverless with AWS(AWS Summit Tokyo 2017)を聞いてきました

AWS Summit Tokyo 2017でセッション「Going Server …