こんにちは。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にインスタンスを設置していくのが良いと思われます。