blogですかい

仕事、プライベートで学んだことなどを発信し、その内容がたとえ少数でも誰かの役に立ったらなら、それはとっても嬉しいなって

Amazon RDSで冗長構成

RDSとは


Relational Database Service
AWS上にリレーショナルデータベースを簡単にセットアップできるPaaS
MySQL/Oracle/MS SQL Serverインスタンスを、マウス操作だけで、短時間で用意できる。
(MySQLでcharcter-setを変更するにはコマンドラインツールが必要)

RDSで冗長な構成を作る方法


Multi-AZ

概要
プライマリとは別のAvailability Zoneに、完全同期のスタンバイインスタンスを構築する
プライマリに変更を加えると同時にスタンバイも変更される。

メリット
プライマリインスタンスに障害、プライマリインスタンスのあるAvailability Zoneに障害が発生すると、自動的にスタンバイがプライマリに昇格する。その際、CNAMEの変更等も自動でされるので、障害が発生しても手動オペレーション無しに引き続きサービスを利用できる。
メンテナンス時も自動で切り替わるので、ダウンタイムが発生しない。

デメリット
DBに変更を加えるクエリは、プライマリ・スタンバイ双方への変更をもって完了となるので、レスポンスは多少遅くなる。
スタンバイにはアクセスできないので、Selectの負荷分散目的で使用することはできない。


リードレプリカ(MySQLのみ)

概要
MySQLでの一般的なレプリケーション
一つのMasterに対して複数(最大5個)のSlaveを作成できる。
メリット
書き込みクエリはMasterへ、読み込みクエリはSlaveへといった負荷分散が可能。
デメリット
MasterとSlaveは非同期
SlaveをMasterに昇格することはできない
孫Slaveは作れない

まとめ


どちらもマウスでカチカチするだけで構築できる、ベンリ!
料金はインスタンスを増やした分だけ増える、アタリマエ。
どちらもお値段以上の価値があると思う、特にMulti-AZ
RDSすごい、ってかAWSすごい。

こちら、まだ一部しか読んでいませんが、AWSの機能の説明と使い方がわかりやすく書いてあり、オススメです。

Amazon Web Servicesプログラミング ―APIの基礎からElastic Beanstalkの利用まで

Amazon Web Servicesプログラミング ―APIの基礎からElastic Beanstalkの利用まで


また、Amazon Web ServiceブログもAWSを使うならチェックしておきたいですね。