1 つのリージョンへの書き込みモード (単一プライマリ) - AWS 規範ガイダンス

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

1 つのリージョンへの書き込みモード (単一プライマリ)

次の図に示すように、1 つのリージョンへの書き込みモードはアクティブ/パッシブで、すべてのテーブル書き込みオペレーションを 1 つのアクティブなリージョンにルーティングします。(DynamoDB には 1 つのアクティブなリージョンという概念はありません。DynamoDB 外のレイヤーがこれを管理します)。1 つのリージョンへの書き込みモードは、書き込みオペレーションが一度に 1 つのリージョンにのみ流れるようにすることで、書き込みの競合を回避する必要がある MREC テーブルに適しています。この書き込みモードは、条件式を使用し、何らかの理由で MRSC を使用できない場合や、トランザクションを実行する必要がある場合に役立ちます。これらの式は、最新のデータに対して動作していることがわかっていなければ実行できないため、最新のデータを持つ 1 つのリージョンにすべての書き込みリクエストを送信する必要があります。

MRSC テーブルを使用する場合、便宜上、通常は 1 つのリージョンに書き込むように選択できます。たとえば、これにより、DynamoDB 以外のインフラストラクチャのビルドアウトを最小限に抑えることができます。MRSC を使用すると、MREC テーブルが 1 つのリージョンに書き込むことを選択する競合の解決を心配することなく、いつでも任意のリージョンに安全に書き込むことができるため、書き込みモードは引き続き任意のリージョンに書き込まれます

結果整合性のある読み込みオペレーションは、いずれかのレプリカリージョンに移動して、レイテンシーを低くすることができます。強力な整合性のある読み取りオペレーションは、単一のプライマリリージョンに移行する必要があります。

DynamoDB グローバルテーブルの単一プライマリ書き込みモード。

後で説明するように、リージョンの障害に応じてアクティブなリージョンを変更する必要がある場合があります。一部のユーザーは、follow-the-sunデプロイの実装など、現在アクティブなリージョンを定期的に変更します。これにより、アクティビティが最も多い地域 (通常は日中の場所、つまり名前) の近くにアクティブなリージョンが配置され、読み取りおよび書き込みオペレーションのレイテンシーが最も低くなります。また、リージョンを変更するコードを毎日呼び出し、ディザスタリカバリの前に十分にテストされていることを確認するという利点もあります。

パッシブリージョン (複数可) は、アクティブリージョンになった場合にのみ構築される DynamoDB を囲むダウンスケールインフラストラクチャを保持する場合があります。このガイドでは、パイロットライトとウォームスタンバイの設計について説明していません。詳細については、ブログ記事「ディザスタリカバリ (DR) アーキテクチャ AWS」、パート III: パイロットライトとウォームスタンバイ」を参照してください。

1 つのリージョンへの書き込みモードの使用は、グローバルテーブルを使用して低レイテンシーでグローバルに分散された読み取りオペレーションを行う場合に適しています。例としては、世界中のすべてのリージョンで同じ参照データを用意する必要がある大規模なソーシャルメディア企業が挙げられます。データは頻繁に更新されませんが、更新すると、書き込みの競合を避けるために 1 つのリージョンにのみ書き込みます。読み取りオペレーションは常に任意のリージョンから許可されます。

別の例として、前述の金融サービス会社で、日次キャッシュバック計算を実装したとします。残高の計算には任意のリージョンモードへの書き込みを使用し、支払いを追跡するには 1 つのリージョンモードへの書き込みを使用しました。この作業には、MRSC テーブルでサポートされていないトランザクションが必要なため、別の MREC テーブルでより適切に動作し、1 つのリージョンモードに書き込むことができます。