AWSクラウドで スケーラブルWebサイト を構築する(その2)

前回、投稿で、次の手順まで進みました。

今回は、ElasticLoadBlancing から WordPressのインストール、RDSのマルチAZ配置、SSL化のための調整作業を実施します。

ElasticLoadBlancingを構築する

以前の投稿:「AWS ELB でロードバランシングをセットアップする

  1. EC2ダッシュボードの左欄メニューの「ロードバランサー」をクリックし、「ロードバランサーの作成」をクリックします。
  2. 「Application Load Balancer」の「作成」をクリックします。
  3. 「Create Application Load Balancer」画面で、設定を進めていきます。

Scheme は、「internet-facing」(インターネット向け)

作業始めに生成したネットワークについて、

VPCと

パブリックサブネット

を指定します。

※ 間違えてHTTPを指定したが、HTTPSの間違い

「Create target group」をクリックして
次のステップで、ELBのターゲットグループ
をセットアップします。

(target type)は、「instances」をクリック

Health check path に
「/wp-includes/images/blank.gif」
を設定

Advanced health check settings に

Traffic port (チェック)
healthy threshold => 5
unhealthy threshold => 2
Timeout => 5 (seconds)
interval => 10 (seconds)

と設定した。

interval はデフォルト30秒
ハンズオンの設定は6秒だった。
今回は10秒に設定した。

  1. ターゲットグループ

ELBに配置するEC2インスタンスを選択する。
(ここでは、EC2は1個だけ起動していて、上部にはその配置可能なEC2が表示されている)
外部から80番ポートに対して、上部のインスタンスを登録する。

外部から443番ポートに対して、同様に同じインスタンスを登録する。

Protocol = HTTPS :Port = 443 のところ、HTTPSになっているが間違い!!
どちらも作成したターゲットグループに流す

HTTP:443 というのは、HTTPSの間違いであるのと、サーバ証明書の登録も行われてないので、ここで修正します。

HTTP → HTTPS に直して、デフォルトのSSL証明書 の 「ACMから(推奨)」と「サーバ証明書:*.mikolabo…..」を選択した。

ここでは、EC2インスタンス1台のみELB配下に登録したが、ノーマルに2台でロードバランシングさせるためには、もう1個のEC2も同様にELB配下に追加する必要がある。

このときは、一旦、リスナーを削除して、追加した。

こちらは、ターゲットグループの設定内容です。

長らく私はインターネットから受けたHTTPSはELBから、EC2までHTTPSで流していると思っていたが、下部のEC2インスタンスイメージのPortが80のように、ELBからEC2まではHTTPで流れていた。(正確にはHTTPSはELBで一旦、終端されている)

このあとのSSL化の調整作業も、実はEC2はHTTPで受けているので、そのような設定になっている。
(というかSSLのつもりで設定していたんですけど)

WordPressインストール

まず、ロードバランサーのDNS名を調べておきます。
http:// ロードバランサーのDNS名 /wp-admin/install.php でインストール画面を表示します。
すでにサーバ証明書の設定も済ませていて、ELBも構築したので、SSLで動かせないこともありませんが、wp-config.php とか .htaccess とかの調整とかも行っていないので、 ロードバランサーのDNS名を指定してインストールして、WordpressにはこのDNS名でアクセスしました。

以前の投稿:「AmazonLinux2 に LAMPをインストールし、WordPressをセットアップ」も参考に

今回のテストでは以下にように設定した。

WordPressインストール時の設定

データベース名:RDSセットアップ時に設定したデータベース名
ユーザ名: RDSセットアップ時に設定したユーザ
パスワード: RDSセットアップ時に設定したパスワード
データベースのホスト名:RDSエンドポイント
今回は、wp_ を LM_ に変更した。

RDSのマルチAZ配置

すでに作成済みのRDS DB インスタンスのマルチAZ化を行います。

マルチAZ配置
「スタンバイインスタンスを作成する
 (本稼働環境向けに推奨)」
をクリックする

末尾までスクロールして、「続行」をクリック

※ すぐに適用 にしないと待っても無駄!!

マルチAZに移行するのに、5分ぐらいかかる。

マルチAZが「あり」に変わった。

そして、ELBのDNS名でHTTPのテストをして、うまくいったら、SSL化の調整をして操作仕上げします。(To be continued・・・)