56
25

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

【Amazon RDS】マルチAZとリードレプリカの違い

Last updated at Posted at 2021-05-10

はじめに

RDSインスタンス(DB)は、マルチAZに配置することが出来、また、リードレプリカを作成することが出来るが、それぞれの違いについてよく分かっていないため、まとめたいと思う。
通常、「マルチAZ」は、「マルチ(複数)のAZ(データセンター群)」を意味する。
RDSインスタンスをマルチAZに配置するとは、RDSインスタンスを複数のデータセンター群に配置することを意味する。
「リードレプリカ」は、1つ以上のデータセンター群、または別リージョンにて、「読込専用」のRDSインスタンスを複製することを意味する。
以下にて、RDSインスタンスをマルチAZに配置する場合、リードレプリカを作成する場合の違いについて記載する。

マルチAZに配置する場合

「高可用性」を実現したい時にRDSインスタンスをマルチAZに配置する。
「高可用性」は、システムの「稼働時間」に焦点を置いた言葉で、「長時間システムを利用できる状態」を意味する。
もし、1つのAZのみにRDSインスタンスを配置した場合、地震等の災害の影響でAZに障害が発生すると、RDSインスタンスも影響を受ける可能性がある。
そのため、RDSを使用する場合において、マルチAZの設定は必須と考えた方が良い。
以下の図では、可用性を高める(長時間システムを利用できる状態にする)ため、複数のデータセンター群に、「プライマリDBインスタンス」、「スタンバイレプリカ」をそれぞれ配置し、「同期レプリケーション」によって、DBを冗長化するイメージを表す。ちなみに、「レプリケーション」は、データの複製を意味する用語である。
https://docs.aws.amazon.com/ja_jp/AmazonRDS/latest/UserGuide/Concepts.MultiAZ.html

RDS_マルチAZ構成_20210508.jpg
AWS管理コンソール上のダッシュボードからは、「データベースの作成」ボタン押下後、以下にて設定することが可能。
選択するDBによって表示内容が異なる。

Amazon Auroraの場合
RDS_AZ構成_エンジンタイプ_Aurora.jpg
image.png
MySQL、MariaDB、PostgreSQL、Oracleの場合
RDS_AZ構成_エンジンタイプ.jpg
RDS_AZ構成_管理コンソール_01.JPG
Microsoft SQL Severの場合
RDS_AZ構成_エンジンタイプ_SQLServer.jpg
RDS_AZ構成_管理コンソール_エンジンタイプ_SQLServer.jpg

リードレプリカを作成する場合

RDSインスタンスの「拡張性(スケーラビリティ)」を向上させたい時にリードレプリカを作成する。
ここでいう「拡張性(スケーラビリティ)」は、「RDSインスタンスのデータの読み取り性能の増減」を意味する。
例えば、データの更新、変更、削除は行わないが、ユーザーのDBアクセス数の増加に応じて、DBの読み取り性能を向上させたい場合が発生したと仮定する。
この時の対策として、わざわざRDSインスタンスを新たに作成しなくても、読み取り専用のDBであるリードレプリカを作成することで対応することが可能となる。
AWS公式ページには、「Amazon RDS リードレプリカは、マルチ AZ 配置を補完します。」と記載されている。
上記「マルチAZに配置する場合」にて、RDSインスタンスをマルチAZに配置する理由は、「高可用性」を実現することと記載したが、リードレプリカを作成しても「高可用性」は実現可能となる。但し、この高可用性は「読み取り専用のDB」に対してのみ実現可能となることに注意する。あくまでもリードレプリカの作成目的は、「拡張性(スケーラビリティ)」の向上となる。

マルチAZとの主な違いは、「データを非同期でレプリケーションすること」、「リージョンを跨いでレプリケーション(クロスリージョンレプリケーション)を行うことが可能」の2点となる。
詳細な違いについては、AWS公式ページに記載されている。
https://aws.amazon.com/jp/rds/features/read-replicas/
RDS_リードレプリカ.jpg
AWS管理コンソール上からは以下の手順で操作することが出来る。
DB作成後のみ利用することが可能。DB作成時には、リードレプリカ作成の操作項目が存在しない。
これは、リードレプリカが拡張性(スケーラビリティ)を向上させることが目的のため。DBが存在していない以上、拡張しようがないため、DB作成時には、リードレプリカ作成の操作項目が存在しないと推測している。
RDS_リードレプリカ_操作方法_管理コンソール_01.jpg
RDS_リードレプリカ_操作方法_管理コンソール_02.jpg

56
25
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
56
25

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?