グローバルテーブル: DynamoDB を使用した複数リージョンレプリケーション - Amazon DynamoDB

グローバルテーブル: DynamoDB を使用した複数リージョンレプリケーション

DynamoDB グローバルテーブルには、バージョン 2019.11.21 (現行)バージョン 2017.11.29 の 2 つのバージョンがあります。使用しているバージョンを確認するには、「バージョンの確認」を参照してください。

Amazon DynamoDB グローバルテーブルは、マルチリージョンにマルチマスターデータベースをデプロイするための完全マネージド型のソリューションです。独自のレプリケーションソリューションを構築および管理する必要はありません。グローバルテーブルを使用すると、そのテーブルの利用を許可する AWS リージョンを指定できます。DynamoDB では、これらのリージョンに同一のテーブルを作成するのに必要なすべてのタスクを実行し、変更中のデータをすべてのテーブルに伝達します。

たとえば、3 つの地理的領域 (米国東海岸、米国西海岸、西欧) にまたがる大規模な顧客ベースがあるとします。ユーザーは、アプリケーションの使用中に自分のプロファイル情報を更新できます。このユースケースを満たすには、ユーザーが所在する 3 つの異なる AWS リージョンで、CustomerProfiles という名前の同一の DynamoDB テーブルを 3 つ作成する必要があります。この 3 つのテーブルは、互いに完全に独立しています。1 つのテーブルのデータを変更しても他のテーブルに反映されることはありません。マネージド型のレプリケーションソリューションを使用しなくても、コードを書き込んで、このテーブル間のデータ変更をレプリケートすることができます。ただし、これを行うには時間も労力もかかります。

独自のコードを書き込む代わりに、リージョン固有の 3 つの CustomerProfiles テーブルから構成されるグローバルテーブルを作成します。DynamoDB は、これらのテーブル間のデータ変更に自動的にレプリケートされるため、1 つのリージョンの CustomerProfiles データを変更すると、他のリージョンにシームレスに伝達されます。さらに、いずれかの AWS リージョンが一時的に利用できない場合は、顧客は他のリージョンの同じ CustomerProfiles データにアクセスできます。

DynamoDB グローバルテーブルは、グローバルに分散したユーザーがいる場合など、大規模にスケールされたアプリケーションを使用する場合に最適です。このような環境では、ユーザーは、非常に高速なアプリケーションパフォーマンスを期待します。グローバルテーブルでは、マルチマスターレプリケーションを世界中の AWS リージョンに自動的に提供できます。ユーザーがどこにいても、低レイテンシーでデータを提供することができます。

注記
  • DynamoDB グローバルテーブルには、バージョン 2019.11.21 (現行)バージョン 2017.11.29 の 2 つのバージョンがあります。 バージョン 2019.11.21 (現行) のグローバルテーブルを使用することをお勧めします。このテーブルを使用すると、データが入力されたテーブルから新しいレプリカテーブルを動的に追加できるようになります。 バージョン 2019.11.21 (現行)バージョン 2017.11.29 よりも効率的で、書き込みキャパシティーの消費を低く抑えることができます。

  • グローバルテーブル バージョン 2017.11.29 のリージョンのサポートは、米国東部 (バージニア北部)、米国東部 (オハイオ)、米国西部 (北カリフォルニア)、米国西部 (オレゴン)、欧州 (アイルランド)、欧州 (ロンドン)、欧州 (フランクフルト)、アジアパシフィック (シンガポール)、アジアパシフィック (シドニー)、アジアパシフィック (東京)、アジアパシフィック (ソウル) に制限されています。

  • 現在、バージョン 2019.11.21 (現行) のグローバルテーブルを使用しており、かつ有効期限 (TTL) 機能も使用している場合、DynamoDB ではすべてのレプリカテーブルに TTL の削除をレプリケートします。最初の TTL 削除では、TTL 有効期限が発生するリージョンでの書き込みキャパシティーは消費されません。ただし、レプリカテーブルにレプリケートされた TTL 削除では、プロビジョンドキャパシティーを使用する場合は、レプリケートされた書き込みキャパシティーユニットが消費され、オンデマンドのキャパシティーモードを使用する場合は、レプリケートされた書き込みが各レプリカリージョンで消費されます。該当する料金が適用されます。

  • トランザクションオペレーションは、書き込みが最初に行われたリージョン内でのみ、不可分性、一貫性、分離性、および耐久性 (ACID) を保証します。グローバルテーブルのリージョン間では、トランザクションはサポートされていません。たとえば、米国東部(オハイオ)および米国西部(オレゴン)リージョンにレプリカを持つグローバルテーブルがあり、米国東部(バージニア北部)リージョンで TransactWriteItems オペレーションを実行する場合、変更がレプリケートされると米国西部(オレゴン)で部分的に完了したトランザクションを確認できます。変更は、ソースリージョンでコミットされると、他のリージョンにのみレプリケートされます。

使用可能な AWS リージョンおよび料金については、「Amazon DynamoDB 料金表」を参照してください。