災害対応以外にもメリット有!RDS for PostgreSQLがリードレプリカのマルチAZに対応しました

すでに、MySQLとMariaDBでは実装されていたRDSのリードレプリカマルチAZ対応ですが、ついにPostgreSQLにも対応しました!
2018.06.26

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

Amazon RDS for PostgreSQLのリードレプリカがマルチAZに対応したというニュースが飛び込んでまいりました。

Amazon RDS for PostgreSQL Read Replicas now support Multi-AZ Deployments

しばらく前に、MariaDBと、MySQLは対応していたのですが、今回は待望のPostgreSQL対応ということになります。

Amazon RDSのリードレプリカMulti-AZ利用が可能になりました

マルチAZリードレプリカの設定は非常に簡単

作成の手順は非常に簡単です。すでに構築済みのRDS for PostgreSQLを選択し、リードレプリカの作成を実施します。

その時、インスタンスの仕様を選択するところで、マルチAZ配置をするかどうか選択できるので(デフォルト「いいえ」)、この時に「はい」を選択することで、マルチAZのリードレプリカが作成可能です。

マルチAZリードレプリカは何に活用できるか?メリット3点

「リードレプリカがマルチAZ対応されると何が嬉しいの?」 気になる点かと思いますが、3点ほどメリットをまとめてみました。

リードレプリカの高可用性確保

分析やOLTPなど読み取り負荷の高いワークロードをもつアプリケーションにおいて、読み取りトランザクションはビジネスに非常に重要な要素です。マルチAZのリードレプリカを利用することで、リードレプリカのインスタンス障害に対して自動的なフェールオーバーが実現でき、読み取りワークロードにおいても高可用性を手軽に実現できます。

プロダクション環境のマスターDBが故障した時の早期マルチAZ復旧

マルチAZのマスターDBが何らかの原因でトラブった場合、リードレプリカをマスターに昇格させて対応することが可能です。その時、リードレプリカがシングルAZ構成の場合、マスターに昇格させたとしてもそのままシングルAZ構成となるため、マルチAZ化のためには再度そのためのオペレーションが必要でした。

リードレプリカを予めマルチAZで作成しておけば、マスター昇格時もマルチAZ状態で昇格するので、よりスムーズなプロダクション環境のデータベース復旧が期待できます。

データベースアップグレードプロセスの最適化

データベースのアップグレードプロセスにおいて、アップグレードをマルチAZのリードレプリカに対して最初に適用することが可能です。そこで、事前に動作確認をした上で、マスター側マルチAZのデータベースに適用することで、ミッションクリティカルなアプリケーションにおいても、スムーズなアップグレードプロセスを適用可能です。

その他詳細は、公式のこちらをご参照ください。

MariaDB、MySQL、および PostgreSQL DB インスタンスのリードレプリカの使用 - Amazon Relational Database Service

まとめ「ミッションクリティカルな業務システムにおける可用性確保の手段として利用可能」

今回のアップデートでMySQL、MariaDB、PostgreSQLとオープン系DBは全て対応されたため、利用できるユースケースも増えているかと思います。

マスター側DBをマルチAZ構成とするのは、RDSにおける基本中の基本の対応ですが、読み取りワークロードが高くミッションクリティカルなシステムにおいては、リードレプリカのマルチAZ対応も合わせて検討してみてはいかがでしょうか。その分お値段も2倍かかりますが、ミッションクリティカルな業務においては、その価値はあると思います。

それでは、今日はこのへんで。濱田(@hamako9999)でした。