

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

# Lightsail で HTTPS を使用して WordPress サイトを保護する
<a name="amazon-lightsail-enabling-https-on-wordpress"></a>

WordPress のウェブサイトでハイパーテキスト転送プロトコルセキュア（HTTPS）を有効にすることによって、訪問者がウェブサイトが安全であること、暗号化されたデータを送受信していることを保証します。セキュリティで保護されていないウェブサイトのアドレスは `http://example.com` などの、`http` で始まり、セキュリティで保護されたウェブサイトのアドレスは `https://example.com` などの `https` で始まります。ウェブサイトが主に情報提供を目的としたものでも、HTTPS を有効にすることをお勧めします。これは、HTTPS が有効になっていない場合、ほとんどのウェブブラウザがウェブサイトの訪問者にウェブサイトが安全でないことを通知し、その結果ウェブサイトの検索エンジンの結果でランクが下がるためです。

**ヒント**  
Lightsail は、WordPress インスタンスでの SSL/TLS Let's Encrypt 証明書のインストールと設定を自動化するガイド付きワークフローを提供します。このチュートリアルの手動手順を実行する代わりに、このワークフローを使用することが強く推奨されます。詳細については、「[Launch and configure a WordPress instance](amazon-lightsail-tutorial-launching-and-configuring-wordpress.md)」を参照してください。

このガイドでは、Bitnami HTTPS 設定ツール (`bncert`) を使用して、HTTPS をAmazon Lightsailの* Bitnam により保証された* WordPress インスタンスで有効化する方法を説明します。これは、リクエスト時に指定するドメインおよびサブドメインに対してのみ証明書を要求することを許可します。また Certbot を使用して、ドメインに証明書を、そしてサブドメインにワイルドカード証明書をリクエストできます。ワイルドカード証明書はドメインの*すべての*サブドメインに使用できます。これは、トラフィックをインスタンスに誘導するために使用するサブドメインがどれかわからない場合に役立ちます。ただし、`bncert` ツールと違い、Certbot は証明書を自動的に更新しません。Certbot を使用する場合は、90 日ごとに証明書を手動で更新する必要があります。Certbot を使用して HTTPS を有効にする方法の詳細については、[「チュートリアル: WordPress インスタンスで Let's Encrypt の SSL 証明書を使用する](amazon-lightsail-using-lets-encrypt-certificates-with-wordpress.md)」を参照してください。

**目次**
+ [ステップ 1: プロセスについて学ぶ](#https-process-wordpress)
+ [ステップ 2: 前提条件を完了させる](#https-prerequisites-wordpress)
+ [ステップ 3: インスタンスに接続する](#https-wordpress-connect-to-instance)
+ [ステップ 4: インスタンスに bncert ツールがインストールされていることを確認](#https-wordpress-bncert-install)
+ [ステップ 5: WordPress インスタンスで HTTPS を有効にする](#https-wordpress-enable)
+ [ステップ 6: ウェブサイトで HTTPS を使用しているかテストする](#test-https-on-your-website)

## ステップ 1: プロセスについて学ぶ
<a name="https-process-wordpress"></a>

**注記**  
このセクションでは、プロセスの高度な概要を説明します。このプロセスを実行する具体的なステップについては、このガイドの以降のステップで説明します。

WordPress のウェブサイトで HTTPS を有効にするには、SSH を使用してLightsail インスタンスに接続して、`bncert` ツールを使用して SSL/TLS 証明書を [Let's Encrypt](https://letsencrypt.org/about/) 認証機関から要求します。証明書をリクエストする際は、ウェブサイトのプライマリドメイン (`example.com`) や代替ドメイン (`www.example.com` や `blog.example.com` など）を指定します。Let's Encrypt は、ドメインの DNS で TXT レコードを作成するように求めるか、またはそれらのドメインがリクエスト元のインスタンスのパブリック IP アドレスにトラフィックをすでに送信していることを確認することによって、ドメインを所有していることを確認します。

証明書が検証されたら、WordPress のウェブサイトを構成して、HTTP から HTTPS へ訪問者を自動的にリダイレクト (`http://example.com` から `https://example.com` にリダイレクト) し、訪問者が暗号化された接続を使用するように強制します。また、`www` サブドメインをドメインの頂点 (`https://www.example.com` を `https://example.com` にリダイレクト) またはその逆 (`https://example.com` を `https://www.example.com` にリダイレクト) に自動的にリダイレクトするようにウェブサイトを設定することもできます。これらのリダイレクトは、`bncert` ツールを使って設定することもできます。

Let's Encrypt では、ウェブサイトで HTTPS を維持するために 90 日ごとに証明書を更新する必要があります。`bncert` ツールは証明書を自動的に更新するので、ウェブサイトに専念する時間を増やすことができます。

**bncert ツールの制限事項**

`bncert` ツールには次の制約事項があります。
+ *Certified by Bitnam* WordPress インスタンスの作成時にプリインストールされていません。Lightsail で作成されてしばらく経っている WordPress のインスタンスでは、`bncert` ツールを手動でインストールする必要があります このガイドのステップ 4 は、ツールがインスタンスにインストールされていることを確認する方法と、されていない場合にインストールする方法を示します。
+ 証明書をリクエストできるのは、リクエスト時に指定したドメインおよびサブドメインに対してのみです。ドメインの証明書とサブドメインのワイルドカード証明書のリクエストを可能にする Certbot ツールとは異なります。ワイルドカード証明書は*どの*サブドメインにも使用できます。これは、トラフィックをインスタンスに誘導するために使用するサブドメインがわからない場合に役立ちます。ただし、`bncert` ツールと違い、Certbot は証明書を自動的に更新しません。Certbot を使用する場合は、90 日ごとに証明書を手動で更新する必要があります。Certbot を使用して HTTPS を有効にする方法の詳細については、[「チュートリアル: WordPress インスタンスで Let's Encrypt の SSL 証明書を使用するAmazon Lightsail」](amazon-lightsail-using-lets-encrypt-certificates-with-wordpress.md)を参照してください。

## ステップ 2: 前提条件を完了させる
<a name="https-prerequisites-wordpress"></a>

以下の前提条件を満たします (まだ満たしていない場合)。
+ Lightsail で WordPress インスタンスを作成し、インスタンスと動作するようにウェブサイトを設定します。詳細については、「[Amazon Lightsail で Linux/Unix ベースのインスタンスの使用を開始する](getting-started-with-amazon-lightsail.md)」を参照してください。
+ 静的 IP をインスタンスに添付します。インスタンスを停止してまた開始すると、インスタンスのパブリック IP アドレスは変わります。インスタンスを停止して開始しても、静的 IP は変更されません。詳細については、[「静的 IP を作成して Amazon Lightsail インスタンスにアタッチする」](lightsail-create-static-ip.md)を参照してください。
+ WordPress インスタンスの設定が完了したら、そのスナップショットを作成するか、自動スナップショットを有効にします。スナップショットは、インスタンスに何か問題が発生した場合、これを元に別のインスタンスを作成できるバックアップとして使用できます。詳細については、「[Linux または Unix インスタンスのスナップショットを作成する](lightsail-how-to-create-a-snapshot-of-your-instance.md)」または「[Amazon Lightsail のインスタンスまたはディスクの自動スナップショットの有効化と無効化](amazon-lightsail-configuring-automatic-snapshots.md)」を参照してください。
+ ドメインの頂点 (`example.com`) とその `www` サブドメイン（`www.example.com`）のトラフィックを、Lightsail のWordPress インスタンスのパブリックIPアドレスに誘導するDNSレコードを、ドメインのDNSに追加します。これらのアクションは、ドメインの現在の DNS ホスティングプロバイダーで実行することができます。ドメインの DNS の管理を Lightsail に引き渡した場合は、Lightsail の DNS ゾーンを使用してこれらのアクションを完了できます。詳細については、「[DNS](understanding-dns-in-amazon-lightsail.md)」を参照してください。
**重要**  
WordPress のウェブサイトで使用するすべてのドメインの DNS に DNS レコードを追加します。これらのドメインはすべて、WordPress ウェブサイトのパブリック IP アドレスにトラフィックをルーティングしている必要があります。`bncert` ツールは、WordPress インスタンスのパブリック IP アドレスに現在トラフィックを誘導しているドメインに対してのみ証明書を発行します。

## ステップ 3: インスタンスに接続する
<a name="https-wordpress-connect-to-instance"></a>

次のステップに従って、Lightsail コンソールでブラウザベースの SSH クライアントを使用して WordPress インスタンスに接続します。

1. [Lightsail コンソール](https://lightsail.aws.amazon.com/) にサインインします。

1. 左側のナビゲーションペインで、WordPress インスタンスの SSH クイック接続アイコンを選択します。  
![\[Lightsail のホームページの SSH クイック接続。\]](http://docs.aws.amazon.com/ja_jp/lightsail/latest/userguide/images/amazon-lightsail-wordpress-ssh-quick-connect.png)

   ブラウザベースの SSH クライアントターミナルウィンドウが開きます。SSH 経由でインスタンスに正常に接続されていると、次の例に示すように Bitnami ロゴが表示されます。  
![\[Lightsail コンソールでのブラウザベースの SSH クライアントターミナルウィンドウ。\]](http://docs.aws.amazon.com/ja_jp/lightsail/latest/userguide/images/amazon-lightsail-ssh-session-bncert.png)

## ステップ 4: インスタンスに bncert ツールがインストールされていることを確認
<a name="https-wordpress-bncert-install"></a>

次のステップを完了して Bitnami HTTPS 設定ツール (`bncert`) がインスタンスにインストールされていることを確認します。このツールは *Certified by Bitnam* WordPress インスタンスの作成時にプリインストールされません。しばらく前に Lightsail で作成されたWordPress のインスタンスは、`bncert` ツールを手動でインストールすることを必要とします。このステップでは、ツールがインストールされていない場合にツールをインストールする方法を説明します。



1. `bncert` ツールを実行するには、次のコマンドを入力します。

   ```
   sudo /opt/bitnami/bncert-tool
   ```
   + 次の例に示すように、`command not found` が応答で表示された場合、これは `bncert` ツールがインストールされていないことを示します。このステップの次のステップに進み、`bncert` ツールをインスタンスにインストールします。
**重要**  
`bncert` ツールを使用できるのは、*Certified by Bitnam* の WordPress インスタンスのみです。または、Certbot ツールを使用して、WordPress インスタンスで HTTPS を有効化することもできます。詳細に関しては、「[チュートリアル: WordPress インスタンスで Let's Encrypt の SSL 証明書を使用する](amazon-lightsail-using-lets-encrypt-certificates-with-wordpress.md)」を参照してください。  
![\[bncert ツールがインストールされていないことを確認するメッセージ\]](http://docs.aws.amazon.com/ja_jp/lightsail/latest/userguide/images/run-bncert-tool-fail.png)
   + 次の例に示すように、`Welcome to the Bitnami HTTPS configuration tool` がレスポンスで表示された場合は、`bncert` ツールがインストールされていることを示します。本ガイドの、[「ステップ 5: WordPress インスタンスで HTTPS を有効にする」](#https-wordpress-enable)セクションに進んでください。  
![\[bncert ツールがインストールされていることを確認するメッセージ\]](http://docs.aws.amazon.com/ja_jp/lightsail/latest/userguide/images/run-bncert-tool-success.png)

1. 以下のコマンドを入力して、`bncert` 実行ファイルをインスタンスにダウンロードします。

   ```
   wget -O bncert-linux-x64.run https://downloads.bitnami.com/files/bncert/latest/bncert-linux-x64.run
   ```

1. 以下のコマンドを入力して、`bncert` 実行ファイルへのディレクトリを作成します。

   ```
   sudo mkdir /opt/bitnami/bncert
   ```

1. 以下のコマンドを入力して、ダウンロードした `bncert` 実行ファイルを、作成した新しいディレクトリに移動させます。

   ```
   sudo mv bncert-linux-x64.run /opt/bitnami/bncert/
   ```

1. 以下のコマンドを入力して、プログラムとして実行できるファイルを `bncert` に実行させます。

   ```
   sudo chmod +x /opt/bitnami/bncert/bncert-linux-x64.run
   ```

1. 次のコマンドを入力することによって、`sudo /opt/bitnami/bncert-tool` コマンドを入力すると `bncert` ツールを実行するシンボリックリンクを作成します。

   ```
   sudo ln -s /opt/bitnami/bncert/bncert-linux-x64.run /opt/bitnami/bncert-tool
   ```

   これで `bncert` ツールのインストールは完了しました。本ガイドの[「ステップ 5: WordPress インスタンスで HTTPS を有効にする」](#https-wordpress-enable)のセクションに進んでください。

## ステップ 5: WordPress インスタンスで HTTPS を有効にする
<a name="https-wordpress-enable"></a>

`bncert` ツールがインスタンスにインストールされていることを確認したあと、次のステップを実行して WordPress インスタンスで HTTPS を有効にします。

1. `bncert` ツールを実行するには、次のコマンドを入力します。

   ```
   sudo /opt/bitnami/bncert-tool
   ```

   次の例に示すようなメッセージが表示されます。  
![\[bncert ツールの実行\]](http://docs.aws.amazon.com/ja_jp/lightsail/latest/userguide/images/run-bncert-tool-success.png)

   `bncert` ツールがしばらく前にインスタンスにインストールされていると、ツールの更新バージョンが利用可能であることを示すメッセージが表示される場合があります。次の例に示すように、ダウンロードすることを選択し、`sudo /opt/bitnami/bncert-tool` コマンドを入力して `bncert` ツールを再度実行します。  
![\[bncert ツールの新しいバージョンが利用可能であることを示すメッセージ\]](http://docs.aws.amazon.com/ja_jp/lightsail/latest/userguide/images/bncert-update-required.png)

1. 次の例に示すように、プライマリドメイン名と代替ドメイン名の間はスペースで区切って入力します。

   ドメインがインスタンスのパブリック IP アドレスにトラフィックをルーティングするように設定されていない場合、`bncert` ツールは、続行する前にその設定を行うように要求します。ドメインは、`bncert` ツールを使用して HTTPS を有効にしているインスタンスでのパブリック IP アドレスにトラフィックをルーティングする必要があります。これはドメインを所有していることを確認し、証明書の検証として機能します。  
![\[プライマリドメイン名と代替ドメイン名の入力\]](http://docs.aws.amazon.com/ja_jp/lightsail/latest/userguide/images/bncert-domain-names.png)

1. `bncert` ツールは、ウェブサイトのリダイレクトの設定方法を尋ねます。使用できるオプションは次のとおりです。
   + HTTP から HTTPS へのリダイレクトを有効にする - HTTP バージョンのウェブサイトを閲覧するユーザー (例: `http:/example.com`) を自動的に HTTPS バージョン (例: `https://example.com`) にリダイレクトするかどうかを決定します。すべての訪問者が暗号化された接続を使用するように強制されるため、このオプションを有効にすることをお勧めします。`Y` を入力して **Enter** を押すると、有効になります。
   + www なしから www ありへのリダイレクトの有効化 - ドメインの頂点 (例: `https://example.com`) まで閲覧するユーザー を自動的にドメインの `www` サブドメイン (例: `https://www.example.com`) にリダイレクトするかを指定します。このオプションを有効にすることをお勧めします。ただし、ドメインの頂点を Google のウェブマスターツールなどの検索エンジンツールで希望のウェブサイトアドレスとして指定した場合、または頂点が IP を直接指しており、`www` のサブドメインが CNAME レコードを介してリファレンスしている場合は、無効にして代替オプションを有効にすることをお勧めします（`www` ありから `www` なしへのリダイレクトを有効化）。`Y` を入力し、**Enter** を押して有効にします。
   + www ありから www なしへのリダイレクトを有効にする - ドメインの `www` サブドメイン (例: `https://www.example.com`）まで閲覧するユーザーを、自動的にドメインの頂点 (例: `https://example.com`) にリダイレクトするかを指定します。`www` なしから `www` ありへのリダイレクトを有効にした場合は、これを無効にすることをお勧めします。`N` を入力し、**Enter** を押して無効にします。

   選択した結果は次の例のようになります。  
![\[ウェブサイトのリダイレクトオプション\]](http://docs.aws.amazon.com/ja_jp/lightsail/latest/userguide/images/bncert-enable-disable-redirection.png)

1. これから実行される変更が一覧表示されます。`Y` と入力し、**Enter** を押して確認し、続行します。  
![\[変更の確認\]](http://docs.aws.amazon.com/ja_jp/lightsail/latest/userguide/images/bncert-confirm-changes.png)

1. Let's Encrypt 証明書に関連付けるメールアドレスを入力し、**Enter** を押します。  
![\[E メールアドレスを Let's Encrypt 証明書に関連付ける\]](http://docs.aws.amazon.com/ja_jp/lightsail/latest/userguide/images/bncert-email-address.png)

1. Let's Encrypt サブスクライバー合意書を確認します。`Y` と入力し、**Enter** を押して契約に同意し、続行します。  
![\[Let's Encrypt サブスクライバー契約を確認する\]](http://docs.aws.amazon.com/ja_jp/lightsail/latest/userguide/images/bncert-lets-ecrypt-agreement.png)

   これらのアクションは、証明書のリクエストや指定したリダイレクトの設定など、インスタンスで HTTPS を有効にするために実行されます。  
![\[実行中のアクション\]](http://docs.aws.amazon.com/ja_jp/lightsail/latest/userguide/images/bncert-performing-actions.png)

   次の例のようなメッセージが表示された場合は、証明書は正常に発行され、検証され、インスタンスでリダイレクトが正常に設定されています。  
![\[アクションが正常に完了しました\]](http://docs.aws.amazon.com/ja_jp/lightsail/latest/userguide/images/bncert-success-conf.png)

   `bncert` ツールは、有効期限が切れる前、 80 日ごとに証明書の自動更新を実行します。インスタンスで追加のドメインやサブドメインを使用し、それらのドメインで HTTPS を有効にする場合は、上記のステップを繰り返します。

   これで、WordPress インスタンスでの HTTPS の有効化が完了しました。本ガイドの[ステップ 6: ウェブサイトで HTTPS を使用しているかどうかをテストする](#test-https-on-your-website)セクションに進んでください。

## ステップ 6: ウェブサイトで HTTPS を使用しているかどうかをテストする
<a name="test-https-on-your-website"></a>

WordPress インスタンスで HTTPS を有効にしたら、`bncert` ツールを使用して指定したドメインを全て参照し、ウェブサイトが HTTPS を使用していることを確認する必要があります。次の例に示すように、各ドメインにアクセスすると、セキュリティで保護された接続を使用していることがわかります。

**注記**  
変更を確認するには、ブラウザのキャッシュを更新し、消去する必要がある場合もあります。

![\[セキュアなウェブサイトの確認\]](http://docs.aws.amazon.com/ja_jp/lightsail/latest/userguide/images/bncert-secured-website.png)


`bncert` ツールの実行時に選択したオプションに応じて、`www` なしアドレスがドメインの `www` ありサブドメインへリダイレクトするか、その逆が実行されます。