はじめに
業務でオンプレ上のPostgreSQLをAWSに移行することになりました。
マネージドする方向で動いていますが、RDSとAuroraの違いを正確に理解できていなかったため、整理してみました。
RDS | Aurora | |
---|---|---|
データベースエンジン | MySQL PostgreSQL MariaDB Oracle Microsoft SQL Server |
MySQL PostgreSQL |
デプロイオプション | (1)単一AZデプロイメント (2)マルチAZデプロイメント (3)リードレプリカデプロイメント (4)マルチリージョンデプロイメント |
(1)単一マスターデプロイメント (2)マルチマスターデプロイメント (3)グローバルデータベースデプロイメント |
レプリケーション | マスタースレーブのレプリケーションを使用してデータの冗長性と耐久性を確保します。マスターデータベースとリードレプリカの間でデータが同期されます | データの冗長性と可用性を高めるために、マルチAZ構成と分散ストレージが組み合わせて使用されます。データは6つのコピーに分散され、自動フェイルオーバーや耐久性の向上が実現されます。(6つの中で4個は同期、残り2つは非同期) |
バックアップ/リカバリ | スナップショットや自動バックアップなどの機能を使用してデータのバックアップとリカバリを行います。 | 連続的バックアップと短期間のリカバリポイント(最大5分間隔)をサポートしています。バックアップはストレージレイヤーで行われるため、データのバックアップおよびリストアの速度が高速です。 |
補足
- RDSはマルチAZはサポートしているが、直接的なマルチリージョンはサポートしていない。
- マルチリージョンにするためには、リードレプリカを別リージョンに配置して、障害時に自動/手動で昇格させる必要がある
- 自動化のプロセスにはcloud watch eventとlambdaが必要
- マルチAZ:高可用性を高める。同期レプリケーション
- リードレプリカ:拡張性を高める(処理を早くする)。非同期レプリケーション
- RDS自動フェイルオーバー:自動
- RDSリードレプリカの昇格:手動(一時的な障害対応)
参考
https://atmarksol.jp/tech/aws-rds-vs-aurora/
https://chariosan.com/2019/09/01/rds_aurora_comparison/
https://dev.classmethod.jp/articles/cm-advent-calendar-2015-aws-re-entering-rds/
https://dev.classmethod.jp/articles/cm-advent-calendar-2015-aws-re-entering-rds/
https://qiita.com/tireidev/items/85954500a2c667f0e898
https://note.com/ym202110/n/n8f465cfb11cb