Amazon RDS for MySQL でリードレプリカを作成する際に、「可用性」の「デプロイオプション」は何を選択するべきですか
困っていた内容
Amazon RDS for MySQL でリードレプリカを作成したいです。
作成時に「可用性」の「デプロイオプション」において、以下の3つが選択可能ですが、それぞれどのような違いがありますか?
・マルチ AZ DB クラスターデプロイ (3 インスタンス)
・マルチ AZ DB インスタンスデプロイ (2 インスタンス)
・シングル AZ DB インスタンスデプロイ (1 インスタンス)
どう対応すればいいの?
結論
それぞれの違いとしては、以下のとおりとなります。
デプロイオプション | AZ の指定可否 | マルチ AZ | 追加されるインスタンス数 | ロール |
---|---|---|---|---|
マルチ AZ DB クラスターデプロイ (3 インスタンス) | 不可 | 3 ゾーン | 3 (ライターインスタンス x 1、リーダーインスタンス x 2) | マルチ AZ DB レプリカクラスター |
マルチ AZ DB インスタンスデプロイ (2 インスタンス) | 不可 | あり | 2 (*) | レプリカ |
シングル AZ DB インスタンスデプロイ (1 インスタンス) | 可能 | なし | 1 | レプリカ |
(*)スタンバイ インスタンスはコンソール上には表示されません。
なお、実際に作成を試してみたところ、それぞれ以下のようになりました。
作成例:
- マルチ AZ DB クラスターデプロイ (3 インスタンス)
- ootaka-sample-db-01-3i
- マルチ AZ DB インスタンスデプロイ (2 インスタンス)
- ootaka-sample-db-01-2i
- シングル AZ DB インスタンスデプロイ (1 インスタンス)
- ootaka-sample-db-01-read-a
これらを踏まえた上で、実際の要件やワークロードに応じて、適切な「デプロイオプション」をご選択ください。
なお、リードレプリカの追加時にプライマリインスタンスが「マルチ AZ 配置」の場合は、I/O 停止を回避できることが期待されます。
ただし、リードレプリカの作成からデータ同期するまでの期間はプライマリに負荷がかかる可能性がございますため、この点につきましてはご留意ください。
参考情報