🗺️
もう2度とRDSのマルチAZで迷わないために
マルチ AZ 配置/デプロイ(Multi-AZ deployment)
RDSに関する公式のドキュメントを読んでいてマルチAZやRDSクラスターの概念がよくわからなくなってきたので、これを機にしっかりと整理してみました。
マルチ AZ デプロイには、1 つのスタンバイ DB インスタンスまたは 2 つのスタンバイ DB インスタンスを持つことができます デプロイにスタンバイ DB インスタンスが 1 つある場合は、マルチ AZ DB インスタンスのデプロイと呼ばれます。マルチ AZ DB インスタンスのデプロイには、フェイルオーバーサポートを提供するスタンバイ DB インスタンスが 1 つありますが、読み取りトラフィックは処理されません。デプロイに 2 つのスタンバイ DB インスタンスが含まれている場合は、マルチ AZ DB クラスターデプロイ。マルチ AZ DB クラスターデプロイには、フェイルオーバーサポートを提供し、読み取りトラフィックを処理できるスタンバイ DB インスタンスがあります。
TL;DR
調べる前
調べた後
Multi-AZ DB instance deployments(マルチAZ DB配置/デプロイ)
ドキュメント
定義
- スタンバイ DB (同期スタンバイレプリカ)インスタンスの台数
- 1台のみ
- スタンバイ DB (同期スタンバイレプリカ)インスタンスの同期/非同期
- 同期(synchronous)
- スタンバイ DB (同期スタンバイレプリカ)インスタンスの役割
- ⭕️ フェイルオーバーサポート
- ❌ 読み取りトラフィックの処理(≠リードレプリカ)
- スタンバイ DB (同期スタンバイレプリカ)インスタンスの配置先
- プライマリDBインスタンスと同一リージョン内の異なるアベイラビリティゾーン
対象DBエンジン
- RDS for MariaDB
- RDS for MySQL
- RDS for MariaDB
- RDS for Oracle
- RDS for SQL Server
- RDS for Db2 ?
Multi-AZ DB cluster deployments(マルチAZ DBクラスター配置/デプロイ)
ドキュメント
定義
- リーダー DB (リードレプリカ)インスタンスの台数
- 2台
- リーダー DB (リードレプリカ)インスタンスの同期/非同期
- 準同期(semisynchronous)
- リーダー DB (リードレプリカ)インスタンスの役割
- ⭕️ フェイルオーバーサポート
- ⭕️ 読み取りトラフィックの処理
- スタンバイ DB (同期スタンバイレプリカ)インスタンスの配置先
- プライマリDBインスタンスと同一リージョン内の異なる2つのアベイラビリティゾーンに各1台ずつ
対象DBエンジン
- RDS for MySQL
- RDS for PostgreSQL
感想
忙しさにかまけて言葉の正確な意味や概念などはつい後回しにしてしまいがちです。ただ、これらを正しく理解すると、下記のような良いことがある気がしていて個人的にはおすすめです。
- ドキュメントを読むのが早くなる
- サービスに対する理解度が上がる
- 他の人に教える時に説得力が出る
- AWSのTenetsに対する理解度が上がる
Discussion