

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# AWS CloudHSM KSP で IIS を使用した Windows での SSL/TLS オフロード
<a name="ssl-offload-windows"></a>

このチュートリアルでは、Windows ウェブサーバーで AWS CloudHSM を使用して SSL/TLS オフロードを設定する手順を説明します。

**Topics**
+ [概要:](#ssl-offload-windows-overview)
+ [ステップ 1: 前提条件の設定](#ssl-offload-prerequisites-windows)
+ [ステップ 2: 証明書署名リクエスト (CSR) および証明書を作成する](#ssl-offload-windows-create-csr-and-certificate)
+ [ステップ 3: ウェブサーバーを設定する](#ssl-offload-configure-web-server-windows)
+ [ステップ 4: HTTPS トラフィックを有効にして証明書を検証する](#ssl-offload-enable-traffic-and-verify-certificate-windows)

## 概要:
<a name="ssl-offload-windows-overview"></a>

Windows では、[Windows Server 用インターネットインフォメーションサービス (IIS)](https://www.iis.net/) ウェブサーバーアプリケーションは HTTPS をネイティブにサポートしています。[Microsoft の Cryptography API:Next Generation (CNG) のAWS CloudHSM キーストレージプロバイダー (KSP)](ksp-library.md) には、暗号化オフロードとキーストレージ用に、IIS がクラスターの HSM を使用することを許可するインターフェイスが用意されています。 AWS CloudHSM KSP は IIS を AWS CloudHSM クラスターに接続するブリッジです。

このチュートリアルでは、以下のことを実行する方法を示します。
+ Amazon EC2 インスタンスに、ウェブサーバーソフトウェアをインストールします。
+  AWS CloudHSM クラスターに保存されている秘密キーで、HTTPS をサポートするようにウェブサーバソフトウェアを設定します。
+ (オプション）Amazon EC2 を使用して 2 台目のウェブサーバーインスタンスを作成し、Elastic Load Balancing を使用してロードバランサーを作成します。ロードバランサーを使用すると、複数のサーバーに負荷を分散することでパフォーマンスを向上させることができます。また、1 つ以上のサーバーに障害が発生した場合、冗長性と高可用性を提供します。

始める準備ができたら、「[ステップ 1: 前提条件の設定](#ssl-offload-prerequisites-windows)」を参照してください。

## ステップ 1: 前提条件の設定
<a name="ssl-offload-prerequisites-windows"></a>

プラットフォームごとに、異なる前提条件が必要です。以下の前提条件セクションのうち、お使いのプラットフォームに合ったものをご利用ください。

**Topics**
+ [クライアント SDK 5 の前提条件](#ssl-offload-prerequisites-windows-sdk5)
+ [クライアント SDK 3 の前提条件](#ssl-offload-prerequisites-windows-sdk3)

### クライアント SDK 5 の前提条件
<a name="ssl-offload-prerequisites-windows-sdk5"></a>

でウェブサーバーの SSL/TLS オフロードを設定するには AWS CloudHSM、以下が必要です。
+ 少なくとも 1 つの HSM を持つアクティブな AWS CloudHSM クラスター。
+ Windows OS が動作する Amazon EC2 インスタンスで、以下のソフトウェアがインストールされていることを確認します。
  + Windows 用の AWS CloudHSM クライアントソフトウェア。
  + Windows Server 用インターネットインフォメーションサービス (IIS)。
+ HSM でこのウェブサーバーのプライベートキーを所有および管理する [Crypto User](understanding-users.md#crypto-user-chsm-cli) (CU)。

**注記**  
このチュートリアルでは、Microsoft Windows Server 2019 を使用します。Microsoft Windows Server 2016 および 2022 もサポートされています｡

**Windows Server インスタンスをセットアップし、HSM で CU を作成するには**

1. 「[開始方法](getting-started.md)」のステップを完了します。Amazon EC2 クライアントを起動するときは、Windows Server 2019 AMI を選択します。これらのステップを完了すると、少なくとも 1 つの HSM を含むアクティブなクラスターが提供されます。Windows 用のクライアントソフトウェアがインストールされた状態で Windows Server を実行している Amazon EC2 AWS CloudHSM クライアントインスタンスもあります。

1. (オプション) 他の HSM をクラスターに追加します。詳細については、「[AWS CloudHSM クラスターへの HSM の追加](add-hsm.md)」を参照してください。

1. Windows Server に接続します。詳細については、「Amazon EC2 ユーザーガイド」の「[インスタンスに接続する](https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/EC2_GetStarted.html#ec2-connect-to-instance-windows)」を参照してください。**

1. CloudHSM CLI を使用して Crypto User (CU) を作成します。CU のユーザー名とパスワードを書き留めます。次のステップを完了するために必要になります。
**注記**  
ユーザーの作成については、「[CloudHSM CLI による HSM ユーザーの管理](manage-hsm-users-chsm-cli.md)」を参照してください。

1. 前のステップで作成した CU ユーザー名とパスワードを使用して、[HSM のログイン認証情報を設定します](ksp-library-authentication.md)。

1. ステップ 5 で、Windows 資格情報マネージャーを使用して HSM 認証情報を設定した場合は、SysInternals から [https://live.sysinternals.com/psexec.exe](https://live.sysinternals.com/psexec.exe) をダウンロードして、*NT Authority\\SYSTEM* として以下のコマンドを実行します。

   ```
   psexec.exe -s "C:\Program Files\Amazon\CloudHsm\tools\set_cloudhsm_credentials.exe" --username {{<USERNAME>}} --password {{<PASSWORD>}}
   ```

   {{<USERNAME>}} と {{<PASSWORD>}} を HSM 認証情報に置き換えてください。

**IIS を Windows Server にインストールするには**

1. Windows Server に接続していない場合は、接続します。詳細については、「Amazon EC2 ユーザーガイド」の「[インスタンスに接続する](https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/EC2_GetStarted.html#ec2-connect-to-instance-windows)」を参照してください。**

1. Windows Server で [**サーバーマネージャー**] を起動します。

1. [**サーバー マネージャー**] ダッシュボードで、[**役割と機能の追加**] を選択します。

1. [**開始する前に**] 情報を読み、[**次へ**] を選択します。

1. [**インストールのタイプ**] ページで、[**ロールベースまたは機能ベースのインストール**] を選択します。次いで、**[次へ]** を選択します。

1. [**サーバーの選択**] で、[**Select a server from the server pool (サーバープールからサーバーを選択する)**] を選択します。次いで、**[次へ]** を選択します。

1. [**Server Roles (サーバーの役割位)**] で、以下を実行します。

   1. [**Web Server (IIS)**] を選択します。

   1. [**Add features that are required for Web Server (IIS) (Web Server (IIS) に必要な機能を追加する)**] で、[**機能の追加**] を選択します。

   1. [**次へ**] を選択してサーバーロールの選択を完了します。

1. [**Features (機能)**] を選択し, 、デフォルト設定を使用します。次いで、**[次へ]** を選択します。

1. [**Web Server Role (IIS)**] の内容をお読みください。次いで、**[次へ]** を選択します。

1. [**Select role services (ロールサービスの追加)**] でデフォルトを受け入れるか、必要に応じて設定を変更します。次いで、**[次へ]** を選択します。

1. [**確認**] で確認情報を通読します。次に、[**インストール**] を選択します。

1. インストールが完了したら、[**Close**] をクリックします。

以上のステップが完了したら、「[ステップ 2: 証明書署名リクエスト (CSR) および証明書を作成する](#ssl-offload-windows-create-csr-and-certificate)」に進みます。

### クライアント SDK 3 の前提条件
<a name="ssl-offload-prerequisites-windows-sdk3"></a>

でウェブサーバーの SSL/TLS オフロードを設定するには AWS CloudHSM、以下が必要です。
+ 少なくとも 1 つの HSM を持つアクティブな AWS CloudHSM クラスター。
+ Windows OS が動作する Amazon EC2 インスタンスで、以下のソフトウェアがインストールされていることを確認します。
  + Windows 用の AWS CloudHSM クライアントソフトウェア。
  + Windows Server 用インターネットインフォメーションサービス (IIS)。
+ HSM でこのウェブサーバーのプライベートキーを所有および管理する [Crypto User](understanding-users.md#crypto-user-chsm-cli) (CU)。

**注記**  
このチュートリアルでは Microsoft Windows Server 2016 を使用します。また、Microsoft Windows Server 2012 もサポートされていますが、Microsoft Windows Server 2012 R2 はサポート対象外です。

**Windows Server インスタンスをセットアップし、HSM で CU を作成するには**

1. 「[開始方法](getting-started.md)」のステップを完了します。Amazon EC2 クライアントを起動する場合は、Windows Server 2016 または Windows Server 2012 AMI を選択します。これらのステップを完了すると、少なくとも 1 つの HSM を含むアクティブなクラスターが提供されます。Windows 用のクライアントソフトウェアがインストールされた状態で Windows Server を実行している Amazon EC2 AWS CloudHSM クライアントインスタンスもあります。

1. (オプション) 他の HSM をクラスターに追加します。詳細については、「[AWS CloudHSM クラスターへの HSM の追加](add-hsm.md)」を参照してください。

1. Windows Server に接続します。詳細については、「Amazon EC2 ユーザーガイド」の「[インスタンスに接続する](https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/EC2_GetStarted.html#ec2-connect-to-instance-windows)」を参照してください。**

1. CloudHSM CLI を使用して Crypto User (CU) を作成します。CU のユーザー名とパスワードを書き留めます。次のステップを完了するために必要になります。
**注記**  
ユーザーの作成については、「[CloudHSM CLI による HSM ユーザーの管理](manage-hsm-users-chsm-cli.md)」を参照してください。

1. 前のステップで作成した CU ユーザー名とパスワードを使用して、[HSM のログイン認証情報を設定します](ksp-library-prereq.md)。

1. ステップ 5 で、Windows 資格情報マネージャーを使用して HSM 認証情報を設定した場合は、SysInternals から [https://live.sysinternals.com/psexec.exe](https://live.sysinternals.com/psexec.exe) をダウンロードして、*NT Authority\\SYSTEM* として以下のコマンドを実行します。

   ```
   psexec.exe -s "C:\Program Files\Amazon\CloudHsm\tools\set_cloudhsm_credentials.exe" --username {{<USERNAME>}} --password {{<PASSWORD>}}
   ```

   {{<USERNAME>}} と {{<PASSWORD>}} を HSM 認証情報に置き換えてください。

**IIS を Windows Server にインストールするには**

1. Windows Server に接続していない場合は、接続します。詳細については、「Amazon EC2 ユーザーガイド」の「[インスタンスに接続する](https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/EC2_GetStarted.html#ec2-connect-to-instance-windows)」を参照してください。**

1. Windows Server で [**サーバーマネージャー**] を起動します。

1. [**サーバー マネージャー**] ダッシュボードで、[**役割と機能の追加**] を選択します。

1. [**開始する前に**] 情報を読み、[**次へ**] を選択します。

1. [**インストールのタイプ**] ページで、[**ロールベースまたは機能ベースのインストール**] を選択します。次いで、**[次へ]** を選択します。

1. [**サーバーの選択**] で、[**Select a server from the server pool (サーバープールからサーバーを選択する)**] を選択します。次いで、**[次へ]** を選択します。

1. [**Server Roles (サーバーの役割位)**] で、以下を実行します。

   1. [**Web Server (IIS)**] を選択します。

   1. [**Add features that are required for Web Server (IIS) (Web Server (IIS) に必要な機能を追加する)**] で、[**機能の追加**] を選択します。

   1. [**次へ**] を選択してサーバーロールの選択を完了します。

1. [**Features (機能)**] を選択し, 、デフォルト設定を使用します。次いで、**[次へ]** を選択します。

1. [**Web Server Role (IIS)**] の内容をお読みください。次いで、**[次へ]** を選択します。

1. [**Select role services (ロールサービスの追加)**] でデフォルトを受け入れるか、必要に応じて設定を変更します。次いで、**[次へ]** を選択します。

1. [**確認**] で確認情報を通読します。次に、[**インストール**] を選択します。

1. インストールが完了したら、[**Close**] をクリックします。

以上のステップが完了したら、「[ステップ 2: 証明書署名リクエスト (CSR) および証明書を作成する](#ssl-offload-windows-create-csr-and-certificate)」に進みます。

## ステップ 2: 証明書署名リクエスト (CSR) および証明書を作成する
<a name="ssl-offload-windows-create-csr-and-certificate"></a>

HTTPS を有効にするには、SSL/TLS 証明書とそれに対応するプライベートキーがウェブサーバーに必要です。で SSL/TLS オフロードを使用するには AWS CloudHSM、プライベートキーをクラスターの HSM に AWS CloudHSM 保存します。そのためには、[Microsoft の Cryptography API:Next Generation (CNG) のAWS CloudHSM キーストレージプロバイダー (KSP)](ksp-v3-library.md) を使用して、証明書署名リクエスト (CSR) を作成します。作成したら、その CSR を認証局 (CA) に送信します。これで、証明書を生成する CSR に署名されます。

**Topics**
+ [クライアント SDK 5 を使用して CSR を作成する](#ssl-offload-windows-create-csr-new-version)
+ [クライアント SDK 3 を使用して CSR を作成する](#ssl-offload-windows-create-csr-old-version)
+ [署名証明書を取得してインポートする](#ssl-offload-windows-create-certificate)

### クライアント SDK 5 を使用して CSR を作成する
<a name="ssl-offload-windows-create-csr-new-version"></a>

1. Windows Server では、テキストエディタを使用して証明書リクエストファイルを作成し、名前を `IISCertRequest.inf` とします。`IISCertRequest.inf` ファイルの内容の例を以下に示します。ファイルで指定可能なセクション、キー、値の詳細については、「[Microsoft のドキュメント](https://docs.microsoft.com/en-us/windows-server/administration/windows-commands/certreq_1#BKMK_New)」を参照してください。値 (`ProviderName`) は変更しないでください。

   ```
   [Version]
   Signature = "$Windows NT$"
   [NewRequest]
   Subject = "CN=example.com,C=US,ST=Washington,L=Seattle,O=ExampleOrg,OU=WebServer"
   HashAlgorithm = SHA256
   KeyAlgorithm = RSA
   KeyLength = 2048
   ProviderName = "CloudHSM Key Storage Provider"
   KeyUsage = 0xf0
   MachineKeySet = True
   [EnhancedKeyUsageExtension]
   OID=1.3.6.1.5.5.7.3.1
   ```

1. [Windows の **certreq** コマンド](https://docs.microsoft.com/en-us/windows-server/administration/windows-commands/certreq_1)を使用して、前のステップで作成した `IISCertRequest.inf` ファイルから CSR を作成します。以下の例では、CSR を `IISCertRequest.csr` という名前のファイルに保存します。証明書リクエストファイルに別のファイル名を使用した場合は、{{IISCertRequest.inf}} を適切なファイル名に置き換えます。CSR ファイルの {{IISCertRequest.csr}} は、必要に応じて、別のファイル名に置き換えることができます。

   ```
   C:\>certreq -new {{IISCertRequest.inf}} {{IISCertRequest.csr}}
   
   CertReq: Request Created
   ```

   `IISCertRequest.csr` ファイルには、CSR が含まれます。署名証明書を取得するには、この CSR が必要です。

### クライアント SDK 3 を使用して CSR を作成する
<a name="ssl-offload-windows-create-csr-old-version"></a>

1. Windows Server に接続していない場合は、接続します。詳細については、「Amazon EC2 ユーザーガイド」の「[インスタンスに接続する](https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/EC2_GetStarted.html#ec2-connect-to-instance-windows)」を参照してください。**

1. クライアント AWS CloudHSM デーモンを起動するには、次のコマンドを使用します。

------
#### [ Amazon Linux ]

   ```
   $ sudo start cloudhsm-client
   ```

------
#### [ Amazon Linux 2 ]

   ```
   $ sudo service cloudhsm-client start
   ```

------
#### [ CentOS 7 ]

   ```
   $ sudo service cloudhsm-client start
   ```

------
#### [ CentOS 8 ]

   ```
   $ sudo service cloudhsm-client start
   ```

------
#### [ RHEL 7 ]

   ```
   $ sudo service cloudhsm-client start
   ```

------
#### [ RHEL 8 ]

   ```
   $ sudo service cloudhsm-client start
   ```

------
#### [ Ubuntu 16.04 LTS ]

   ```
   $ sudo service cloudhsm-client start
   ```

------
#### [ Ubuntu 18.04 LTS ]

   ```
   $ sudo service cloudhsm-client start
   ```

------
#### [ Windows ]
   + Windows クライアント 1.1.2\+ の場合:

     ```
     C:\Program Files\Amazon\CloudHSM>net.exe start AWSCloudHSMClient
     ```
   + Windows クライアント 1.1.1 以前の場合。

     ```
     C:\Program Files\Amazon\CloudHSM>start "cloudhsm_client" cloudhsm_client.exe C:\ProgramData\Amazon\CloudHSM\data\cloudhsm_client.cfg
     ```

------

1. Windows Server では、テキストエディタを使用して証明書リクエストファイルを作成し、名前を `IISCertRequest.inf` とします。`IISCertRequest.inf` ファイルの内容の例を以下に示します。ファイルで指定可能なセクション、キー、値の詳細については、「[Microsoft のドキュメント](https://docs.microsoft.com/en-us/windows-server/administration/windows-commands/certreq_1#BKMK_New)」を参照してください。値 (`ProviderName`) は変更しないでください。

   ```
   [Version]
   Signature = "$Windows NT$"
   [NewRequest]
   Subject = "CN=example.com,C=US,ST=Washington,L=Seattle,O=ExampleOrg,OU=WebServer"
   HashAlgorithm = SHA256
   KeyAlgorithm = RSA
   KeyLength = 2048
   ProviderName = "Cavium Key Storage Provider"
   KeyUsage = 0xf0
   MachineKeySet = True
   [EnhancedKeyUsageExtension]
   OID=1.3.6.1.5.5.7.3.1
   ```

1. [Windows の **certreq** コマンド](https://docs.microsoft.com/en-us/windows-server/administration/windows-commands/certreq_1)を使用して、前のステップで作成した `IISCertRequest.inf` ファイルから CSR を作成します。以下の例では、CSR を `IISCertRequest.csr` という名前のファイルに保存します。証明書リクエストファイルに別のファイル名を使用した場合は、{{IISCertRequest.inf}} を適切なファイル名に置き換えます。CSR ファイルの {{IISCertRequest.csr}} は、必要に応じて、別のファイル名に置き換えることができます。

   ```
   C:\>certreq -new {{IISCertRequest.inf}} {{IISCertRequest.csr}}
           SDK Version: 2.03
   
   CertReq: Request Created
   ```

   `IISCertRequest.csr` ファイルには、CSR が含まれます。署名証明書を取得するには、この CSR が必要です。

### 署名証明書を取得してインポートする
<a name="ssl-offload-windows-create-certificate"></a>

本稼働環境では、通常、認証局 (CA) を使用して CSR から証明書を作成します。CA は、テスト環境では必要ありません。CA を使用する場合は、CSR ファイル (`IISCertRequest.csr`) を送信後、その CA を使用して署名済み SSL/TLS 証明書を作成します。

CA を使用する代わりに、[OpenSSL](https://www.openssl.org/) のようなツールを使用して、自己署名証明書を作成することもできます。

**警告**  
自己署名証明書はブラウザによって信頼されないため、本稼働環境では使用しないでください。これらは、テスト環境で使用することができます。

次の手順では、自己署名証明書を作成してウェブサーバーの CSR に署名する方法を示します。

**自己署名証明書を作成するには**

1. プライベートキーを作成するには、次の OpenSSL コマンドを使用します。{{SelfSignedCA.key}} は、必要に応じてプライベートキーを含むファイル名に置き換えることができます。

   ```
   openssl genrsa -aes256 -out {{SelfSignedCA.key}} 2048
   Generating RSA private key, 2048 bit long modulus
   ......................................................................+++
   .........................................+++
   e is 65537 (0x10001)
   Enter pass phrase for SelfSignedCA.key:
   Verifying - Enter pass phrase for SelfSignedCA.key:
   ```

1. OpenSSL コマンドを使用して、前のステップで作成したプライベートキーで自己署名証明書を作成します。これは対話型コマンドです。画面の指示を読み、プロンプトに従います。{{SelfSignedCA.key}} を、プライベートキーを含むファイルの名前に置き換えます (異なる場合)。{{SelfSignedCA.crt}} は、必要に応じて自己署名証明書を含むファイル名に置き換えることができます。

   ```
   openssl req -new -x509 -days 365 -key {{SelfSignedCA.key}} -out {{SelfSignedCA.crt}}
   Enter pass phrase for SelfSignedCA.key:
   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.
   -----
   Country Name (2 letter code) [AU]:
   State or Province Name (full name) [Some-State]:
   Locality Name (eg, city) []:
   Organization Name (eg, company) [Internet Widgits Pty Ltd]:
   Organizational Unit Name (eg, section) []:
   Common Name (e.g. server FQDN or YOUR name) []:
   Email Address []:
   ```

**自己署名証明書を使用してウェブサーバーの CSR に署名するには**
+ プライベートキーおよび自己署名証明書を使用して CSR に署名するには、次の OpenSSL コマンドを使用します。以下について、対応データを含むファイルの名前に置き換えます (異なる場合)。
  + {{IISCertRequest.csr}} - ウェブサーバーの CSR を含むファイルの名前です。
  + {{SelfSignedCA.crt}} - 自己署名証明書を含むファイルの名前です。
  + {{SelfSignedCA.key}} - プライベートキーを含むファイルの名前です。
  + {{IISCert.crt}} - ウェブサーバーの署名証明書を含むファイルの名前です。

  ```
  openssl x509 -req -days 365 -in {{IISCertRequest.csr}} \
                              -CA {{SelfSignedCA.crt}} \
                              -CAkey {{SelfSignedCA.key}} \
                              -CAcreateserial \
                              -out {{IISCert.crt}}
  Signature ok
  subject=/ST=IIS-HSM/L=IIS-HSM/OU=IIS-HSM/O=IIS-HSM/CN=IIS-HSM/C=IIS-HSM
  Getting CA Private Key
  Enter pass phrase for SelfSignedCA.key:
  ```

上記のステップが完了したら、ウェブサーバーの証明書 (`IISCert.crt`) と自己署名証明書 (`SelfSignedCA.crt`) への署名が完了です。これらのファイルがある場合は、「[ステップ 3: ウェブサーバーを設定する](#ssl-offload-configure-web-server-windows)」を参照してください。

## ステップ 3: ウェブサーバーを設定する
<a name="ssl-offload-configure-web-server-windows"></a>

「[前のステップ](#ssl-offload-windows-create-csr-and-certificate)」の最後に作成した HTTPS 証明書を使用するには、IIS ウェブサイトの設定を更新します。これで、 AWS CloudHSMを使用して、SSL/TLS オフロード用に Windows ウェブサーバーソフトウェア (IIS) を設定できます。

自己署名証明書を使用して、CSR に署名した場合は、まずその自己署名証明書を Windows Trusted Root Certification Authorities にインポートする必要があります。

**自己署名証明書を Windows Trusted Root Certification Authorities にインポートするには**

1. Windows Server に接続していない場合は、接続します。詳細については、「Amazon EC2 ユーザーガイド」の「[インスタンスに接続する](https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/EC2_GetStarted.html#ec2-connect-to-instance-windows)」を参照してください。**

1. 自己署名証明書を Windows server にコピーします。

1. Windows Server で、[**コントロールパネル**] を開きます。

1. [**Search Control Panel (コントロールパネルを検索)**] に **certificates** と入力します。続いて、[**Manage computer certificates (コンピュータ証明書の管理)**] を選択します。

1. [**証明書 (ローカル コンピューター)**] の [**信頼されたルート証明機関**] を展開します。

1. [**証明書**] を右クリックし、[**All Tasks (すべてのタスク)**]、[**インポート**] の順に選択します。

1. [**Certificate Import Wizard (証明書インポートウィザード)**] で [**次へ**] を選択します。

1. [**Browse (参照)**] を選択後、自己署名証明書を検索して選択します。「[このチュートリアルの前のステップ](#ssl-offload-windows-create-csr-and-certificate)」の手順に従って自己署名証明書を作成した場合、自己署名証明書の名前は、`SelfSignedCA.crt` です。**開く** をクリックします。

1. [**次へ**] を選択します。

1. [**証明書ストア**] で、[**Place all certificates in the following store (すべての証明書を以下のストアに配置)**] を選択します。次に、[**Trusted Root Certification Authorities**] が [**証明書ストア**] で選択されていることを確認します。

1. [**Next**] を選択し、[**Finish**] を選択します。

**IIS ウェブサイトの設定を更新するには**

1. Windows Server に接続していない場合は、接続します。詳細については、「Amazon EC2 ユーザーガイド」の「[インスタンスに接続する](https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/EC2_GetStarted.html#ec2-connect-to-instance-windows)」を参照してください。**

1.  AWS CloudHSM クライアントデーモンを起動します。

1. [このチュートリアルの前のステップ](#ssl-offload-windows-create-csr-and-certificate) の最後に作成したウェブサーバーの署名付き証明書を、Windowsサーバーにコピーします。

1. Windows Server では、[Windows の **certreq** コマンド](https://docs.microsoft.com/en-us/windows-server/administration/windows-commands/certreq_1)を使用して、以下の例のように署名証明書を受け入れます。{{IISCert.crt}} をウェブサーバーの署名証明書を含むファイルの名前に置き換えます。

   ```
   C:\>certreq -accept {{IISCert.crt}}
           SDK Version: 2.03
   ```

1. Windows Server で [**サーバーマネージャー**] を起動します。

1. [**Server Manager**] ダッシュボードの右上隅で、[**ツール**]、[**Internet Information Services (IIS) Manager**] の順に選択します。

1. [**Internet Information Services (IIS) Manager**] ウィンドウで、サーバー名をダブルクリックします。次に、[**Sites (サイト)**] をダブルクリックします。ウェブサイトを選択します。

1. [**SSL Settings (SSL 設定)**] を選択します。ウィンドウの右側の [**Bindings (バインディング)**] を選択します。

1. [**Site Bindings**] ウィンドウで、[**追加**] を選択します。

1. [**Type (タイプ)**] で、[**https**] を選択します。[**SSL 証明書**] で、「[このチュートリアルの前のステップ](#ssl-offload-windows-create-csr-and-certificate)」の最後に作成した HTTPS 証明書を選択します。
**注記**  
証明書のバインディング中にエラーが発生した場合は、サーバーを再起動し、このステップを再試行します。

1. [**OK**] を選択してください。

ウェブサイトの設定を更新したら、「[ステップ 4: HTTPS トラフィックを有効にして証明書を検証する](#ssl-offload-enable-traffic-and-verify-certificate-windows)」に移動します。

## ステップ 4: HTTPS トラフィックを有効にして証明書を検証する
<a name="ssl-offload-enable-traffic-and-verify-certificate-windows"></a>

で SSL/TLS オフロード用にウェブサーバーを設定したら AWS CloudHSM、インバウンド HTTPS トラフィックを許可するセキュリティグループにウェブサーバーインスタンスを追加します。これにより、ウェブブラウザなどのクライアントがウェブサーバーと HTTPS 接続を確立できるようになります。次に、ウェブサーバーに HTTPS 接続し、SSL/TLS オフロード用に設定した証明書を使用していることを確認します AWS CloudHSM。

**Topics**
+ [インバウンド HTTPS 接続の有効化](#ssl-offload-add-security-group-windows)
+ [設定した証明書が HTTPS で使用されていることを検証する](#ssl-offload-verify-https-connection-windows)

### インバウンド HTTPS 接続の有効化
<a name="ssl-offload-add-security-group-windows"></a>

クライアント (ウェブブラウザなど) からウェブサーバーに接続するには、インバウンド HTTPS 接続を許可するセキュリティグループを作成します。具体的には、ポート 443 でインバウンドの TCP 接続を許可する必要があります。このセキュリティグループをウェブサーバーに割り当てます。

**HTTPS のセキュリティグループを作成してウェブサーバーに割り当てるには**

1. Amazon EC2 コンソールの [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/) を開いてください。

1. ナビゲーションペインで、[**セキュリティグループ**] を選択します。

1. **[Create Security Group]** を選択します。

1. [**Create Security Group**] で、以下の操作を行います。

   1. [**Security group name**] に、作成するセキュリティグループの名前を入力します 

   1. (オプション) 作成するセキュリティグループの説明を入力します。

   1. [**VPC**] で、ウェブサーバーのAmazon EC2インスタンスが含まれている VPC を選択します。

   1. [**Add rule (ルールの追加)**] を選択します。

   1. [**タイプ**] で、ドロップダウンウィンドウから [**HTTPS**] を選択します。

   1. [**ソース**] には、ソースの場所を入力します。

   1. **[セキュリティグループの作成]** を選択してください。

1. ナビゲーションペインで、[**インスタンス**] を選択してください。

1. ウェブサーバーインスタンスの横にあるチェックボックスを選択します。

1. ページの上部で [**アクション**] ドロップダウンメニューを選択します。[**セキュリティ**] を選択し、[**セキュリティグループの変更**] を選択します。

1. [**関連付けられたセキュリティグループ**] で、検索ボックスを選択して HTTPS 用に作成したセキュリティグループを選択します。次に、[**セキュリティグループの追加**] を選択します。

1. **[保存]** を選択します。

### 設定した証明書が HTTPS で使用されていることを検証する
<a name="ssl-offload-verify-https-connection-windows"></a>

ウェブサーバーをセキュリティグループに追加した後、SSL/TLS オフロードが自己署名証明書を使用していることを確認できます。この検証には、ウェブブラウザ、または [OpenSSL s\_client](https://www.openssl.org/docs/manmaster/man1/s_client.html) などのツールを使用できます。

**ウェブブラウザで SSL/TLS オフロードを確認するには**

1. ウェブブラウザを使用し、サーバーの公開 DNS 名または IP アドレスを使用してウェブサーバーに接続します。アドレスバーの URL が https:// で始まっていることを確認します。例えば、**https://ec2-52-14-212-67.us-east-2.compute.amazonaws.com/**。
**ヒント**  
Amazon Route 53 などの DNS サービスを使用して、ウェブサイトのドメイン名 (https://www.example.com/ など) をウェブサーバーにルーティングできます。詳細については、*Amazon Route 53 開発者ガイド* の [Amazon EC2 インスタンスへのトラフィックのルーティング](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/routing-to-ec2-instance.html) または DNS サービスのドキュメントを参照してください。

1. ウェブブラウザを使用して、ウェブサーバー証明書を表示します。詳細については次を参照してください:
   + Mozilla Firefox の場合は、Mozilla サポートウェブサイトの「[証明書を見る](https://support.mozilla.org/en-US/kb/secure-website-certificate#w_view-a-certificate)」を参照してください。
   + Google Chrome の場合は、ウェブ開発者向け Google ツールのウェブサイトで「[セキュリティの問題を理解する](https://developers.google.com/web/tools/chrome-devtools/security)」を参照してください。

   他のウェブブラウザでも、同様の機能を使用してウェブサーバー証明書を表示できる場合があります。

1. SSL/TLS 証明書が、ウェブサーバーに設定したものであることを確認してください。

**OpenSSL s\_client で SSL/TLS オフロードを確認するには**

1. HTTPS を使用してウェブサーバーに接続するには、次の OpenSSL コマンドを実行します。{{<サーバー名>}} は、ウェブサーバーの公開 DNS 名または IP アドレスに置き換えます。

   ```
   openssl s_client -connect {{<server name>}}:443
   ```
**ヒント**  
Amazon Route 53 などの DNS サービスを使用して、ウェブサイトのドメイン名 (https://www.example.com/ など) をウェブサーバーにルーティングできます。詳細については、*Amazon Route 53 開発者ガイド* の [Amazon EC2 インスタンスへのトラフィックのルーティング](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/routing-to-ec2-instance.html) または DNS サービスのドキュメントを参照してください。

1. SSL/TLS 証明書が、ウェブサーバーに設定したものであることを確認してください。

これで、ウェブサイトが HTTPS で保護されるようになりました。ウェブサーバーのプライベートキーは、 AWS CloudHSM クラスターの HSM に保存されます。

ロードバランサーを追加するには、「[Elastic Load Balancing for でロードバランサーを追加する AWS CloudHSM(オプション)](third-offload-add-lb.md)」を参照してください。