導入
DR設計で最も難しいのがデータ層です。アプリケーションサーバーは作り直せますが、データは複製しておかなければ二度と戻りません。ここでは主要なデータストアごとに、RPOをどこまで縮められるかを見ていきます。
説明
主要なデータサービスには、それぞれ専用のクロスリージョン複製機能があります。
| サービス | 機能 | 複製方式 | 目安RPO |
|---|---|---|---|
| Aurora | Global Database | ストレージレベルの非同期レプリケーション | 1秒未満 |
| DynamoDB | Global Tables | マルチアクティブなレプリケーション | 1秒未満 |
| S3 | クロスリージョンレプリケーション(CRR) | オブジェクト単位の非同期コピー | 数分〜(S3 RTC利用で15分保証) |
flowchart LR
subgraph R1["プライマリリージョン"]
A1["Aurora Primary"]
D1["DynamoDB Table"]
S1["S3 Bucket"]
end
subgraph R2["セカンダリリージョン"]
A2["Aurora Secondary<br/>(読み取り可・昇格可)"]
D2["DynamoDB Table(レプリカ)"]
S2["S3 Bucket(レプリカ)"]
end
A1 -->|"1秒未満の非同期複製"| A2
D1 <-->|"マルチアクティブ複製"| D2
S1 -->|"CRR(数分〜)"| S2
それぞれの特徴を押さえます。
- Aurora Global Database: 1つのプライマリリージョンと、最大複数のセカンダリリージョン(読み取り専用)で構成。障害時はセカンダリを書き込み可能に昇格(通常1分未満)させる。パイロットライト〜ウォームスタンバイ向き。
- DynamoDB Global Tables: すべてのリージョンが読み書き可能なマルチアクティブ構成。アクティブ-アクティブのマルチサイト戦略に直結する。
- S3 CRR: バケット単位でオブジェクトを別リージョンへ複製。S3 Replication Time Control(RTC) を有効化すると、99.99%のオブジェクトを15分以内に複製する、というSLAが付く。
読んでみよう
「RPOをほぼゼロにしたいが、書き込みは1リージョンからでよい」ならAurora Global Database、「複数リージョンから同時に書き込みたい」ならDynamoDB Global Tables、「静的コンテンツの複製にSLA付きの保証が欲しい」ならS3 CRR+RTC、というようにサービスごとの複製方式の違いが、そのまま出題の切り分けポイントになります。