AuroraとリレーショナルDBを理解する
Auroraでは、SQLを実行するDBインスタンスとデータを保持するクラスタボリュームを分けて考えます。writerとreader、エンドポイント、容量調整の役割を整理します。
この単元で学ぶこと
- Auroraの互換性と構成を説明する
- writerとreaderの接続先を区別する
- 可用性とスケーリングの条件を判断する
本文解説
1. 互換エンジンを確認 AuroraにはMySQL互換とPostgreSQL互換のエンジンがあります。既存アプリのSQLやドライバーを活用しやすい一方、全ての版や拡張が同じとは限りません。移行では互換性の検証を行い、OracleやSQL Server等を無変更でそのまま実行するサービスと誤解しないようにします。
2. 計算と保存の分離 Auroraクラスタは一つ以上のDBインスタンスと、複数AZにまたがるクラスタボリュームで構成します。DBインスタンスはSQLの実行、保存部分はデータの保持を担います。一台のDBインスタンスだけでもクラスタと呼べるのは、保存側が複数の保存ノードを使うためです。
3. writerの役割 通常のAurora DBクラスタでは一つのwriterがデータの変更を行います。writerは読取りにも対応します。利用者がreaderを追加しても、その全てが同時に書込みを受けるwriterになるわけではありません。ここでは通常のクラスタを対象とし、別の分散DB方式等へ一般化しません。
4. readerの役割 Aurora Replicaは同じクラスタボリュームに接続して読取りを提供し、writerの読取り負荷を軽減できます。readerを別AZへ配置すると、writer障害時の昇格先としても利用できます。保存が複数AZであることと、計算用の切替先を別AZに用意していることを分けて確認します。
5. エンドポイント クラスタのwriterエンドポイントは現在のwriterへ、readerエンドポイントは読取り用の接続へ使います。readerエンドポイントは接続の分散であり、一本の接続内のSQLを一つずつ均等に各readerへ割り振る保証ではありません。readerがない場合の挙動等もあるので実構成を確認します。
6. フェイルオーバー writerが利用できなくなった場合、対応するreaderを昇格させる等の復旧を行います。アプリ側では接続の切断、再接続、再試行の整合性も考えます。エンドポイントが役割の変化を追えることと、実行中の全処理が何の影響も受けないことは同じではありません。
7. Serverlessの容量調整 Aurora Serverlessは負荷に応じて計算容量を調整する方式です。最小・最大容量や対応版・リージョン等を確認し、需要に応じた動作を評価します。Serverlessという名称だけで全てのデータ保持やI/Oも無料になったり、上限なく瞬時に処理できたりするものではありません。
8. 運用と復旧点 マネージドでもSQL、索引、業務権限、接続先、バックアップや復元の要件は利用者が確認します。readerや多AZ保存は高可用性・読取り拡張に役立ちますが、誤更新前の状態を残すバックアップの代わりではありません。互換性、性能、切替え、復元を実際のアプリで検証します。
図解
重要ポイント
- 計算インスタンスと保存ボリュームを分ける。
- reader追加は同時writerの追加ではない。
- reader endpointの分散単位と接続の扱いを確認する。
間違えやすい点
- 保存が複数AZなら計算の切替先も自動で全て揃うと考える。
- Serverlessを無料や無制限と読み替える。
用語解説
- writer
- 通常のAuroraクラスタで変更を処理するプライマリDBインスタンス。
- Aurora Replica
- 同じクラスタの保存領域を用いて読取りを提供するDBインスタンス。
- クラスタボリューム
- クラスタのデータを複数AZに保持する保存領域。
- 昇格
- reader等へwriterの役割を引き継がせること。
関連教材
参考資料
教材データに登録された参考リンクです。リンク先の内容や更新日は提供元でご確認ください。
- https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/CHAP_AuroraOverview.html
- https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/Aurora.Overview.html
- https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/aurora-serverless-v2.html
- https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/Aurora.Overview.Endpoints.html
確認問題の出題・採点や学習履歴の保存にはログインが必要です。