Lightsail コンテンツ配信ネットワークで WordPress を設定する - Amazon Lightsail

Lightsail コンテンツ配信ネットワークで WordPress を設定する

このガイドでは、Amazon Lightsail ディストリビューションと動作するように WordPress インスタンスを設定する方法について説明します。

すべての Lightsail ディストリビューションは、デフォルトドメインとして HTTPS がデフォルトで有効になっています (例えば: 123456abcdef.cloudfront.net)。ディストリビューションの設定により、ディストリビューションとインスタンス間の接続が暗号化されているかどうかが決まります。

  • WordPress ウェブサイトは HTTP のみを使用しています – ウェブサイトがディストリビューションのオリジンとして HTTP のみを使用し、HTTPS を使用するように設定されていない場合、暗号化されていない接続を使用して SSL/TLS を終了し、すべてのコンテンツリクエストをインスタンスに転送するようにディストリビューションを設定できます。

  • HTTPS を使用する WordPress ウェブサイト – ウェブサイトがディストリビューションのオリジンとして HTTPS を使用する場合、暗号化された接続を使用してすべてのコンテンツリクエストをインスタンスに転送するようにディストリビューションを設定できます。この設定は、エンドツーエンド暗号化と呼ばれます。

ディストリビューションを作成する

WordPress インスタンスの Lightsail ディストリビューションを設定するには、次の手順を実行します。詳細については、「Lightsail コンテンツ配信ネットワークディストリビューションを作成する」を参照してください。

前提条件

Lightsail で WordPress を起動して設定する の説明に従って WordPress インスタンスを作成して設定します。

WordPress インスタンスのディストリビューションを作成するには
  1. 左側のナビゲーションペインで、[ネットワーク] を選択します。

  2. [ディストリビューションの作成] を選択します。

  3. [オリジンを選択する] では、WordPress インスタンスを実行しているリージョンを選択し、WordPress インスタンスを選択します。インスタンスにアタッチした静的 IP アドレスが自動的に使用されます。

  4. [キャッシュ動作] で、[WordPress に最適] を選択します。

  5. (選択可能) エンドツーエンドの暗号化を設定するには、オリジンプロトコルポリシーを [HTTPS のみ] に変更します。詳細については、「オリジンプロトコルポリシー」を参照してください。

  6. 残りのオプションを設定して、[ディストリビューションの作成] を選択します。

  7. [カスタムドメイン] タブで、[証明書の作成] を選択します。証明書の一意の名前を入力し、ドメインとサブドメインの名前を入力してから、[証明書の作成] を選択します。

  8. [証明書のアタッチ] を選択します。

  9. [DNS レコードを更新する] には、[理解できる] を選択します。

DNS レコードの更新

次の手順を実行して、Lightsail DNS ゾーンの DNS レコードを更新します。

ディストリビューションの DNS レコードを更新するには
  1. 左側のナビゲーションペインで [ドメインと DNS] を選択します。

  2. DNS ゾーンを選択し、[DNS レコード] タブを選択します。

  3. 証明書で指定したドメインの A レコードと AAAA レコードを削除します。

  4. [レコードの追加] を選択し、ドメインをディストリビューションのドメインに解決する CNAME レコードを作成します (例: d2vbec9EXAMPLE.cloudfront.net)。

  5. [Save] を選択します。

静的コンテンツをディストリビューションでキャッシュできるようにする

次の手順を実行して、WordPress インスタンスの wp-config.php ファイルを編集して、ディストリビューションで動作するようにします。

注記

この手順を開始する前に、WordPress インスタンスのスナップショットを作成することをお勧めします。スナップショットは、何か問題が発生した場合、これを元に別のインスタンスを作成できるバックアップとして使用できます。詳細については、「Linux または Unix インスタンスのスナップショットを作成する」を参照してください。

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

  2. 左側のナビゲーションペインで、WordPress インスタンスの横に表示されるブラウザベースの SSH クライアントのアイコンを選択します。

  3. インスタンスに接続したら、次のコマンドを入力して、wp-config.php ファイルのバックアップを作成します。何らかの問題が発生した場合は、バックアップを使用してファイルを復元することができます。

    sudo cp /opt/bitnami/wordpress/wp-config.php /opt/bitnami/wordpress/wp-config.php.backup
  4. 次のコマンドを入力して、 Vim を使用し、wp-config.php ファイルを開きます。

    sudo vim /opt/bitnami/wordpress/wp-config.php
  5. I キーを押して Vim の挿入モードに移ります。

  6. ファイルで、次のコード行を削除します。

    define('WP_SITEURL', 'http://' . $_SERVER['HTTP_HOST'] . '/'); define('WP_HOME', 'http://' . $_SERVER['HTTP_HOST'] . '/');
  7. 使用している WordPress のバージョンに応じて、次のいずれかのコードの行をファイルに追加します。

    • バージョン 3.3 以前を使用している場合、以前にコードを削除した箇所に次のコード行を追加します。

      define('WP_SITEURL', 'https://' . $_SERVER['HTTP_HOST'] . '/'); define('WP_HOME', 'https://' . $_SERVER['HTTP_HOST'] . '/'); if (isset($_SERVER['HTTP_CLOUDFRONT_FORWARDED_PROTO']) && $_SERVER['HTTP_CLOUDFRONT_FORWARDED_PROTO'] === 'https') { $_SERVER['HTTPS'] = 'on'; }
    • バージョン 3.3.1-5 以降を使用している場合、ファイルの削除した箇所に、次のコード行を追加します。

      define('WP_SITEURL', 'http://DOMAIN/'); define('WP_HOME', 'http://DOMAIN/'); if (isset($_SERVER['HTTP_CLOUDFRONT_FORWARDED_PROTO']) && $_SERVER['HTTP_CLOUDFRONT_FORWARDED_PROTO'] === 'https') { $_SERVER['HTTPS'] = 'on'; }
  8. ESC キーを押して Vim の挿入モードを終了し、:wq! を入力して Enter キーで編集内容を保存しで (書き込んで) Vim を終了します。

  9. 次のコマンドを入力して、インスタンス上の Apache サービスを再起動します。

    sudo /opt/bitnami/ctlscript.sh restart apache
  10. Apache サービスが再起動するまでしばらく待ってから、ディストリビューションがコンテンツをキャッシュしているかどうかをテストします。詳細については、「Amazon Lightsail ディストリビューションをテストする」を参照してください。

  11. 何らかの問題が発生した場合は、ブラウザベースの SSH クライアントを使用してインスタンスに再接続します。次のコマンドを実行して、このガイドで先に作成したバックアップを使用して wp-config.php ファイルで復元します。

    sudo cp /opt/bitnami/wordpress/wp-config.php.backup /opt/bitnami/wordpress/wp-config.php

    ファイルを復元したら、次のコマンドを入力して Apache サービスを再起動します:

    sudo /opt/bitnami/ctlscript.sh restart apache

ディストリビューションに関する追加情報

ここでは、Lightsail でディストリビューションを管理するのに役立つ記事をいくつか紹介します。