導入
前のレッスンのDR戦略を実現するには、複数リージョンにトラフィックとデータをどう配るかという具体的な仕組みが必要です。ここでは「振り分け」と「データ複製」の2つの柱を見ます。
説明
Amazon Route 53 はDNSサービスですが、SAAでは フェイルオーバールーティング の役割が重要です。プライマリリージョンのヘルスチェックが失敗すると、Route 53は自動的にセカンダリリージョンへトラフィックを振り向けます。
flowchart TD
U["利用者"] --> R53["Route 53<br/>(ヘルスチェック監視)"]
R53 -->|"正常時"| Primary["プライマリリージョン"]
R53 -.->|"障害検知時に切替"| Secondary["セカンダリリージョン"]
トラフィックを切り替えても、そのリージョンにデータがなければ意味がありません。そこで各サービスにはリージョンをまたいだデータ複製の仕組みが用意されています。
| サービス | 複製の仕組み | 特徴 |
|---|---|---|
| S3 | クロスリージョンレプリケーション(CRR) | バケット間でオブジェクトを自動複製 |
| Aurora | Aurora Global Database | プライマリリージョンへの書き込みを1秒未満のレイテンシーで他リージョンへ複製、読み取り専用リージョンを複数持てる |
| DynamoDB | グローバルテーブル(Global Tables) | 複数リージョンでマルチマスター(どのリージョンでも書き込み可能)の完全マネージドレプリケーション |
flowchart LR
subgraph Region1["東京リージョン"]
S3a["S3バケット"]
Auroraa["Auroraプライマリ"]
end
subgraph Region2["大阪リージョン"]
S3b["S3バケット"]
Aurorab["Aurora読み取りレプリカ"]
end
S3a -- "CRR" --> S3b
Auroraa -- "Global Database" --> Aurorab
これらを組み合わせることで、「リージョン障害が起きてもRoute 53で切り替え、データも複製済みなのですぐ使える」という、レッスン48の高度なDR戦略(ウォームスタンバイ以上)を実現できます。
読んでみよう
「リージョン全体の障害に備えたい」という問題文が出たら、「トラフィックの切替(Route 53フェイルオーバー)」と「データの複製(CRR / Global Database / Global Tables)」の両方がセットで揃っているか確認しましょう。片方だけでは災害対策として不十分です。