LightsailでWordPressを立ててCloudFrontも利用する

2021.10.06

こんにちは、岩城です。

LightsailでWordPressを立てて、CloudFront経由でWordPressにアクセスする機会がありました。

Lightsailそのものはとても設定が簡単なのですが、オリジンへ転送するヘッダーを考慮したり、WordPressのプラグインを導入しないと正常にWEB画面が表示されませんでした。

本エントリでは、初めてLightsailを利用する方向けに、CloudFront経由でWordPressにアクセスできるまでの手順をまとめます。

LightsailでWordPressを立てる

Lightsailのコンソールからインスタンスの作成をクリックします。

インスタンスロケーションは東京リージョンとしました。以降はデフォルトのままとします。プラットフォームがLinux/Unix、設計図がWordPressになっていることを確認してインスタンスの作成をクリックします。

今回CloudFrontを利用するため、インスタンスに静的IPをアタッチしておく必要があります。

インスタンスが作成されたら、ネットワーキングタブから静的IPの作成をクリックします。

先程作成したインスタンスを選択し、作成をクリックします。

静的IPがインスタンスにアタッチされたので、CloudFrontを設定してきます。ネットワーキングタブにあるディストリビューションを作成するをクリックします。

オリジンに作成したインスタンスを指定しています。

WordPressキャッシュ動作プリセットを適用しておきます。

後はデフォルトの設定のままディストリビューションを作成するをクリックします。

ディストリビューションが有効になるまで待ちます。

ディストリビューションの設定画面から、URLを確認してアクセスしてみます。

表示が崩れていますね。これを修正するため、CloudFrontの設定変更とWordPressにプラグインを導入します。

WordPressにプラグインをインストールする

WordPressにプラグインをインストールする前に、CloudFrontの設定変更します。

ディストリビューションの設定画面から、オリジンへ転送するHTTPヘッダーにCloudFront-Forwarded-Protoを含めておきます。

WordPressの管理画面にログインするため、パスワードを取得する必要があります。

インスタンスにログインして、以下のコマンドを実行してパスワードを確認します。

 cat $HOME/bitnami_application_password

管理画面にログインすると表示が崩れているので辛いですが、PlunginsのAdd Newをクリックします。

SSL Insecure Content Fixerプラグインを検索して、Install Nowをクリックします。

SSL Insecure Content Fixerの設定を変更するため、Installed Pluginsをクリックします。

SSL Insecure Content FixerのSettingsをクリックして

HTTP_CLOUDFRONT_FORWARDED_PROTO (Amazon CloudFront HTTPS cached content)にチェックして保存します。

正常に表示されるようになりました!

管理画面も!

おわりに

WordPressでCloudFrontを利用するのは簡単じゃないと痛感しました。プラグインの導入やHTTPヘッダーの考慮など大変でしたが、WordPressとCloudFront力が上がった気がします。

本エントリがどなたかのお役に立てれば幸いです。

リファレンス

https://oji-cloud.net/2021/01/03/post-5293/</>