導入
RDSより速く、より高可用性で、より柔軟にスケールするリレーショナルDBが欲しい ― そんな要件にSAAが用意する答えが Amazon Aurora です。
説明
Amazon Aurora は、MySQL・PostgreSQL互換のクラウドネイティブなRDBMSです。ストレージ層がAWS独自の分散設計になっており、標準RDSより高い性能・可用性を持ちます。
- ストレージ:データは自動的に3つのAZに2つずつ、合計6コピー複製される。過半数のコピーが読み書き可能なら継続稼働できる高耐久設計
- Auroraレプリカ:最大15台まで追加でき、ストレージを共有するためレプリケーション遅延がほぼゼロ。プライマリ障害時は既存のレプリカが自動昇格する(通常のRDSリードレプリカより高速なフェイルオーバー)
- Aurora Global Database:プライマリリージョンのデータを、1秒未満の遅延で別リージョンへレプリケーション。リージョン全体の障害対策やグローバル展開に使う
- Aurora Serverless v2:負荷に応じてキャパシティを自動的に増減。予測できない・断続的なワークロードに向く(アイドル時のコスト削減)
flowchart TD
subgraph Region1["プライマリリージョン"]
Primary["Auroraプライマリ"] --> R1["Auroraレプリカ"]
Primary --> Storage["6コピー分散ストレージ<br/>(3AZ×2)"]
end
subgraph Region2["セカンダリリージョン"]
Secondary["Auroraセカンダリ"]
end
Storage -.->|"Global Database<br/>1秒未満の遅延"| Secondary
SAAではこう問われる:「RDSより高い可用性と性能が欲しい」→ Aurora。「グローバル規模の読み取りとディザスタリカバリ」→ Aurora Global Database。「負荷が読めない・断続的」→ Aurora Serverless v2。
具体例
急成長したグローバルなゲーム会社の要件で、Auroraの各機能が刺さる様子を見てみましょう。
- 「RDS for MySQLでは性能と可用性が足りない」 → Aurora(MySQL互換)へ。ストレージが3AZに6コピー分散されるので高耐久、レプリカのフェイルオーバーも速い。アプリの書き換えは最小。
- 「日本と米国、両方のプレイヤーに低遅延で読ませたい。かつ東京リージョン全体の障害にも備えたい」 → Aurora Global Database。プライマリ(東京)のデータを1秒未満の遅延で米国リージョンへレプリケーション。各地のプレイヤーは近いリージョンから高速に読め、災害時は米国リージョンを昇格させてDRにできる。
- 「開発・検証用DBは、日中しか使わず夜間はアクセスゼロ」 → Aurora Serverless v2。負荷に応じて容量を自動で増減させ、暇な時間帯の料金を絞る。
「RDSの上位が欲しい=Aurora、グローバル低遅延+DR=Global Database(1秒未満)、負荷が読めない=Serverless v2」。なぜ速いか(ストレージが分散共有だから)まで理解すると応用問題にも強くなります。
読んでみよう
Auroraは「RDSの上位互換」と覚えるだけでなく、なぜ速いか(ストレージが分散・共有されているから)を理解しておくと、応用問題にも対応できます。Global Databaseの「1秒未満」という数値もよく問われるポイントです。