LightsailでWordPressを立ててCloudFrontも利用する
こんにちは、岩城です。
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力が上がった気がします。
本エントリがどなたかのお役に立てれば幸いです。