This article is a Private article. Only a writer and users who know the URL can access it.
Please change open range to public in publish setting if you want to share this article with other users.

素人が勉強しながら作るawsでのvpn環境④

Last updated at Posted at 2024-06-09

目次

1ネットワーク設計
2.EC2構築と各種インストール
3.ドメイン周り設定
4.セキュリティ設定
5.参考文献

4.セキュリティ実装

必要な設定・インストールが完了したので、セキュリティの設定をします。

4-1.VPCのプライベート化

  • パラメータストア登録について
    重要な設定値を直接コードなどのドキュメントに書き込むのはAWS公式では
    バッドプラクティスとされています。
    AWSではパスワードなどの重要な設定値を管理するための方法として、
    パラメータストア、そしてより厳格なSecretManagerという機能を提供しています。

本システムではパラメータストアで、データベースの接続情報を管理していく想定で、説明を進めます。

  • 実装の要領は以下の通りです。

 ①PHP-SDKのインストールします。
 ②アプリサーバに付与したIAMロール「S3Access」にポリシー
  「AmazonSSMReadOnlyAccess」をアタッチします。
 ③KeyManagementServiceに、後述のパラメータストアに使用するための
  任意の文字列を登録します。
 ④パラメータストアにダミー値とパラメータ実値を対にして登録します。
  コード上から所定の手順でダミー値から実値を呼び出すことができ、
  ドキュメント上から実値の文字列を伏せることができます。

4-1-1.PHP-SDKのインストール

[ec2-user@ip-10-255-1-206 html]$ 
[ec2-user@ip-10-255-1-206 html]$ composer require aws/aws-sdk-php
./composer.json has been updated
Running composer update aws/aws-sdk-php
Loading composer repositories with package information
Updating dependencies
Lock file operations: 12 installs, 0 updates, 0 removals
  - Locking aws/aws-crt-php (v1.2.5)
  - Locking aws/aws-sdk-php (3.308.7)
  - Locking guzzlehttp/guzzle (7.8.1)
  - Locking guzzlehttp/promises (2.0.2)
  - Locking guzzlehttp/psr7 (2.6.2)
  - Locking mtdowling/jmespath.php (2.7.0)
  - Locking psr/http-client (1.0.3)
  - Locking psr/http-factory (1.1.0)
  - Locking psr/http-message (2.0)
  - Locking ralouphie/getallheaders (3.0.3)
  - Locking symfony/deprecation-contracts (v2.5.3)
  - Locking symfony/polyfill-mbstring (v1.29.0)
Writing lock file
Installing dependencies from lock file (including require-dev)
Package operations: 12 installs, 0 updates, 0 removals
  - Downloading psr/http-message (2.0)
  - Downloading symfony/polyfill-mbstring (v1.29.0)
  - Downloading mtdowling/jmespath.php (2.7.0)
  - Downloading ralouphie/getallheaders (3.0.3)
  - Downloading psr/http-factory (1.1.0)
  - Downloading guzzlehttp/psr7 (2.6.2)
  - Downloading guzzlehttp/promises (2.0.2)
  - Downloading symfony/deprecation-contracts (v2.5.3)
  - Downloading psr/http-client (1.0.3)
  - Downloading guzzlehttp/guzzle (7.8.1)
  - Downloading aws/aws-crt-php (v1.2.5)
  - Downloading aws/aws-sdk-php (3.308.7)
  - Installing psr/http-message (2.0): Extracting archive
  - Installing symfony/polyfill-mbstring (v1.29.0): Extracting archive
  - Installing mtdowling/jmespath.php (2.7.0): Extracting archive
  - Installing ralouphie/getallheaders (3.0.3): Extracting archive
  - Installing psr/http-factory (1.1.0): Extracting archive
  - Installing guzzlehttp/psr7 (2.6.2): Extracting archive
  - Installing guzzlehttp/promises (2.0.2): Extracting archive
  - Installing symfony/deprecation-contracts (v2.5.3): Extracting archive
  - Installing psr/http-client (1.0.3): Extracting archive
  - Installing guzzlehttp/guzzle (7.8.1): Extracting archive
  - Installing aws/aws-crt-php (v1.2.5): Extracting archive
  - Installing aws/aws-sdk-php (3.308.7): Extracting archive
6 package suggestions were added by new dependencies, use `composer suggest` to see details.
Package box/spout is abandoned, you should avoid using it. No replacement was suggested.
Generating autoload files
5 packages you are using are looking for funding.
Use the `composer fund` command to find out more!
No security vulnerability advisories found.
Using version ^3.308 for aws/aws-sdk-php
[ec2-user@ip-10-255-1-206 html]$ 
[ec2-user@ip-10-255-1-206 html]$ 

4-1-2.EC2に付与したIAMロール「S3Access」にポリシー 「AmazonSSMReadOnlyAccess」をアタッチ

 S3Accessの設定画面から「許可を追加」を押下、「ポリシーをアタッチ」を選択
図18.png

 ポリシーの一覧から検索窓に任意の文字列を入力し、「AmazonSSMReadOnlyAccess」
 を検索し、チェックを入れ、「許可を追加」を押下 
スクリーンショット 2024-06-04 213226.png

 同じく、「AmazonSSMManagedInstanceCore」も追加します。
image.png

 完了後の遷移画面で「AmazonSSMReadOnlyAccess」「AmazonSSMManagedInstanceCore」が追加されていることを確認してください。

スクリーンショット 2024-06-09 171330.png

4-1-3.KeyManagementServiceに、後述のパラメータストアに使用するための任意の文字列を登録します。

 KeyManagementServiceの設定画面に遷移し、
「カスタマー管理型のキー」>「キーの作成」を押下します。
スクリーンショット 2024-06-04 222215.png

 デフォルト設定のまま、「次へ」を押下します。
スクリーンショット 2024-06-04 222227.png

 「エイリアス」と「説明」欄に任意の文字列を入力し、「次へ」を押下します。
スクリーンショット 2024-06-04 222531.png

 「キーの管理アクセス許可を定義」、「キーの使用法アクセス許可を定義」
 それぞれの設定画面でS3Accessを選択し、「次へ」を押下します。
スクリーンショット 2024-06-04 222641.png

スクリーンショット 2024-06-04 222816.png

 遷移後確認画面で設定内容を確認し、「完了」を押下します。

4-2.パラメータストア登録、SessionManager実装

 AWS System Manager の画面で「パラメータストア」を選択し、
 「パラメータの作成」を押下します。
 データベース=DB の①パスワードと②ホスト名を登録します。

スクリーンショット 2024-06-05 211715.png

 ①パスワードのパラメータの詳細の設定を行います。
  名前-ダミー値にあたる、任意の文字列となります。
  タイプ-「安全な文字列」を選択
  KMSキーID-先ほど作成したKMS
スクリーンショット 2024-06-05 211954.png

 「値」の入力欄に、秘匿したい実値を記述します。
 1-4で構築したRDSのパスワードの値を入力します。

スクリーンショット 2024-06-05 212335.png

スクリーンショット 2024-04-28 202456.png

 ②ホスト名の登録では、実値はRDSの設定画面のエンドポイントの値を記述します。

スクリーンショット 2024-06-05 223912.png

スクリーンショット 2024-06-05 223948.png

  ③登録したパラメータを呼び出すためのコードを作成します。

 上記のコード文は配列になっているので、キーとバリューを切り離してバリューを
 変数("pass"と"host")に格納するよう手を加えています。

get-parameters.php
<?php

require 'vendor/autoload.php';

function getSsmParameters(array $names)
{
    $config = [
        'version' => '2014-11-06',
        'region' => 'ap-northeast-1'
    ];

    $client = new Aws\Ssm\SsmClient($config);
    $result = $client->getParameters(
        [
            'Names' => $names,
            'WithDecryption' => true
        ]
    );

    if ($result['InvalidParameters']) {
        // 存在しない値
        echo "InvalidParameters: " . implode(', ', $result['InvalidParameters']) . "\n";
    }

    if (!is_array($result['Parameters'])) {
        return null;
    }

    $params = [];

    foreach ($result['Parameters'] as $v) {
        $name = $v['Name'];
        $params[$name] = $v['Value'];
    }

    return $params;
}

$params1 = getSsmParameters(['dbpass']);
$params2 = getSsmParameters(['dbhost']);


foreach($params1 as $key => $value){echo $value; $pass = $value ;};
$pass = $value ;
echo $pass ; /* うまく取得できてるか確認用。実装前にこの行は削除 */
foreach($params2 as $key => $value){echo $value; $host = $value ;};
$host = $value ;
echo $host ; /* うまく取得できてるか確認用。実装前にこの行は削除 */

②SessionManager実装
 SessionManagerは、システム管理者の接続経路をユーザ向け接続経路を
 切り離して確保するためのシステムです。
 

  • 実装の要領は以下の通りです。
    ①SessionManagerの実装の前に、インターネットゲートウェイとの接続を切ります。
    ②EC2のパブリックIP割り当ての無効化
    ③SessionManagerのプライベートサブネットへの接続用に、VPCエンドポイントを作成
    ④クライアントPCにSessionManagerPluginをインストール
    ⑤接続

1.インターネットゲートウェイとの接続停止
 VPCの設定画面から前項1で作成したVPCを選択し、「メインルートテーブル」を
 選択します。

スクリーンショット 2024-05-06 124023.png

 「サブネットの関連付け」にリストされているサブネットをリストから外していきます。

スクリーンショット 2024-06-08 205434.png

 チェックを全て外して「関連付けを保存」を押下します。

スクリーンショット 2024-06-08 205317.png

 インターネットゲートウェイのルート登録も削除します。

スクリーンショット 2024-06-08 205455.png

スクリーンショット 2024-06-09 171926.png

2.EC2のパブリックIPアドレスの自動割り当て無効化

 EC2設定画面に移動し、「アクション」>「ネットワーキング」>「IPアドレスの管理」
 を選択します。

スクリーンショット 2024-06-09 172802.png

 遷移後の画面でインターフェイスの詳細を開き、「パブリックIPの自動割り当て」を
 無効化します。

スクリーンショット 2024-06-09 173009.png

 VPCの設定画面で「アクション」>「VPCの設定を編集」を押下します。

スクリーンショット 2024-06-09 174945.png

 遷移後の画面で「DNSホスト名を有効化」を押下します。

スクリーンショット 2024-06-09 175011.png

3.以下のサービス名のVPCエンドポイントを作成します。

 ・com.amazonaws.ap-northeast-1.ec2
 ・com.amazonaws.ap-northeast-1.ec2messages
 ・com.amazonaws.ap-northeast-1.ssm
 ・com.amazonaws.ap-northeast-1.ssmmessages
 ・com.amazonaws.ap-northeast-1.kms
 ・com.amazonaws.ap-northeast-1.s3 (※gateway)

 VPCの設定画面からエンドポイントの作成に入ります。

スクリーンショット 2024-06-09 180838.png

 「com.amazonaws.ap-northeast-1.ec2」の作成

スクリーンショット 2024-06-09 181139.png

 「com.amazonaws.ap-northeast-1.ec2messages」の作成

スクリーンショット 2024-06-09 181938.png

 「com.amazonaws.ap-northeast-1.ssm」の作成

スクリーンショット 2024-06-09 182109.png

 「com.amazonaws.ap-northeast-1.ssmmessages」の作成

スクリーンショット 2024-06-09 182455.png

 「com.amazonaws.ap-northeast-1.kms」の作成

スクリーンショット 2024-06-09 182728.png

 全て共通で、アベイラビリティーゾーンは「1c」、サブネットはEC2を
 収容しているもの、セキュリティーグループは「default」を指定します。

スクリーンショット 2024-06-09 181231.png

 「com.amazonaws.ap-northeast-1.s3」の作成
  サービス名はs3で検索し、タイプが"Gateway"のものを選択します。

スクリーンショット 2024-06-11 213446.png
  ルートテーブルにチェックを入れます。
スクリーンショット 2024-06-11 213616.png

aws cliでs3の操作が可能か確認します。

➜  terminal-default-start 
➜  terminal-default-start ssh -i App-key.pem ec2-user@10.255.1.249
Last login: Tue Jun 11 12:57:36 2024 from ip-10-255-255-166.ap-northeast-1.compute.internal
   ,     #_
   ~\_  ####_        Amazon Linux 2
  ~~  \_#####\
  ~~     \###|       AL2 End of Life is 2025-06-30.
  ~~       \#/ ___
   ~~       V~' '->
    ~~~         /    A newer version of Amazon Linux is available!
      ~~._.   _/
         _/ _/       Amazon Linux 2023, GA and supported until 2028-03-15.
       _/m/'           https://aws.amazon.com/linux/amazon-linux-2023/

[ec2-user@ip-10-255-1-249 ~]$ 
[ec2-user@ip-10-255-1-249 ~]$ 
[ec2-user@ip-10-255-1-249 ~]$ sudo -i
[root@ip-10-255-1-249 ~]# 
[root@ip-10-255-1-249 ~]# 
[root@ip-10-255-1-249 ~]# cd /var/www/html
[root@ip-10-255-1-249 html]# 
[root@ip-10-255-1-249 html]# 
[root@ip-10-255-1-249 html]# 
[root@ip-10-255-1-249 html]# aws s3 cp s3://programming-code/index.php ./index.php
download: s3://programming-code/index.php to ./index.php          
[root@ip-10-255-1-249 html]# 
[root@ip-10-255-1-249 html]# 
[root@ip-10-255-1-249 html]# 
[root@ip-10-255-1-249 html]# ls
index.php
[root@ip-10-255-1-249 html]# 
[root@ip-10-255-1-249 html]# 
[root@ip-10-255-1-249 html]# 

4.sessionmanagerの接続には、AWS公式サイトからSession-Manager-Pluginを
 ダウンロードしてインストールします。

 案内に従って、自機PCにインストールしてください。

5.SessionManagerでの接続、パラメータストアでの値の取得ができるか確認します。

➜  terminal-default-start 
➜  terminal-default-start aws ssm start-session --target i-09f66e4c9645c9b33

Starting session with SessionId: ec2-user-gpdlhlrvdixewn4vbbnyoom2ui
sh-4.2$ 
sh-4.2$ 
sh-4.2$ 
sh-4.2$ cd /var/www/html
sh-4.2$ 
sh-4.2$ 
sh-4.2$ ls
bootstrap.bundle.js  b.php          composer.lock       dbdata.xlsx          format              index100.php  index3.php  index5.php  index.php  jquery-3.7.1.js  vendor
bootstrap.css        composer.json  DBclasscollect.php  download_sample.php  get-parameters.php  index2.php    index4.php  index.html  j.php      sample.php
sh-4.2$ 
sh-4.2$ 
sh-4.2$ php get-parameters.php
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdatabase-1.c2wo0nndptaa.ap-northeast-1.rds.amazonaws.comdatabase-1.c2wo0nndptaa.ap-northeast-1.rds.amazonaws.comsh-4.2$ 
sh-4.2$ 
sh-4.2$ 
sh-4.2$ 
sh-4.2$ 
sh-4.2$ 
sh-4.2$ 

4-3.セキュリティーグループ設定

1項で作成したセキュリティーグループに具体的な設定をします。

image.png

WEB-SG

  • インバウンドルール
    ・HTTP 0.0.0.0/0
    ・HTTPS  0.0.0.0/0

スクリーンショット 2024-05-05 213534.png

  • アウトバウンドルール
    ・HTTP  APP-SG
    ・HTTPS  APP-SG

スクリーンショット 2024-05-05 213719.png

APP-SG

  • インバウンドルール
    ・HTTP WEB-SG
    ・HTTPS  WEB-SG
    ・SSH 0.0.0.0/0
    ・すべてのトラフィック s3

スクリーンショット 2024-05-05 213920.png
「s3」などのawsリソースはプレフィックスリストから選択します。
スクリーンショット 2024-05-06 120256.png

  • アウトバウンドルール
    ・MYSQL/Aurora  DB-SG
    ・すべてのトラフィック s3
    ・HTTPS  0.0.0.0/0
    ・SSH 0.0.0.0/0

スクリーンショット 2024-05-06 120429.png

DB-SG

  • インバウンドルール
    ・MYSQL/Aurora  APP-SG

スクリーンショット 2024-05-05 214243.png

  • アウトバウンドルール
    (登録無し)
    スクリーンショット 2024-05-05 214338.png

4-4.VPNエンドポイント作成

次にVPNエンドポイントの作成に必要となる、サーバー証明書とクライアント証明書の作成を行います。
今回作成するシステムとは一切関連しないEC2を作成し、コマンド操作で1セット、サーバー証明書とクライアント証明書を作成します。

上記の記事ではサーバー証明書の作成に以下のコマンドを使用しています。
"server"の箇所がサーバー証明書が取得するドメイン名に当たるのですが、ドット(.)区切りの文字列でないとドメイン名と認識せず、
VPNエンドポイントに使用できません。

./easyrsa build-server-full server nopass

上記記事に記載の通り、意識的にドット(.)を含む文字列をドメイン名にあてるようにします。

./easyrsa build-server-full server.example.com nopass
The authenticity of host '52.194.226.190 (52.194.226.190)' can't be established.
ED25519 key fingerprint is SHA256:3WqybUM/6dm8KVrVpXJqiuVlUtkzE6Qo4gwhV36/x7c.
This key is not known by any other names
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
Warning: Permanently added '52.194.226.190' (ED25519) to the list of known hosts.
   ,     #_
   ~\_  ####_        Amazon Linux 2
  ~~  \_#####\
  ~~     \###|       AL2 End of Life is 2025-06-30.
  ~~       \#/ ___
   ~~       V~' '->
    ~~~         /    A newer version of Amazon Linux is available!
      ~~._.   _/
         _/ _/       Amazon Linux 2023, GA and supported until 2028-03-15.
       _/m/'           https://aws.amazon.com/linux/amazon-linux-2023/

[ec2-user@ip-172-31-32-100 ~]$ 
[ec2-user@ip-172-31-32-100 ~]$ 
[ec2-user@ip-172-31-32-100 ~]$ 
[ec2-user@ip-172-31-32-100 ~]$ 
[ec2-user@ip-172-31-32-100 ~]$ 
[ec2-user@ip-172-31-32-100 ~]$ sudo yum install git -y
<略>
完了しました!
[ec2-user@ip-172-31-32-100 ~]$ 
[ec2-user@ip-172-31-32-100 ~]$ 
[ec2-user@ip-172-31-32-100 ~]$ 
[ec2-user@ip-172-31-32-100 ~]$ 
[ec2-user@ip-172-31-32-100 ~]$ 
[ec2-user@ip-172-31-32-100 ~]$ git clone https://github.com/OpenVPN/easy-rsa.git
Cloning into 'easy-rsa'...
remote: Enumerating objects: 6451, done.
remote: Counting objects: 100% (1227/1227), done.
remote: Compressing objects: 100% (478/478), done.
remote: Total 6451 (delta 792), reused 935 (delta 748), pack-reused 5224
Receiving objects: 100% (6451/6451), 52.15 MiB | 21.82 MiB/s, done.
Resolving deltas: 100% (3041/3041), done.
[ec2-user@ip-172-31-32-100 ~]$ 
[ec2-user@ip-172-31-32-100 ~]$ 
[ec2-user@ip-172-31-32-100 ~]$ 
[ec2-user@ip-172-31-32-100 ~]$ cd easy-rsa/easyrsa3
[ec2-user@ip-172-31-32-100 easyrsa3]$ 
[ec2-user@ip-172-31-32-100 easyrsa3]$ 
[ec2-user@ip-172-31-32-100 easyrsa3]$ 
[ec2-user@ip-172-31-32-100 easyrsa3]$ 
[ec2-user@ip-172-31-32-100 easyrsa3]$ ./easyrsa init-pki

Notice
------
'init-pki' complete; you may now create a CA or requests.

Your newly created PKI dir is:
* /home/ec2-user/easy-rsa/easyrsa3/pki


Using Easy-RSA configuration:
* undefined
[ec2-user@ip-172-31-32-100 easyrsa3]$ 
[ec2-user@ip-172-31-32-100 easyrsa3]$ 
[ec2-user@ip-172-31-32-100 easyrsa3]$ 
[ec2-user@ip-172-31-32-100 easyrsa3]$ ./easyrsa build-ca nopass
.....................................................................+++
..............+++
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Common Name (eg: your user, host, or server name) [Easy-RSA CA]:

Notice
------
CA creation complete. Your new CA certificate is at:
* /home/ec2-user/easy-rsa/easyrsa3/pki/ca.crt

[ec2-user@ip-172-31-32-100 easyrsa3]$ 
[ec2-user@ip-172-31-32-100 easyrsa3]$ 
[ec2-user@ip-172-31-32-100 easyrsa3]$ 
[ec2-user@ip-172-31-32-100 easyrsa3]$ 
[ec2-user@ip-172-31-32-100 easyrsa3]$ ./easyrsa build-server-full server.com nopass
Generating a 2048 bit RSA private key
........................+++
....................................................................................................................................................................................................+++
writing new private key to '/home/ec2-user/easy-rsa/easyrsa3/pki/13242288/temp.2.1'
-----

Notice
------
Private-Key and Public-Certificate-Request files created.
Your files are:
* req: /home/ec2-user/easy-rsa/easyrsa3/pki/reqs/server.com.req
* key: /home/ec2-user/easy-rsa/easyrsa3/pki/private/server.com.key 
<略>
subject=
    commonName                = server.com
<略>
Notice
------
Certificate created at:
* /home/ec2-user/easy-rsa/easyrsa3/pki/issued/server.com.crt
<略>

Notice
------
Inline file created:
* /home/ec2-user/easy-rsa/easyrsa3/pki/inline/server.com.inline

[ec2-user@ip-172-31-32-100 easyrsa3]$ 
[ec2-user@ip-172-31-32-100 easyrsa3]$ 
[ec2-user@ip-172-31-32-100 easyrsa3]$ 
[ec2-user@ip-172-31-32-100 easyrsa3]$ 
[ec2-user@ip-172-31-32-100 easyrsa3]$ ./easyrsa build-client-full client1.domain.tld nopass
Generating a 2048 bit RSA private key
................+++
....................+++
writing new private key to '/home/ec2-user/easy-rsa/easyrsa3/pki/57187dc1/temp.2.1'
-----

Notice
------
Private-Key and Public-Certificate-Request files created.
Your files are:
* req: /home/ec2-user/easy-rsa/easyrsa3/pki/reqs/client1.domain.tld.req
* key: /home/ec2-user/easy-rsa/easyrsa3/pki/private/client1.domain.tld.key 
<略>
Notice
------
Certificate created at:
* /home/ec2-user/easy-rsa/easyrsa3/pki/issued/client1.domain.tld.crt
<略>
Notice
------
Inline file created:
* /home/ec2-user/easy-rsa/easyrsa3/pki/inline/client1.domain.tld.inline

[ec2-user@ip-172-31-32-100 easyrsa3]$ 
[ec2-user@ip-172-31-32-100 easyrsa3]$ 
[ec2-user@ip-172-31-32-100 easyrsa3]$ 
[ec2-user@ip-172-31-32-100 easyrsa3]$ mkdir ~/custom_folder/
[ec2-user@ip-172-31-32-100 easyrsa3]$ cp pki/ca.crt ~/custom_folder/
[ec2-user@ip-172-31-32-100 easyrsa3]$ cp pki/issued/server.com.crt ~/custom_folder/
[ec2-user@ip-172-31-32-100 easyrsa3]$ cp pki/private/server.com.key ~/custom_folder/ 
[ec2-user@ip-172-31-32-100 easyrsa3]$ cp pki/issued/client1.domain.tld.crt ~/custom_folder
[ec2-user@ip-172-31-32-100 easyrsa3]$ cp pki/private/client1.domain.tld.key ~/custom_folder/
[ec2-user@ip-172-31-32-100 easyrsa3]$ 
[ec2-user@ip-172-31-32-100 easyrsa3]$ 
[ec2-user@ip-172-31-32-100 easyrsa3]$ cd ~/custom_folder/
[ec2-user@ip-172-31-32-100 custom_folder]$ 
[ec2-user@ip-172-31-32-100 custom_folder]$ 
[ec2-user@ip-172-31-32-100 custom_folder]$ 
[ec2-user@ip-172-31-32-100 custom_folder]$ 
[ec2-user@ip-172-31-32-100 custom_folder]$ aws configure
AWS Access Key ID [None]: ********************
AWS Secret Access Key [None]: ****************************************
Default region name [None]: ap-northeast-1
Default output format [None]: 
[ec2-user@ip-172-31-32-100 custom_folder]$ 
[ec2-user@ip-172-31-32-100 custom_folder]$
[ec2-user@ip-172-31-32-100 custom_folder]$ 
[ec2-user@ip-172-31-32-100 custom_folder]$ aws acm import-certificate --region ap-northeast-1 --certificate  fileb://server.com.crt --private-key fileb://server.com.key --certificate-chain fileb://ca.crt
{
    "CertificateArn": "arn:aws:acm:ap-northeast-1:705580014034:certificate/321d8071-2d15-4c1b-a049-b2de65c8ad1b"
}
[ec2-user@ip-172-31-32-100 custom_folder]$ ll
合計 28
-rw------- 1 ec2-user ec2-user 1168  6月 15 11:01 ca.crt
-rw------- 1 ec2-user ec2-user 4459  6月 15 11:21 client1.domain.tld.crt
-rw------- 1 ec2-user ec2-user 1704  6月 15 11:23 client1.domain.tld.key
-rw------- 1 ec2-user ec2-user 4476  6月 15 11:13 server.crt
-rw------- 1 ec2-user ec2-user 1704  6月 15 11:15 server.key
[ec2-user@ip-172-31-32-100 custom_folder]$
[ec2-user@ip-172-31-32-100 custom_folder]$ 
[ec2-user@ip-172-31-32-100 custom_folder]$ aws acm import-certificate --region ap-northeast-1 --certificate  fileb://client1.domain.tld.crt --private-key fileb://client1.domain.tld.key --certificate-chain fileb://ca.crt
{
    "CertificateArn": "arn:aws:acm:ap-northeast-1:705580014034:certificate/86ccfa93-5fdf-4542-ba01-874c37177a80"
}
[ec2-user@ip-172-31-46-246 custom_folder]$ 
[ec2-user@ip-172-31-32-100 custom_folder]$ aws s3 cp ./ s3://ca20240328/ --recursive
upload: ./client1.domain.tld.key to s3://ca20240328/client1.domain.tld.key
upload: ./server.com.crt to s3://ca20240328/server.com.crt      
upload: ./client1.domain.tld.crt to s3://ca20240328/client1.domain.tld.crt
upload: ./server.com.key to s3://ca20240328/server.com.key       
upload: ./ca.crt to s3://ca20240328/ca.crt                       
[ec2-user@ip-172-31-32-100 custom_folder]$ 

続いて、VPNエンドポイント本体を作成します。
VPCの設定画面から「仮想プライベートネットワーク(VPN)」を選択し、遷移後の画面で「クライアントVPNエンドポイントを作成」を押下します。

スクリーンショット 2024-05-06 152922.png

画面遷移後の「クライアントVPNエンドポイントを作成」で。必要な項目を設定します。
・名前タグ-任意の文字列を入力
・クライアント IPv4 CIDR- AWS公式のハンズオン資料の記載に従い、"192.168.252.0/22"に設定します。
・サーバー証明書とクライアント証明書は上記EC2上で生成した証明書を選択します。

スクリーンショット 2024-05-06 133644.png
・サーバー証明書-「server.com」
・「相互認証を使用」にチェック
・クライアント証明書-「client1.domain.tld」
スクリーンショット 2024-05-06 154211.png
・「スプリットトンネルを有効化」にチェック
・VPC-前項1で作成したVPCを選択
・セキュリティグループID-「default」を選択
スクリーンショット 2024-05-06 133717.png
クライアントVPNエンドポイント作成後、「ターゲットネットワークの関連付け」タブで、前項1で作成したVPN用サブネットを選択します。

スクリーンショット 2024-06-15 21.39.05.png

スクリーンショット 2024-05-06 133824.png

スクリーンショット 2024-05-06 133950.png

「承認ルール」タブで「承認ルール」の設定をします。
「承認ルールを追加」を押下し、遷移後の画面でVPC内のネットワークを入力します。また、「アクセス権をすべてのユーザーに許可する」が選択されていることを確認してください。

スクリーンショット 2024-05-06 134031.png

スクリーンショット 2024-05-06 134142.png

状態が「Available」になるのを待って、「クライアント設定をダウンロード」を押下します。
スクリーンショット 2024-05-06 173002.png

ダウンロードしたファイルを開きます。

downloaded-client-config.ovpn
client
dev tun
proto udp
remote cvpn-endpoint-0474bf270218f9ac1.prod.clientvpn.ap-northeast-1.amazonaws.com 443
remote-random-hostname
resolv-retry infinite
nobind
remote-cert-tls server
cipher AES-256-GCM
verb 3
<ca>
-----BEGIN CERTIFICATE-----
MIIDNTCCAh2gAwIBAgIJALfjQ2ijuvjHMA0GCSqGSIb3DQEBCwUAMBYxFDASBgNV
BAMMC0Vhc3ktUlNBIENBMB4XDTI0MDQwMTEyMzQ1MloXDTM0MDMzMDEyMzQ1Mlow
FjEUMBIGA1UEAwwLRWFzeS1SU0EgQ0EwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAw
ggEKAoIBAQD1VTSQjzds4muDf23rCcV/CatiYaiyy/ZPKNfp8J6qrIkk2EzII6NL
VzHbvVHG9m22acHgSwaS3G9wxR15cFHrg6ftoAHNTUkl1BmCO9mfS0vdxmZi5s8b
2M2vCzYbxLXOXMMtFRJEReH2wpOj/Ra0wQCVdA2mA4SbiX+4EwFH7IUt/Tfzmkz6
fQ3/WLRic4/dtNQpVAKH9s1Ehez691FT/rRVh5SjLNXzHlnSbpquSFM8r7vknCwF
yCtMeOSn8UxPlO3AntmeE7EWRCfM8ny2+aXe/cauyKta1JkQziJJWHm/ThK9EDFI
n8iJ9dp90rUy+nLQIGHH8fgBSbvR2rCPAgMBAAGjgYUwgYIwDAYDVR0TBAUwAwEB
/zAdBgNVHQ4EFgQU0BJFIUXo3MySwC1PoANkDwpnQBgwRgYDVR0jBD8wPYAU0BJF
IUXo3MySwC1PoANkDwpnQBihGqQYMBYxFDASBgNVBAMMC0Vhc3ktUlNBIENBggkA
t+NDaKO6+McwCwYDVR0PBAQDAgEGMA0GCSqGSIb3DQEBCwUAA4IBAQAc8bsZ+FDf
0Z7F/0RKbc6gqc50Clw5aVQW7YvGgYBQuyYKEp5Y8FCuy6AMDq+gZ1FHG10Q3mkZ
o/87CNqQ7JbSchtfLIVBkzwm1ae7GOOn0ewzCpB6/OT+JcZzOSY4yo1mK/xT2Mu9
MLhQNF7DReXGFZvyGJEsj1iVQ5QsETEWo6hBrD13eKpId6rlTsziltk7L0oAWN7z
xqphP5lVdQLkw1sDMgDNwazE56qonFZUN+Ex+EpLpMzf8RyAH/cehbo+M2GnrS2R
jyrMkxcASbHuS7ZJf0SMDjtK1zZjSUTZH+FwtcbIfv+3fxYo6mi4achHGFnWY3KT
CLC0VBAP5O27
-----END CERTIFICATE-----

</ca>


reneg-sec 0

verify-x509-name server.com name

前述のEC2で生成したファイルの一部をコピペして上記ファイルに追記します。
・client1.domain.tld.crt

client1.domain.tld.crt
Certificate:
    Data:
        Version: 3 (0x2)
        Serial Number:
            26:34:ef:07:08:8e:14:fe:c5:63:09:13:fc:9a:41:79
    Signature Algorithm: sha256WithRSAEncryption
        Issuer: CN=Easy-RSA CA
        Validity
            Not Before: Apr  1 12:36:33 2024 GMT
            Not After : Jul  5 12:36:33 2026 GMT
        Subject: CN=client1.domain.tld
        Subject Public Key Info:
            Public Key Algorithm: rsaEncryption
                Public-Key: (2048 bit)
                Modulus:
                    00:c3:4b:8d:a5:0d:5c:40:65:39:83:76:fb:71:aa:
                    46:bb:cc:61:9a:68:7c:47:d0:3a:ee:cf:8f:9c:c0:
                    b2:25:fb:f0:29:d3:a5:7f:d0:b2:99:f7:6e:bf:42:
                    89:1a:23:06:a9:3a:5d:8a:b2:5b:29:16:a7:ed:c5:
                    77:d5:61:4a:e4:cd:58:9a:af:d4:16:75:83:bb:60:
                    0e:93:25:7e:aa:eb:fa:98:a4:b3:4a:82:e6:98:b0:
                    9a:e2:47:3c:4b:62:ac:22:15:c9:09:29:77:28:07:
                    ed:e0:80:fc:c0:76:59:9b:61:42:ef:e0:f5:04:0c:
                    1a:a6:47:f6:47:3f:da:06:df:40:f2:5e:57:18:21:
                    4b:9c:78:b1:c4:9f:a2:4c:3d:7b:d4:af:ff:b6:18:
                    37:74:5a:df:8e:1f:65:30:21:de:67:89:3f:e4:82:
                    c7:75:e1:5d:80:99:b4:8d:57:1b:70:c8:8a:85:f5:
                    6c:02:90:7b:14:42:c9:2d:07:28:8e:c0:8b:6e:4a:
                    f7:1a:4d:ae:f7:21:e0:79:55:d7:95:e5:e6:df:d1:
                    a7:92:59:2d:1c:ac:5b:52:c8:96:43:33:b6:38:bf:
                    10:d2:67:82:1d:1f:1d:83:6d:4c:80:c3:66:d2:20:
                    1c:24:d9:0f:a4:d8:c9:4e:d1:e1:ae:59:b7:8c:e3:
                    88:bb
                Exponent: 65537 (0x10001)
        X509v3 extensions:
            X509v3 Basic Constraints: 
                CA:FALSE
            X509v3 Subject Key Identifier: 
                F3:AC:CD:97:DF:49:CA:2D:84:D2:1E:99:5A:9C:4D:6C:DB:C3:0E:21
            X509v3 Authority Key Identifier: 
                keyid:D0:12:45:21:45:E8:DC:CC:92:C0:2D:4F:A0:03:64:0F:0A:67:40:18
                DirName:/CN=Easy-RSA CA
                serial:B7:E3:43:68:A3:BA:F8:C7

            X509v3 Extended Key Usage: 
                TLS Web Client Authentication
            X509v3 Key Usage: 
                Digital Signature
    Signature Algorithm: sha256WithRSAEncryption
         38:4b:d7:54:94:09:46:b3:1a:ff:9c:43:49:e3:fb:12:22:8c:
         ce:80:79:41:19:3e:85:bc:3d:85:8f:b8:6e:d4:71:f1:51:b5:
         5f:b1:27:a1:bf:48:2c:48:f7:18:c7:4a:4c:8f:6d:fb:23:98:
         e6:59:79:00:27:c4:dc:bc:27:5d:72:7b:36:b3:ba:d6:ab:92:
         63:35:7f:b3:8b:33:10:d7:34:8b:95:e1:e1:64:4e:a9:f2:d5:
         ff:ff:1c:79:90:56:2b:ff:99:bd:40:53:e1:08:d3:74:4d:8f:
         ae:ea:7f:ae:c7:0a:03:c3:6f:57:dc:1f:60:58:14:62:92:ad:
         64:c4:0c:48:51:25:e4:0e:7e:5c:05:02:ef:95:8e:ff:21:d2:
         dc:2e:29:41:b7:ef:74:71:bb:07:b3:35:ab:ea:64:c0:ca:e0:
         32:7a:ac:c6:8c:b3:6c:78:28:5a:bf:39:9d:54:68:40:5f:cb:
         a5:75:98:52:b7:92:48:fe:ef:15:95:f0:04:e9:40:d1:ae:ef:
         76:7e:39:73:49:05:20:0d:42:91:ae:e3:f2:22:41:ad:c7:ec:
         52:1f:24:58:b4:9a:a0:de:13:be:47:c6:8f:01:82:1a:59:23:
         c6:71:b0:b6:a3:ce:2b:88:1a:a3:da:a1:84:70:47:6f:75:6e:
         e2:6e:87:12
-----BEGIN CERTIFICATE-----
MIIDVTCCAj2gAwIBAgIQJjTvBwiOFP7FYwkT/JpBeTANBgkqhkiG9w0BAQsFADAW
MRQwEgYDVQQDDAtFYXN5LVJTQSBDQTAeFw0yNDA0MDExMjM2MzNaFw0yNjA3MDUx
MjM2MzNaMB0xGzAZBgNVBAMMEmNsaWVudDEuZG9tYWluLnRsZDCCASIwDQYJKoZI
hvcNAQEBBQADggEPADCCAQoCggEBAMNLjaUNXEBlOYN2+3GqRrvMYZpofEfQOu7P
j5zAsiX78CnTpX/Qspn3br9CiRojBqk6XYqyWykWp+3Fd9VhSuTNWJqv1BZ1g7tg
DpMlfqrr+piks0qC5piwmuJHPEtirCIVyQkpdygH7eCA/MB2WZthQu/g9QQMGqZH
9kc/2gbfQPJeVxghS5x4scSfokw9e9Sv/7YYN3Ra344fZTAh3meJP+SCx3XhXYCZ
tI1XG3DIioX1bAKQexRCyS0HKI7Ai25K9xpNrvch4HlV15Xl5t/Rp5JZLRysW1LI
lkMztji/ENJngh0fHYNtTIDDZtIgHCTZD6TYyU7R4a5Zt4zjiLsCAwEAAaOBlzCB
lDAJBgNVHRMEAjAAMB0GA1UdDgQWBBTzrM2X30nKLYTSHplanE1s28MOITBGBgNV
HSMEPzA9gBTQEkUhRejczJLALU+gA2QPCmdAGKEapBgwFjEUMBIGA1UEAwwLRWFz
eS1SU0EgQ0GCCQC340Noo7r4xzATBgNVHSUEDDAKBggrBgEFBQcDAjALBgNVHQ8E
BAMCB4AwDQYJKoZIhvcNAQELBQADggEBADhL11SUCUazGv+cQ0nj+xIijM6AeUEZ
PoW8PYWPuG7UcfFRtV+xJ6G/SCxI9xjHSkyPbfsjmOZZeQAnxNy8J11yezazutar
kmM1f7OLMxDXNIuV4eFkTqny1f//HHmQViv/mb1AU+EI03RNj67qf67HCgPDb1fc
H2BYFGKSrWTEDEhRJeQOflwFAu+Vjv8h0twuKUG373RxuwezNavqZMDK4DJ6rMaM
s2x4KFq/OZ1UaEBfy6V1mFK3kkj+7xWV8ATpQNGu73Z+OXNJBSANQpGu4/IiQa3H
7FIfJFi0mqDeE75Hxo8BghpZI8ZxsLajziuIGqPaoYRwR291buJuhxI=
-----END CERTIFICATE-----

上記ファイルの「-----BEGIN CERTIFICATE-----」から「-----END CERTIFICATE-----」までを<cert></cert>に挟んで、末尾に追記します。

・client1.domain.tld.key

client1.domain.tld.key
-----BEGIN PRIVATE KEY-----
MIIEvwIBADANBgkqhkiG9w0BAQEFAASCBKkwggSlAgEAAoIBAQDDS42lDVxAZTmD
dvtxqka7zGGaaHxH0Druz4+cwLIl+/Ap06V/0LKZ926/QokaIwapOl2KslspFqft
xXfVYUrkzViar9QWdYO7YA6TJX6q6/qYpLNKguaYsJriRzxLYqwiFckJKXcoB+3g
gPzAdlmbYULv4PUEDBqmR/ZHP9oG30DyXlcYIUuceLHEn6JMPXvUr/+2GDd0Wt+O
H2UwId5niT/kgsd14V2AmbSNVxtwyIqF9WwCkHsUQsktByiOwItuSvcaTa73IeB5
VdeV5ebf0aeSWS0crFtSyJZDM7Y4vxDSZ4IdHx2DbUyAw2bSIBwk2Q+k2MlO0eGu
WbeM44i7AgMBAAECggEBAJRkIzOHrFIN2B6pWLNsY6Ssznjp7Y0PjsgIlKHR1UuB
XGIbvEQbSqos1UykfNKMTLJnc85AaX4WBfFoOv66l5K06R9YfLm3/ylv+oMaWV38
QoSbmNQEFL1ua7GF2S2awxp/HStGA5E6PSh6OhLvmnSy+Y6VivbRT6qLQXmv7bWL
tWBm+Bk3sjfS2HeyONfn85IjZG6SzelFNqpqisEK9MhIE50G5MwUvOTb/1sEuWal
WcRRwxsbHp6EjLgDOb6IeoBD2khjC+e0lQR2PyPwMA4WERqT3C/dVvyBKS6s9WNy
kS9Qjs7Lyt29yyxd3FDTANHc1A7ZenfdwixRU7JydjkCgYEA/FQluo0qeCld6AXV
xD3r50jGOiMEzBO4a6mkDGhxkpwD1rxOzphLlkcJYyrpi6Sw0+MIWQAADNgSDzSt
bITA5tisrVOKf8UBqqOMdYJ+vos+9CXYXwbj5G0kqjwLVwIHbACMSzx2J6R9pSQ4
soe47+c3AB9Jt3y8CUuGj7LAou8CgYEAxiL422JGdLIPNudcpZUyFbczEpHMuY3o
23Zg8pJEJgDT2xqbojIbyRPgZrwEfYuUw1S4bKWdtfz2Ph+ly4OqniuCRySfbuhs
fKE8PMR9J8YT5nl6mJcxB9Gq0pjO47upGNg+GoIoS+KadFuq7cr8IFMs1B7fUSY2
6+KNZ3yqBvUCgYEAgcEvyZewICx9isP9YjXJapzkup6pZ9w4OLz6jBrlVFQAMVuS
VvC/5d5PuHwnrtSYzczwzPuQCwrNdp5LFAPMQqlnWpYcIYoISlxh7UeWr5thWyFe
+7bKV/u8IAJSfoKfmG1Lt6C2zbnrlpFiyoO6mTtX8CsmuEFfXJRG9PwhzWcCgYAa
nGPUAzT3Q1rrwtMcohch94LygYZ/fWHC5/lJWv+wIvhROxegBx7YOMUwxxvLSM3o
Fh7W6L9vy9O+sD1yQfLOX4WVzINlP+4iJv2SI8mzZ9UQZUxj5hp9tFk/A6r1xySE
47YjlUuYNY0NB6rDWTnXlZQ1wRe5LGq/76OSPJoRaQKBgQCy1kfg0zKQmRX3JLYd
vsAWtA73DFRuVa1SFo3rPuzrjT2aVb8uarUP934DZpy2qKHU3wKRsBPTeHp+fywY
65xrMlUMPQcX8xzJJDQSYN7GfGiv/3PzciSFBemCCDD4E1Q/sS05M1PQiGCWx4A9
Wye1Ei4ykcCE4L1dkhL5K8izuw==
-----END PRIVATE KEY-----

 上記ファイルの「-----BEGIN PRIVATE KEY-----」から「-----END PRIVATE KEY-----」までを<key></key>に挟んで、末尾に追記します。

編集したファイルは以下の通りです。

client
dev tun
proto udp
remote cvpn-endpoint-0474bf270218f9ac1.prod.clientvpn.ap-northeast-1.amazonaws.com 443
remote-random-hostname
resolv-retry infinite
nobind
remote-cert-tls server
cipher AES-256-GCM
verb 3
<ca>
-----BEGIN CERTIFICATE-----
MIIDNTCCAh2gAwIBAgIJALfjQ2ijuvjHMA0GCSqGSIb3DQEBCwUAMBYxFDASBgNV
BAMMC0Vhc3ktUlNBIENBMB4XDTI0MDQwMTEyMzQ1MloXDTM0MDMzMDEyMzQ1Mlow
FjEUMBIGA1UEAwwLRWFzeS1SU0EgQ0EwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAw
ggEKAoIBAQD1VTSQjzds4muDf23rCcV/CatiYaiyy/ZPKNfp8J6qrIkk2EzII6NL
VzHbvVHG9m22acHgSwaS3G9wxR15cFHrg6ftoAHNTUkl1BmCO9mfS0vdxmZi5s8b
2M2vCzYbxLXOXMMtFRJEReH2wpOj/Ra0wQCVdA2mA4SbiX+4EwFH7IUt/Tfzmkz6
fQ3/WLRic4/dtNQpVAKH9s1Ehez691FT/rRVh5SjLNXzHlnSbpquSFM8r7vknCwF
yCtMeOSn8UxPlO3AntmeE7EWRCfM8ny2+aXe/cauyKta1JkQziJJWHm/ThK9EDFI
n8iJ9dp90rUy+nLQIGHH8fgBSbvR2rCPAgMBAAGjgYUwgYIwDAYDVR0TBAUwAwEB
/zAdBgNVHQ4EFgQU0BJFIUXo3MySwC1PoANkDwpnQBgwRgYDVR0jBD8wPYAU0BJF
IUXo3MySwC1PoANkDwpnQBihGqQYMBYxFDASBgNVBAMMC0Vhc3ktUlNBIENBggkA
t+NDaKO6+McwCwYDVR0PBAQDAgEGMA0GCSqGSIb3DQEBCwUAA4IBAQAc8bsZ+FDf
0Z7F/0RKbc6gqc50Clw5aVQW7YvGgYBQuyYKEp5Y8FCuy6AMDq+gZ1FHG10Q3mkZ
o/87CNqQ7JbSchtfLIVBkzwm1ae7GOOn0ewzCpB6/OT+JcZzOSY4yo1mK/xT2Mu9
MLhQNF7DReXGFZvyGJEsj1iVQ5QsETEWo6hBrD13eKpId6rlTsziltk7L0oAWN7z
xqphP5lVdQLkw1sDMgDNwazE56qonFZUN+Ex+EpLpMzf8RyAH/cehbo+M2GnrS2R
jyrMkxcASbHuS7ZJf0SMDjtK1zZjSUTZH+FwtcbIfv+3fxYo6mi4achHGFnWY3KT
CLC0VBAP5O27
-----END CERTIFICATE-----

</ca>

<cert>
-----BEGIN CERTIFICATE-----
MIIDVTCCAj2gAwIBAgIQJjTvBwiOFP7FYwkT/JpBeTANBgkqhkiG9w0BAQsFADAW
MRQwEgYDVQQDDAtFYXN5LVJTQSBDQTAeFw0yNDA0MDExMjM2MzNaFw0yNjA3MDUx
MjM2MzNaMB0xGzAZBgNVBAMMEmNsaWVudDEuZG9tYWluLnRsZDCCASIwDQYJKoZI
hvcNAQEBBQADggEPADCCAQoCggEBAMNLjaUNXEBlOYN2+3GqRrvMYZpofEfQOu7P
j5zAsiX78CnTpX/Qspn3br9CiRojBqk6XYqyWykWp+3Fd9VhSuTNWJqv1BZ1g7tg
DpMlfqrr+piks0qC5piwmuJHPEtirCIVyQkpdygH7eCA/MB2WZthQu/g9QQMGqZH
9kc/2gbfQPJeVxghS5x4scSfokw9e9Sv/7YYN3Ra344fZTAh3meJP+SCx3XhXYCZ
tI1XG3DIioX1bAKQexRCyS0HKI7Ai25K9xpNrvch4HlV15Xl5t/Rp5JZLRysW1LI
lkMztji/ENJngh0fHYNtTIDDZtIgHCTZD6TYyU7R4a5Zt4zjiLsCAwEAAaOBlzCB
lDAJBgNVHRMEAjAAMB0GA1UdDgQWBBTzrM2X30nKLYTSHplanE1s28MOITBGBgNV
HSMEPzA9gBTQEkUhRejczJLALU+gA2QPCmdAGKEapBgwFjEUMBIGA1UEAwwLRWFz
eS1SU0EgQ0GCCQC340Noo7r4xzATBgNVHSUEDDAKBggrBgEFBQcDAjALBgNVHQ8E
BAMCB4AwDQYJKoZIhvcNAQELBQADggEBADhL11SUCUazGv+cQ0nj+xIijM6AeUEZ
PoW8PYWPuG7UcfFRtV+xJ6G/SCxI9xjHSkyPbfsjmOZZeQAnxNy8J11yezazutar
kmM1f7OLMxDXNIuV4eFkTqny1f//HHmQViv/mb1AU+EI03RNj67qf67HCgPDb1fc
H2BYFGKSrWTEDEhRJeQOflwFAu+Vjv8h0twuKUG373RxuwezNavqZMDK4DJ6rMaM
s2x4KFq/OZ1UaEBfy6V1mFK3kkj+7xWV8ATpQNGu73Z+OXNJBSANQpGu4/IiQa3H
7FIfJFi0mqDeE75Hxo8BghpZI8ZxsLajziuIGqPaoYRwR291buJuhxI=
-----END CERTIFICATE-----
</cert>

<key>
-----BEGIN PRIVATE KEY-----
MIIEvwIBADANBgkqhkiG9w0BAQEFAASCBKkwggSlAgEAAoIBAQDDS42lDVxAZTmD
dvtxqka7zGGaaHxH0Druz4+cwLIl+/Ap06V/0LKZ926/QokaIwapOl2KslspFqft
xXfVYUrkzViar9QWdYO7YA6TJX6q6/qYpLNKguaYsJriRzxLYqwiFckJKXcoB+3g
gPzAdlmbYULv4PUEDBqmR/ZHP9oG30DyXlcYIUuceLHEn6JMPXvUr/+2GDd0Wt+O
H2UwId5niT/kgsd14V2AmbSNVxtwyIqF9WwCkHsUQsktByiOwItuSvcaTa73IeB5
VdeV5ebf0aeSWS0crFtSyJZDM7Y4vxDSZ4IdHx2DbUyAw2bSIBwk2Q+k2MlO0eGu
WbeM44i7AgMBAAECggEBAJRkIzOHrFIN2B6pWLNsY6Ssznjp7Y0PjsgIlKHR1UuB
XGIbvEQbSqos1UykfNKMTLJnc85AaX4WBfFoOv66l5K06R9YfLm3/ylv+oMaWV38
QoSbmNQEFL1ua7GF2S2awxp/HStGA5E6PSh6OhLvmnSy+Y6VivbRT6qLQXmv7bWL
tWBm+Bk3sjfS2HeyONfn85IjZG6SzelFNqpqisEK9MhIE50G5MwUvOTb/1sEuWal
WcRRwxsbHp6EjLgDOb6IeoBD2khjC+e0lQR2PyPwMA4WERqT3C/dVvyBKS6s9WNy
kS9Qjs7Lyt29yyxd3FDTANHc1A7ZenfdwixRU7JydjkCgYEA/FQluo0qeCld6AXV
xD3r50jGOiMEzBO4a6mkDGhxkpwD1rxOzphLlkcJYyrpi6Sw0+MIWQAADNgSDzSt
bITA5tisrVOKf8UBqqOMdYJ+vos+9CXYXwbj5G0kqjwLVwIHbACMSzx2J6R9pSQ4
soe47+c3AB9Jt3y8CUuGj7LAou8CgYEAxiL422JGdLIPNudcpZUyFbczEpHMuY3o
23Zg8pJEJgDT2xqbojIbyRPgZrwEfYuUw1S4bKWdtfz2Ph+ly4OqniuCRySfbuhs
fKE8PMR9J8YT5nl6mJcxB9Gq0pjO47upGNg+GoIoS+KadFuq7cr8IFMs1B7fUSY2
6+KNZ3yqBvUCgYEAgcEvyZewICx9isP9YjXJapzkup6pZ9w4OLz6jBrlVFQAMVuS
VvC/5d5PuHwnrtSYzczwzPuQCwrNdp5LFAPMQqlnWpYcIYoISlxh7UeWr5thWyFe
+7bKV/u8IAJSfoKfmG1Lt6C2zbnrlpFiyoO6mTtX8CsmuEFfXJRG9PwhzWcCgYAa
nGPUAzT3Q1rrwtMcohch94LygYZ/fWHC5/lJWv+wIvhROxegBx7YOMUwxxvLSM3o
Fh7W6L9vy9O+sD1yQfLOX4WVzINlP+4iJv2SI8mzZ9UQZUxj5hp9tFk/A6r1xySE
47YjlUuYNY0NB6rDWTnXlZQ1wRe5LGq/76OSPJoRaQKBgQCy1kfg0zKQmRX3JLYd
vsAWtA73DFRuVa1SFo3rPuzrjT2aVb8uarUP934DZpy2qKHU3wKRsBPTeHp+fywY
65xrMlUMPQcX8xzJJDQSYN7GfGiv/3PzciSFBemCCDD4E1Q/sS05M1PQiGCWx4A9
Wye1Ei4ykcCE4L1dkhL5K8izuw==
-----END PRIVATE KEY-----
</key>


reneg-sec 0

verify-x509-name server.com name

スクリーンショット 2024-06-15 21.30.53.png

4-5.AWS Client VPN インストール

上記リンク先からVPNクライアントツールをダウンロードし、設定をします。
スクリーンショット 2024-05-06 182718.png

初期設定は案内に従ってください。
スクリーンショット 2024-05-06 182752.png

「ファイル」、「プロファイルを管理」を選択します。
スクリーンショット 2024-05-06 232904.png

「プロファイルを追加」を選択します。
スクリーンショット 2024-05-06 232913.png

「VPN設定ファイル」入力欄のフォルダのアイコンを押し、ローカルファイルから上記ファイル」を選択します。
スクリーンショット 2024-05-06 232923.png

スクリーンショット 2024-05-06 232931.png

スクリーンショット 2024-05-06 232944.png

「表示名」欄に任意の文字列を入力し、「プロファイルを追加」を押下します。

スクリーンショット 2024-05-06 232950.png

表示名に入力した文字列を一覧から選択し、「接続」を押下します。
「接続済み。」のメッセージが表示されたら、VPCとの接続ができます。

スクリーンショット 2024-05-06 232959.png

スクリーンショット 2024-05-06 233006.png

スクリーンショット 2024-05-06 232858.png

0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up