グローバルテーブルのバージョン 2019.11.21 (現行) への更新中
DynamoDB グローバルテーブルには、バージョン 2019.11.21 (現行) と バージョン 2017.11.29 の 2 つのバージョンがあります。ご使用のバージョンを確認するには、バージョンを確認する を参照してください。 |
このセクションでは、グローバルテーブルをバージョン 2019.11.21 (現行) に更新する方法について説明します。
開始する前に
DynamoDB グローバルテーブルバージョン 2019.11.21 (現行) では、次の要件が導入されています。
-
レプリカテーブルのグローバルセカンダリインデックスは、リージョン間で一貫している必要があります。
-
レプリカテーブルの暗号化設定は、リージョン間で一貫している必要があります。
-
レプリカテーブルの有効期限 (TTL) 設定は、リージョン間で一貫している必要があります。レプリカテーブルで TTL が有効な場合、TTL 削除がレプリケートされます。
-
すべてのレプリカテーブルの書き込み容量単位に対して、DynamoDB Auto Scaling またはオンデマンド容量を有効にする必要があります。
-
グローバルテーブルのコントロールプレーンオペレーション (作成、削除、更新、説明) API は異なります。詳細については、「グローバルテーブル: DynamoDB を使用したマルチリージョンレプリケーション」を参照してください。
DynamoDB グローバルテーブルバージョン 2019.11.21 (現行) では、次の動作が変更されました。
-
DynamoDB Streams は、書き込みごとに (2 つではなく) 1 つのレコードのみをパブリッシュします。
-
新しい挿入の場合、項目レコードの
aws:rep:*
属性は追加されません。 -
aws:rep:*
属性を含む項目を更新する場合、それらの属性は更新されません。 -
DynamoDB マッパーは、このテーブルで
aws:rep:*
属性を必要としません。 -
バージョン 2017.11.29 からバージョン 2019.11.21 に更新すると、
ReplicationLatency
メトリクスが増加することがあります。バージョン 2019.11.21 (現行) は、グローバルテーブルリージョン間のレプリケーション遅延の完全なエンドツーエンドの測定を取得するため、これは通常の動作です。詳細については、バージョン 2017.11.29 およびバージョン 2019.11.21 (現行) のバージョンに関する「ReplicationLatency
ドキュメント」を参照してください。
必要な許可
バージョン 2019.11.21 (現行) に更新するには、レプリカリージョン間の dynamodb:UpdateGlobalTableVersion
アクセス許可が必要です。これらの許可は、DynamoDB コンソールへのアクセスとテーブルの表示に必要なアクセス許可に追加して必要です。
次の IAM ポリシーでは、グローバルテーブルをバージョン 2019.11.21 (現行) に更新するアクセス許可が付与されます。
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "dynamodb:UpdateGlobalTableVersion", "Resource": "*" } ] }
次の IAM ポリシーでは、2 つのリージョンにレプリカがある Music
グローバルテーブルのみをバージョン 2019.11.21 (現行) に更新するアクセス許可が付与されます。
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "dynamodb:UpdateGlobalTableVersion", "Resource": [ "arn:aws:dynamodb::123456789012:global-table/Music", "arn:aws:dynamodb:ap-southeast-1:123456789012:table/Music", "arn:aws:dynamodb:us-east-2:123456789012:table/Music" ] } ] }
更新プロセスの概要
更新プロセス中は、グローバルテーブルの状態が ACTIVE から UPDATING に変わります。
プロセスには数分かかりますが、1時間以内に完了します。更新プロセス中、テーブルは読み取りトラフィックと書き込みトラフィックに対して引き続き使用できます。ただし、更新中は Auto Scaling によるテーブルのプロビジョニングされた容量の変更は行われません。そのため、更新を開始する前に、テーブルをオンデマンド容量に切り替えることをお勧めします。
更新中に Auto Scaling でプロビジョニングされた容量を使用する場合は、更新中に予想されるトラフィックの増加に対応するために、ポリシーの最小読み取りスループットと書き込みスループットを増やす必要があります。
更新プロセスが完了すると、テーブルのステータスは ACTIVE に戻ります。DescribeTable
を使用してテーブルの状態を確認するか、DynamoDB コンソールの [Tables] (テーブル) ビューを使用して確認できます。
-
バージョン 2017.11.29 からバージョン 2019.11.21 (現行) への更新は 1 回限りのアクションであり、元に戻すことはできません。更新を進める前に、必要なテストがすべて実行されていることを確認してください。新しく作成されたグローバルテーブルは、更新する前に、最大 60 分空けてください。
-
グローバルテーブルのバージョン 2017.11.29 では、DynamoDB は項目レコードに 3 つの属性を挿入する書き込みオペレーションを実行しました。これらの属性 (
aws:rep:*
) は、レプリケーションの実行と競合解決の管理に使用されました。バージョン 2019.11.21 (現行) のグローバルテーブルでは、レプリケーションアクティビティはネイティブに管理され、ユーザーには公開されません。 -
バージョン 2019.11.21 (現行) への更新は、DynamoDB コンソールからのみ実行できます。
バージョン 2019.11.21 (現行) への更新
AWS Management Console を使用して DynamoDB グローバルテーブルのバージョンを更新する手順は、次のとおりです。
グローバルテーブルをバージョン 2019.11.21 に更新するには
-
DynamoDB コンソール (https://console.aws.amazon.com/dynamodb/home
) を開きます。 -
コンソールの左側のナビゲーションペインで、[テーブル] を選択し、2019.11.21 (現行) に更新するグローバルテーブルを選択します。
-
[グローバルテーブル] タブを選択します。
-
[Update version (バージョンの更新)] を選択します。
-
新しい要件を読んで同意してから、[バージョンを更新] を選択します。
重要 バージョン 2017.11.29 からバージョン 2019.11.21 (現行) への更新は 1 回限りのアクションであり、元に戻すことはできません。更新を開始する前に、必要なテストがすべて実行されていることを確認してください。
-
更新プロセスが完了すると、コンソールに表示されるグローバルテーブルのバージョンが 2019.11.21 に変更されます。