1月15日開催!現年収非公開で企業からスカウトをもらってみませんか?PR

転職ドラフトでリアルな市場価値を測る。レジュメをもとに、企業から年収とミッションが提示されます。

28
30

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

CloudFrontの下でWordpressを実行する時に色々ハマった話 前編

Last updated at Posted at 2018-02-09

長くなったので、前編後編に分けます。

WordpressをAWSで動かす構成例

構成図

以下の構成で、WordpressをAWSで動かします。
スクリーンショット 2018-02-09 9.20.00.png

  • EC2でWordpressを実行
  • インターネットからはCloudFrontへアクセス
  • CloudFrontでHTTPからHTTPSへリダイレクト
  • CloudFrontからEC2へはHTTPでポート番号8080へアクセス

本来であれば、CloudFrontとEC2の間にApplication Load Balancerを挿むのが良いと思います。
どちらにしても、以下の対応は必要です。

CloudFrontの設定

Distribution Settings

IMG_5239.PNG

Alternate Domain Names (CNAMEs)

ここには、公開するFQDNを入れます。

SSL Certificate

Custom SSL Certificate を選択し、ACMで作った証明書を選択します。

Origin Settings

IMG_5241.PNG

Origin Domain Name

ここには、EC2のパブリックDNSを入力します。

Origin Protocol Policy

HTTP Only を選択します。

HTTP Port

EC2側で待ち受けているポート番号にします。
(この例では8080です)

Cache Behavior Settings

IMG_5243.PNG

次の考えで作成していますが、キャッシュ設定はそれぞれのサイトタイプによって設計が必要です。

  • 管理画面、ログイン画面はキャッシュしない
  • PHPもキャッシュしない
  • それ以外はデフォルトTTLでキャッシュする

管理画面とログイン画面

IMG_5245.PNG
スクリーンショット 2018-02-09 10.20.48.png

Path Pattern

管理画面用の設定では「/wp-admin/*」を、ログイン画面用の設定では「wp-login.php」を設定します。

Origin

Origin Settingsで作ったOrigin IDを選択します。

Viewer Protocol Policy

CloudFrontでHTTPSへリダイレクトする為、Ridirect HTTP to HTTPSを選択します。

Allowed HTTP Methods

Get, HEAD, OPTIONS, PUT, POST, PATCH, DELETEを選択します。

Cache Based on Selected Request Headers

Whitelistを選択し、以下を通します。

  • Authorization
    管理画面にベーシック認証を入れる時などに必要です。

  • CloudFront-Forwarded-Proto
    Origin側へプロトコルを通知します。

  • Host
    Origin側へアクセス先ホスト名を通知します。

Object Caching

Customizeを選択します。

  • Minimum TTL / Maximum TTL / Default TTL
    全て0にします。
Forward Cookies

Allを選択します。

Query String Forwarding and Caching

Forward all, cache based on allを選択します。

ログイン画面以外のPHP [*.php]

基本的にはログイン画面と同様なので、割愛します。
例えば、普通のブログサイト等ではTTLを増やすといった形が取れるかと思います。

それ以外 [Default(*)]

下記以外はデフォルトのままです。

Viewer Protocol Policy

CloudFrontでHTTPSへリダイレクトする為、Ridirect HTTP to HTTPSを選択します。

Cache Based on Selected Request Headers

Whitelistを選択し、その他と同様に以下を通します。

  • Authorization
    管理画面にベーシック認証を入れる時などに必要です。

  • CloudFront-Forwarded-Proto
    Origin側へプロトコルを通知します。

  • Host
    Origin側へアクセス先ホスト名を通知します。

Forward Cookies

Allを選択します。

Query String Forwarding and Caching

Forward all, cache based on allを選択します。

後編へ続く。

28
30
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up

Comments

No comments

Let's comment your feelings that are more than good

Qiita Advent Calendar is held!

Qiita Advent Calendar is an article posting event where you post articles by filling a calendar 🎅

Some calendars come with gifts and some gifts are drawn from all calendars 👀

Please tie the article to your calendar and let's enjoy Christmas together!

28
30

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Login to continue?

Login or Sign up with social account

Login or Sign up with your email address