CRR:ECR
3. Read local, write local
•
ユーザーは地理的に近いリージョンに ルーティングされる•
データストアは全リージョンにWriter が存在するいわゆるマルチマスター構 成•
ReadもWriteも同リージョンのマス ターに対して⾏える•
同⼀PKへの書き込みが発⽣する可能性 があるため、整合性を担保するロジッ クが必要 (あるいは許容する)•
上記性質により、トランザクションが 少ない、またリージョン毎でデータを パーティションしやすいワークロード に適している•
チャットサービス•
カタログデータ保存ap-northeast-1
Web
App App App
Master DB
Japan Osaka
R W
ap-northeast-3
Web
App App App
Master DB
W R
Database
Synchronization
Database Layer の選択肢
• Aurora MySQL, RDS for MariaDB, MySQL, Oracle, PostgreSQLにてサ ポート
•
Cross Region RRがサポートされている/されていないエンジンバージョンがある ので注意
• エンジンネイティブのレプリケーション 機能を使⽤する
• 遅延はレプリケーション先リージョンと の距離やワークロードに依存する
1. Cross-region read replica 2. Aurora Global Database 3. DynamoDB Global Tables
Region 1 Region 2
Writer Read Replica
Region 1 Region 2
Writer
Replicas Replicas
Region 1 Region 2
Table Table
• Amazon Aurora MySQLにてサポート
• Auroraストレージレベルでレプリケーション が実⾏されるため、プライマリクラスタにパ フォーマンス影響を与えない
• 遅延は通常1秒以内、フェイルオーバーは通常 1分以内で完了する
• DR要件や別リージョンでの低遅延なread処理 に最適化された機能
• DynamoDBにてサポート
• 有効化された全リージョン間でデータが伝 播され、データの読み書き両⽅が可能
• 遅延は通常1秒以内
• DRやクロスリージョンでのマルチマスター
データストアとして利⽤可能
© 2021, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Amazon Aurora Global Database
•
プライマリクラスタはデータの読み取りと書き込みが可能、セカン ダリクラスタは読み取りのみサポート•
ストレージレベルでレプリケーションが実⾏されるため、プライマ リクラスタのパフォーマンス影響を与えない•
通常1秒以内にデータがセカンダリリージョンへ伝搬される•
フェイルオーバーは通常1分以内に完了し、⼿動フェイルオーバー も可能•
制限 (2020年2⽉時点)•
db.t2 では使⽤不可。db.r4 および db.r5にて使⽤可能•
Auroraエンジンバージョン1.22以上および2.07以上にて使⽤可能•
ストックホルム、⾹港、バーレン、サンパウロ以外のリージョンで使⽤可 能•
ひとつのプライマリクラスタに対し、最⼤5つのセカンダリクラスタを追 加することが可能。ひとつのセカンダリクラスタでは最⼤16のレプリカ を作成可能•
クローン、バックトラック、パラレルクエリ、Aurora Serverless、DBク ラスタの停⽌と起動、などの機能は現状サポートされていないRegion 1
Primary v
AZ 1 AZ 2 AZ 3
Aurora ストレージ
レプリケーション⽤ フリート
W R R
Region 2
Secondary v
AZ 1 AZ 2 AZ 3
Aurora ストレージ
レプリケーション⽤ フリート
R
Auroraクラスタを複数リージョンへ展開する機能
Amazon DynamoDB Global Tables
DynamoDBテーブルを複数リージョンへ展開する機能
•
有効化された全てのリージョンのテーブルに対しデータの読み取り と書き込みが可能•
書き込み後は裏で他リージョンのテーブルに通常1秒以内にデータ が伝搬される•
異なるリージョン間で同⼀Itemに対し書き込み競合が発⽣した場合、DynamoDBは最新の書き込みを優先する (結果整合性)
•
トランザクションは同⼀リージョン内でのみサポートされるため、強整合性を必要とする場合は⼀つのリージョンに対してクエリする
•
データのレプリケーションには通常同様WCUが消費される。また、on-demandモードかauto scalingを有効化する必要がある
•
リージョンが利⽤不可になった場合、アプリケーションロジック内 で他リージョンにリクエストをルーティングする•
既存のテーブルに対しGlobal Tablesを有効化することが可能© 2021, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Amazon ElastiCache Global Datastore for Redis
ElastiCache for Redis を複数リージョンへ展開する機能
•
最⼤2つまでの別リージョンにRedisクラスタをレプリケートする•
既存クラスタ含めRedis 5.0.6以上から設定可能。R5, M5タイプの ノードをサポート•
通常1秒以内にデータがセカンダリリージョンへ伝搬される•
フェイルオーバーは通常1分以内に完了する•
ユースケースはAurora Global Databaseと同様に、DR⽤途もしく は別リージョンにあるアプリケーションからのアクセスレイテン シー/UX改善•
プライマリーからセカンダリへのフェイルオーバーは⾃動では実⾏されないため、コンソールもしくはfailover-global-replication-groupコマンドを使⽤する必要がある
•
Global Datastoreの⼀部として動作するノードのリサイズ (ノード の増減/シャードの増減/レプリカノードの増減) はこれまで同様に⾏える
Network Layer
• External – 外部向け通信
• Route 53
• Global Accelerator
• CloudFront
• Internal – 内部向け通信
• Inter-region VPC Peering
• Direct Connect
© 2021, Amazon Web Services, Inc. or its Affiliates. All rights reserved.