AWS上にWordPressを構築してHTTPS化する方法




AWS上でWordpressを構築

今回は会社のブログをAWS上に建てたいとのことだったので手探りで試して見ました。結果構築はすごく簡単でしたがHTTPS化が少しめんどくさかったので説明を残しておきたいと思います。

あと、AWS上でWordPressを構築した場合規模が小さければこっちの方が安く済むかもしれませんが、サーバーの管理やメンテナンスの費用はかかってしまうので個人的にはオススメしませんが。。。

EC2インスタンスから作成

EC2のAWS Marketplaceでwordpressと検索します。そうするとたくさんWordPressのイメージが出てくるのですが、WordPress Certified by Bitnamiを選択します。それぞれ特徴は理解していませんがとりあえず現状これで問題ないです。設定も何も変更せずにインスタンスの作成まで完了させます。

これで作った場合、EC2上にデータベースも作成されるため基本的にはインスタンスを作成したらWordPressの作成は完了になります。

ALBにぶら下げる

EC2単体での運用は今後大変そうなので一旦ALBにぶら下げておきます。今後負荷が増えてきたらEC2を増やして、データベースをRDSに移すことを少しだけ考慮しておきます。あとはALBのヘルスチェック機能を使うためですね。

ドメインはRoute53で取得し、証明書はAWS Ceertificate Managerを使えばAWSで全てを完結させることができます。ドメインを取得したらRoute53でAレコードのAliasでALBを選択します。もしくはCloudFrontて経由でALBにアクセスするならCloudFrontを選択してください。

ALBのターゲットグループの設定は下記のようになります。

ターゲットグループ自体はHTTPの80番ポートでリクエストを受け付けるようにします。ヘルスチェックは/index.phpに対して行います。WordPressにはindex.htmlがないので気をつけてください。

このターゲットグループをALBに設定します。設定はALBのリスナータブから行います。

HTTPSを設定して、ACMで作成した証明書を選択します。ALBの設定はこれだけで完了です。

設定したドメインにアクセスしてみてください。たぶんちゃんと表示されないはずです。これはWordPressがALBで受け付けたHTTPSの通信をうまく処理できていないからです。今度はWordPressの設定を変更します。

wp-config.phpの変更

まずはHTTPS対応の設定です。/opt/bitnami/apps/wordpress/htdocs/wp-config.phpに下記を追加します。

/** For HTTPS on */
if (isset($_SERVER['HTTP_X_FORWARDED_PROTO']) && $_SERVER['HTTP_X_FORWARDED_PROTO'] == 'https')
    $_SERVER['HTTPS'] = 'on';

次に固定されたドメインを変更します。もともとの設定をコメントアウトして使用するドメインを設定します。

/*
define('WP_SITEURL', 'http://' . $_SERVER['HTTP_HOST'] . '/');
define('WP_HOME', 'http://' . $_SERVER['HTTP_HOST'] . '/');
*/

define('WP_SITEURL', 'https://blog.com');
define('WP_HOME', 'https://blog.com');

この設定が完了したらサイトにアクセスしてみください。今度はちゃんとHTTPSでアクセスできるかと思います。

おすすめ書籍

AWSをこれから使う初心者の方から現在使っている中級者の方までおすすめできる書籍です。内容はVPC、セキュリティグループ、IAMなどの基本的なことからWEBサービスを作るのに欠かせない、EC2、RDS、Route53などの扱い方が丁寧に説明されています。

中級者向けにはWEBサーバのオートスケール、Cloud Watchを使ったモニタリング方法、セキュリティ等について解説されています。手元において困ったときに読むのにちょうどいい一冊になると思います。

 

The following two tabs change content below.

髙妻智一

2013年CyberAgent新卒入社 スマホゲームを作る子会社に所属し、サーバーサイドのエンジニアを担当。2年目の終わりから新規子会社の立ち上げに参加し、サーバーサイドのエンジニアリーダーとしてサービースのリリースから運用までを担当。 2018年仮想通貨のスマホウォレットを提供するGinco Incにブロックチェーンエンジニアとして入社。






よく読まれている関連記事はこちら




コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です