CloudFront+ELB+EC2+RDSのスケーラブルなシステム構成構築 – 5.WordPress構築編

以下の記事の続きです。

RDSでDBインスタンスを作成

次の画面では、開発用の MariaDB を選択しておきます。本番用など必要に応じてAurora などを選択してください。

ここでは、t2.micro を選択していますが、必要に応じてより高スペックなインスタンスを選択してください。

DBインスタンスの識別子は、一意になるよう付けてください。

 

「DBインスタンスを作成」をクリックすると、DBインスタンスの作成処理が開始されます。RDS一覧画面上でステータスが「作成中」から「利用可能」になれば、接続可能になります。
アプリケーションサーバより接続を確認してみます。

$ mysql -u root -p -h xxxxx.xxxxx.ap-northeast-1.rds.amazonaws.com
Enter password:
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MariaDB connection id is 211
Server version: 10.1.19-MariaDB MariaDB Server
Copyright (c) 2000, 2017, Oracle, MariaDB Corporation Ab and others.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
MariaDB [(none)]> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| innodb |
| mysql |
| performance_schema |
+--------------------+
4 rows in set (0.01 sec)
MariaDB [(none)]>

アプリケーションサーバのインスタンスからRDSへ接続できることが確認できました。

Cloud Front の設定

WordPressコンテンツを CloudFront から配信するよう設定します。
CloudFrontには、www.xxxx.com などの通常のドメインでアクセスできるようにします。
「Create Distribution」をクリックして作成を開始します。

delivery method では「Web」の「Get Started」をクリックします。

CloudFront – ELB – EC2 の経路でWordpressにアクセスさせる為、CoudFrontからELBへはELBのDNS名でアクセスさせます。
「Origin Domain Name」にELBのDNS名「xxxxx-xxxxx.ap-northeast-1.elb.amazonaws.com」を入力します。

以下で Whitelist Headers でCloudFrontを通すヘッダを設定しますが、ここで重要なのは「Host」ヘッダを通すのを忘れないようにします。ELBに渡されるHostヘッダを元にALBのホストベースのルーティングやEC2上でのバーチャルホストの判定に利用されます。

Alternate Domain Names に、www.xxxx.com などのサイトにアクセスするURLを記入し、SSLをACMに作成・登録してある証明書を選択します。

作成が終わると、以下の「Domain Name」欄にCloudFrontのURLが表示されます。これをコピーしておきます。

その他、CloudFrontの設定に関しては以下の記事を参照ください。

CloudFrontのキャッシュヒット率向上

次に、CloudFront にWordpressのURLでアクセスできるように、DNS(Route53)を設定します。
Route53 で当該ドメインの Zone情報を開き「Create Record Set」をクリックします。

「Alias:」のチェックボックスで「Yes」をクリックし、

「Enter target name」をクリックし、先程コピーしておいた CloudFrontのURLを入力します。

これで、www.xxxx.com のA レコードが CloudFront のDNSのALIASとして作成されました。

KUSANAGIの WordPress プロビジョニング

EC2インスタンス上でWordressを立ち上げる為、KUSANAGIのプロビジョニングを行い、既存で動いていた WordPress 環境からデータを移行します。
具体的な手順は以下に記載しています。

WordPressをKUSANAGIに移設し併せて常時SSL化する


今回のプロビジョニングでは、ALB-EC2間の通信はHTTP通信の為、EC2にSSL証明書はインストールしないことに留意します。

画像をS3へ移行し、Cloud Front 経由で配信するように設定します。(以下参考)

WP Offload S3 プラグインでwordpressの画像をS3にアップロード

Cloud Front の設定

画像以外のWordpressコンテンツも CloudFront から配信するよう設定します。(前記のCloudFrontの記事参照)

コメントを残す

コメントは当サイト運営者の承認後に反映されます。
お名前はニックネームでも結構です。