Help us understand the problem. What is going on with this article?

RDS for MySQLでの可用性向上の機能についてゆるくまとめてみた

More than 1 year has passed since last update.

RDS for MySQLでの可用性向上について構成検討するにあたりゆるりとまとめてみた

Auroraは素敵な機能がたくさん出ているけど今回は、RDS for MySQLの話

マスタのMultiAZ

概要

  • 異なるAZにスタンバイインスタンスを配備し、同期データレプリケーションする(同期レプリなので書込性能は劣化する)
  • Amazonのフェイルオーバーテクノロジーにより、インフラレイヤの障害時に自動でスタンバイインスタンスにフェイルオーバーする

下記がフェイルオーバー発生の条件

  • アベイラビリティーゾーンの機能停止
  • プライマリ DB インスタンスのエラー
  • DB インスタンスのサーバータイプ変更
  • DB インスタンスのオペレーティングシステムでソフトウェアのパッチ適用中
  • DB インスタンスの手動フェイルオーバーが [Reboot with failover] を使用して開始された

うれしいポイント

  • masterの可用性とデータの耐久性をメンテナンスレスで向上させる事が出来る

https://docs.aws.amazon.com/ja_jp/AmazonRDS/latest/UserGuide/Concepts.MultiAZ.html

リードレプリカのMultiAZ

概要

  • master-リードレプリカは非同期レプリだが、リードレプリカのAZ間は同期レプリ
  • マスタのMultiAZと仕組みは同じ

うれしいポイント

  • リードレプリカが一台構成の時に、可用性を向上させることができる
  • リージョンをまたいだDR対応が可能(リージョン死んだ時に、MultiAZ構成でレプリカをmaster昇格させる)
    • 本格的なDRサイト組むような環境だとたしかにうれしいかも
  • アップグレードに使える(MultiAZレプリカをアップグレードした後に、master昇格させることでメンテ時間を短縮)

リードレプリカの負荷分散

概要

  • masterからリードレプリカを複数台作る(非同期レプリ)
    • 単一のソースインスタンスから最大5機のリードレプリカまで作れる
    • チェーンすれば台数は増やせるが、その分レプリのタイムラグは大きくなる
  • Route53 のホストゾーン機能で負荷分散するのがAWS推奨らしい
    • リードレプリカを増やした時は、R53へのレコード追加が必要
    • 重み付けratioでリクエスト数調整したり、ヘルスチェックも使えるのでL4LB相当のことが出来る(こんな簡単にできてもうなんかLVSとか運用してた時代が。。。)

うれしいポイント

  • アプリケーションからのread処理をレプリカに向けることで、masterの負荷を下げれる
  • 1エンドポイントに複数台レプリカ(AZも分離する)を構える事で、1台でも生きていれば処理継続出来る
    • r53のヘルスチェックを入れる必要ある
  • レプリカはスケールアウト戦略で負荷に対して対応することが可能

リードレプリカのMultiAZはアップグレード時以外はあまりおいしくないなといった印象。
MultiAZでmasterを構えて、リードレプリカを複数作って負荷分散するのが負荷対策とコスト考えた時によさそう。

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away