Lightsail で HTTPS を使用して WordPress サイトを保護する - Amazon Lightsail

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

Lightsail で HTTPS を使用して WordPress サイトを保護する

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

ヒント

Lightsail には、 WordPress インスタンスでの SSL/TLS Let's Encrypt 証明書のインストールと設定を自動化するガイド付きワークフローが用意されています。このチュートリアルの手動ステップに従う代わりに、ワークフローを使用することを強くお勧めします。詳細については、 WordPress 「インスタンスの起動と設定」を参照してください。

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

目次

ステップ 1: プロセスについて学ぶ

注記

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

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

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

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

bncert ツールの制限事項

bncert ツールには次の制約事項があります。

  • 作成時に Bitnami によって認定 WordPressされたすべてのインスタンスにプリインストールされているわけではありません。しばらくの間 Lightsail で作成された WordPress インスタンスでは、bncertツールを手動でインストールする必要があります。このガイドのステップ 4 は、ツールがインスタンスにインストールされていることを確認する方法と、されていない場合にインストールする方法を示します。

  • 証明書をリクエストできるのは、リクエスト時に指定したドメインおよびサブドメインに対してのみです。ドメインの証明書とサブドメインのワイルドカード証明書のリクエストを可能にする Certbot ツールとは異なります。ワイルドカード証明書はどのサブドメインにも使用できます。これは、トラフィックをインスタンスに誘導するために使用するサブドメインがわからない場合に役立ちます。ただし、bncert ツールと違い、Certbot は証明書を自動的に更新しません。Certbot を使用する場合は、90 日ごとに証明書を手動で更新する必要があります。Certbot を使用して HTTPS を有効にする方法の詳細については、「チュートリアル: Amazon Lightsail の WordPress インスタンスで Let's Encrypt SSL 証明書を使用する Amazon Lightsail」を参照してください。

ステップ 2: 前提条件を完了させる

以下の前提条件を満たします (まだ満たしていない場合)。

  • Lightsail で WordPress インスタンスを作成し、インスタンスでウェブサイトを設定します。詳細については、Amazon Lightsail」を参照してください。

  • 静的 IP をインスタンスに添付します。インスタンスを停止してまた開始すると、インスタンスのパブリック IP アドレスは変わります。インスタンスを停止してまた開始しても、静的 IP は変更されません。詳細については、「静的 IP を作成してAmazon Lightsail のインスタンスにアタッチする」を参照してください。

  • WordPress インスタンスの設定が完了したら、インスタンスのスナップショットを作成するか、自動スナップショットを有効にします。スナップショットは、インスタンスに何か問題が発生した場合、これを元に別のインスタンスを作成できるバックアップとして使用できます。詳細については、「Linux または Unix インスタンスのスナップショットを作成する」またはAmazon Lightsail」を参照してください。

  • ドメインの頂点 (example.com) とそのwwwサブドメイン () のトラフィックを Lightsail の WordPress インスタンスのパブリック IP アドレスに送信する DNS レコードwww.example.comをドメインの DNS に追加します。これらのアクションは、ドメインの現在の DNS ホスティングプロバイダーで実行することができます。または、ドメインの DNS の管理を Lightsail に移管した場合は、Lightsail の DNS ゾーンを使用してこれらのアクションを実行できます。詳細については、「DNS」を参照してください。

    重要

    ウェブサイトで使用するすべてのドメインの DNS に DNS WordPressレコードを追加します。これらのドメインはすべて、 WordPress ウェブサイトのパブリック IP アドレスにトラフィックをルーティングする必要があります。このbncertツールは、現在インスタンスのパブリック IP アドレスにトラフィックをルーティングしているドメインに対してのみ証明書を発行します WordPress。

ステップ 3: インスタンスに接続する

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

  1. Lightsail コンソール にサインインします。

  2. Lightsail ホームページで、インスタンスの WordPress SSH クイック接続アイコンを選択します。

    Lightsail ホームページの SSH クイック接続。

    ブラウザベースの SSH クライアントターミナルウィンドウが開きます。SSH 経由でインスタンスに正常に接続されていると、次の例に示すように Bitnami ロゴが表示されます。

    Lightsail コンソールのブラウザベースの SSH クライアントターミナルウィンドウ。

ステップ 4: インスタンスに bncert ツールがインストールされていることを確認

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

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

    sudo /opt/bitnami/bncert-tool
    • 次の例に示すように、command not found が応答で表示された場合、これは bncert ツールがインストールされていないことを示します。このステップの次のステップに進み、bncert ツールをインスタンスにインストールします。

      重要

      このbncertツールは、Bitnami によって認定された WordPress インスタンスでのみ使用できます。または、Certbot ツールを使用して WordPress インスタンスで HTTPS を有効にすることもできます。詳細については、「チュートリアル: インスタンスで Let's Encrypt SSL 証明書を使用する WordPress」を参照してください。

      bncert ツールがインストールされていないことを確認するメッセージ
    • 次の例に示すように、Welcome to the Bitnami HTTPS configuration tool がレスポンスで表示された場合は、bncert ツールがインストールされていることを示します。このガイドの「ステップ 5: WordPress インスタンスで HTTPS を有効にする」セクションに進みます。

      bncert ツールがインストールされていることを確認するメッセージ
  2. 以下のコマンドを入力して、bncert 実行ファイルをインスタンスにダウンロードします。

    wget -O bncert-linux-x64.run https://downloads.bitnami.com/files/bncert/latest/bncert-linux-x64.run
  3. 以下のコマンドを入力して、bncert 実行ファイルへのディレクトリを作成します。

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

    sudo mv bncert-linux-x64.run /opt/bitnami/bncert/
  5. 以下のコマンドを入力して、プログラムとして実行できるファイルを bncert に実行させます。

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

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

    これで bncert ツールのインストールは完了しました。このガイドの「ステップ 5: WordPress インスタンスで HTTPS を有効にする」セクションに進みます。

ステップ 5: インスタンスで WordPress HTTPS を有効にする

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

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

    sudo /opt/bitnami/bncert-tool

    次の例に示すようなメッセージが表示されます。

    bncert ツールの実行

    bncert ツールがしばらく前にインスタンスにインストールされていると、ツールの更新バージョンが利用可能であることを示すメッセージが表示される場合があります。次の例に示すように、ダウンロードすることを選択し、sudo /opt/bitnami/bncert-tool コマンドを入力して bncert ツールを再度実行します。

    bncert ツールの新しいバージョンが利用可能であることを示すメッセージ
  2. 次の例に示すように、プライマリドメイン名と代替ドメイン名の間はスペースで区切って入力します。

    ドメインがインスタンスのパブリック IP アドレスにトラフィックをルーティングするように設定されていない場合、bncert ツールは、続行する前にその設定を行うように要求します。ドメインは、bncert ツールを使用して HTTPS を有効にしているインスタンスでのパブリック IP アドレスにトラフィックをルーティングする必要があります。これはドメインを所有していることを確認し、証明書の検証として機能します。

    プライマリドメイン名と代替ドメイン名の入力
  3. 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 を押して無効にします。

    選択した結果は次の例のようになります。

    ウェブサイトのリダイレクトオプション
  4. これから実行される変更が一覧表示されます。Y と入力し、Enter を押して確認し、続行します。

    変更の確認
  5. Let's Encrypt 証明書に関連付けるメールアドレスを入力し、Enter を押します。

    E メールアドレスを Let's Encrypt 証明書に関連付ける
  6. Let's Encrypt サブスクライバー合意書を確認します。Y と入力し、Enter を押して契約に同意し、続行します。

    Let's Encrypt サブスクライバー契約を確認する

    これらのアクションは、証明書のリクエストや指定したリダイレクトの設定など、インスタンスで HTTPS を有効にするために実行されます。

    実行中のアクション

    次の例のようなメッセージが表示された場合は、証明書は正常に発行され、検証され、インスタンスでリダイレクトが正常に設定されています。

    アクションが正常に完了しました

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

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

ステップ 6: ウェブサイトで HTTPS を使用しているかどうかをテストする

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

注記

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

セキュアなウェブサイトの確認

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