AWS ELB+HTTPS+ApacheでWordPressを運用する勘所

ホーム > 業務日誌 > スタッフ別 > > AWS ELB+HTTPS+ApacheでWordPressを運用する勘所

AWS ELB ALB ロードバランサー WordPress

AWS上でELBとHTTPSを利用したサイトを構築する場合は、ちょっとしたお作法があるのでかいつまんでご紹介します。今回のご紹介はApacheですが、WEBサーバがNginxであっても行う要領は同じです。

 

 

処理の流れ

  • ユーザ(80) >> ELB(80) >> EC2(80) →443へリダイレクト
  • ユーザ(443) >> ELB(443) >> EC2(80)

HTTPSの運営の場合、証明書はELB(ALB)に設定し、EC2は常に80番で動かしておくのがセオリーなんです。ELB(443), EC2(443)にすると実装が簡単ですが、証明書の更新など後々が面倒になっちゃいますよ~!

 

 

この記事で紹介する内容

  1. ヘルスチェックファイルの設定
  2. ELB環境のログの対応
  3. WordPressのリダイレクトループ対応

になります。

 

ヘルスチェック設定

 

ELBヘルスチェック用ファイルを作成します。

 

ELBがアクセスしてきた時に見れるように、サーバ側で設定します。

ELBのヘルスチェック用パスには”/healty.html”と設定します。

 

 

 

ログ対応

これを設定しておかないと、ロードバランサのIPが登録されてしまい、ユーザのIPがログに残せません。

 

remoteipモジュールがあるか確認します。

 

 

ログフォーマット対応

 

 

画像やファビコンの画像をログに出力させないようにするコンフィグ

画像のアクセスがアクセスログに記録されると、ログからシェルでアクセス集計を行う要望が出た時に邪魔になります。また、アクセスログの出力が少なくなりディスクI/Oにも良いです。

 

 

バーチャルホストファイルの設定

80番でサーバに直接きたアクセスはELBにアクセスにいくようにリダイレクトさせます。

 

 

Apacheの設定を反映させます。

 

 

WordPress側 HTTPSを認識させます。

wp-config.phpにリダイレクトループにならないように、ELB経由でhttpsになっていれば$_SERVER[‘HTTPS’]の変数をonになるようにWordPressのアプリ側に設定が必要になります。

 

後はELBに証明書を設定して、ドメインにアクセスしたらELBに流れるようにRoute53に設定してあげればOK。

 

お疲れ様です!

 

金広 優 (エンジニア)

この記事を書いた人:金広 優 (エンジニア)

システムガーディアン爆弾処理班。アクセス負荷対策やNginxへの移行案件が多いこの頃。AWS, IBM Cloudなどクラウド、オフィスや商業施設のネットワーク構築案件が増えてきました。

この記事に関してのお問い合わせ
御連絡・ご返信は原則2営業日以内を予定しております。
お急ぎの場合は、お手数ですが下記電話でもご対応をしております。

システムガーディアン株式会社
受付時間:平日9:00~18:00
受付担当:坪郷(つぼごう)・加藤
電話:03-6758-9166