👻

【AWS】冗長構成のブログサイトを作る(2)

2021/02/07に公開

こちらの記事からの続きです。
https://zenn.dev/anaka/articles/058e810859b6ea

ロードバランサー(ELB)を作成し、外部からのリクエストが別AZのEC2インスタンスへ振り分けられるようにします。

ECの左ペインから「ロードバランサー」をクリック

ロードバランサーの作成をクリック

Application Load Balancerをクリック

ロードバランサーの設定を行う。
名前と、どのAZ、サブネットをロードバランサー配下へぶら下げるかを指定する。

セキュリティ設定の構成は、そのまま次へ

セキュリティグループは、ロードバランサー用として新しく作成する。
外部からのHTTPのみ通信可能とする。

ターゲットグループとヘルスチェックの設定を行う。
ターゲットグループは新しく作成した。

ヘルスチェックは、インスタンスの生死を判定するための条件

ターゲットグループへターゲットの登録を行う。
それぞれのAZに作成したEC2インスタンスを指定し、登録済みに追加ボタンをクリック

最後にこれまでの設定を確認し、作成ボタンをクリック

ロードバランサーの状態がactiveに変わると、作成が完了している。

ヘルスチェックが正常に行われているかを確認するため、左ペインからターゲットグループをクリック

作成したターゲットグループをクリックし

ターゲットタブをクリック。インスタンスのステータスがhealthyとなっていることを確認する。

これで、ロードバランサーは完成。
次に、RDSへ設定されているブログサイトアドレスを、ロードバランサーのDNS名へ置き換える。
どちらかのEC2インスタンスへSSHでログインし、以下のコマンドを実行する。

mysql -h [RDSのエンドポイント名] -u wordpress -p
USE wordpress
SELECT * FROM wp_options WHERE option_name IN ('siteurl', 'home');
UPDATE wp_options SET option_value = 'http://[ロードバランサーのDNS名]' WHERE option_name IN ('siteurl', 'home');

Webブラウザのアドレス欄へ、ロードバランサーのDNS名を入力し、作成したブログが正常に表示されることを確認する。

Webサーバだけではなく、RDSも冗長化する必要がある。
RDS画面からデータベースを選択し、変更ボタンをクリック

可用性と耐久性の、スタンバイインスタンスを作成するをクリック

画面一番下の続行をクリック

すぐに適用をクリックしてから、DBインスタンスを変更をクリック

しばらく待って、マルチAZのステータスが「あり」になると、冗長化が完了。

ここまででようやく冗長化されたブログサイトができました。
次はAutoScalingを作成していきます。
https://zenn.dev/anaka/articles/1d5467d56b11aa

Discussion