Yuki's Tech Blog

仕事で得た知見や勉強した技術を書きます。

【AWS:ゼロから実践するAmazon Web Services。手を動かしながらインフラの基礎を習得】セクション10: 【RDS】DBレイヤを冗長化しようで知らなかったことをざっくりまとめてみた

目次

概要

RDSの機能を用いてDBレイヤーを冗長化していきます。RDSのマルチAZ機能を用いてマスタースレーブ構成にします。DBレイヤーを冗長化してサービスの可用性を上げます。基本的なアクセスはマスターの方で対処して、マスターが障害で使えなくなった場合にスレーブをマスターに昇格して、マスターの方をスレーブにして入れ替えて使います。

RDSでマスタースレーブ構成を作成する

RDSでマスタースレーブ構成を作成するためには、マルチAZの機能を使います。マルチAZの機能とは、複数のアベイラビリティゾーンにまたがってRDSインスタンスのマスターとスレーブを作成して、マスター側に何か問題があった場合にスレーブに自動で切り替わるような機能です。マルチAZ機能を有効にした場合、バックグラウンドでRDSインスタンスが2台起動していて、マスターからスレーブに対して自動的に同期が行われています。そのため、データの欠損が起こることが極めて少ないです。また、スレーブ側のRDSインスタンスAWSが管理しているので、使用者が意識する必要がありません。つまり、マルチAZを有効にしてもしなくても、同じ使用感でRDSインスタンスを使用することができます。もしマスターのRDSインスタンスに問題があって、マスターとスレーブが入れ替わった場合、RDSインスタンスIPアドレス自体は変わります。しかし、RDSインスタンスのエンドポイントは変化しません。そのため、こちらでWebサーバーに何か設定しなくてもスレーブ側を使うことができます。

作業手順

手順1:
RDSのダッシュボードの「データベース」をクリックします。次に、マスタースレーブ構成にしたいRDSインスタンスをクリックします。 その後、「変更ボタン」をクリックして、マルチAZ配置の「スタンバイインスタンスを作成する (本稼働環境向けに推奨)」を選択します。 Image from Gyazo

変更を適用するタイミングで、「すぐに変更」を選択します。その後、「DBインスタンスを変更」をクリックします。 Image from Gyazo

ステータスが「利用可能」、マルチAZが「あり」になっていればOKです。 Image from Gyazo

(注) マルチAZ構成にすると2台分のRDSの料金がかかり、しかもRDSは結構料金が高めなので、マルチAZを使わないときはシングルAZにしましょう。

インフラ構成図

前回のインフラ構成図にマルチAZ構成を追加しました。 Image from Gyazo

参考記事

AWS:ゼロから実践するAmazon Web Services。手を動かしながらインフラの基礎を習得 | Udemy