WordPress基本構成パターン5-Webサーバー2台、Multi-AZのRDS

こんにちは。hacknoteのJunya.kです。

この記事はAWS初心者向けAWS環境のWordPress基本パターン8つ作ってみたのパターン5の作成方法を紹介する記事です。
そのまま真似をすれば誰でもAWSを使ってWordpressの入ったタイトル通りの構成のサーバーを建てる事ができます。

EC2でWEBサーバーを2つ立て、同期処理を行う/ロードバランサを設定する

2つのうちどちらかが停止しても片方からWEBサイトにアクセスできるようにするため、定期的な同期処理を行う2つのEC2サーバーを立てます。
また、負荷分散のために2つのサーバー間でロードバランサを設定します。
以下の記事を参考に2つのサーバーで同期処理ができるように設定し、ロードバランサを設定してください。
WordPress基本構成パターン4-Webサーバー2台、RDS(MySQL)1台

WordPressの参照先をRDS上のMySQL DBに設定する

両者共に同じRDS上のMySQL DBにアクセスするようにWordPressの設定を行います。
以下の記事を参考にRDSインスタンスの作成から設定までを行ってください。
WordPress基本構成パターン3-Webサーバー1台、RDS1台

マルチAZを作成し、2つのEC2インスタンスに紐づける

作成したRDSに対して別のAZにレプリカとなるDBを作成し(これをマルチAZといいます)、マスターをEC2インスタンスに割り当てます。ファイルオーバーの際は勝手にスレイブに参照先が移動してくれます(エンドポイントは同じです)。
普通はRDSの作成時にマルチAZの作成も同時に行います。以下の記事を参考にしてください。
RDSをMulti-AZ構成で構築する
こちらの記事では今あるRDSに対してマルチAZの設定をしていきます。

1.まずは一つRDSのインスタンスを作成します。以下の記事を参考に作成してください。
WordPress基本構成パターン3-Webサーバー1台、RDS1台

2.RDSのインスタンスの画面から変更を選択し、マルチAZ配置の部分を「はい」に設定します。設定すると起動するまでに数分かかることがあります。


3.設定できたら、スレーブのアベイラリティゾーンを確認しましょう。RDSはスケールアップなどの際にファイルオーバーが発生し、アベイラビリティゾーンが移動します。
まずは以下のようになっています。



変更からDB インスタンスのクラスを変更します。

アベイラリティゾーンが移動しました。
このように、ファイルオーバーの際にアベイラリティゾーンが(勝手に)移動し、EC2のWordPressが参照するDBの場所が変化します。

以上で所望のサーバー構成が完成しました。

AZをまたいだ通信の速度について

今回ご紹介した構成も構成その4と同様にEC2インスタンスがAZをまたいだ通信を行っています。
AZをまたいだ通信は速度が遅くなる(遅延が発生する)ことがわかっているので、速度が必要なサービスの場合であれば、同じAZにインスタンスを設置していくのが良いと思われます。

webサーバーと異なるアベイラビリティゾーンに置いた(Multi-AZ利用)RDSの速度検証