チュートリアル: マルチアカウントグローバルテーブルの作成
このセクションでは、複数の AWS アカウントにまたがる DynamoDB グローバルテーブルを作成するための段階的な手順について説明します。
AWS マネジメントコンソール を使用してマルチアカウントグローバルテーブルを作成するには、次の手順に従います。以下の例では、レプリカテーブルを持つグローバルテーブルを米国に作成します。
-
AWS マネジメントコンソール にサインインして、最初のアカウント (例:
111122223333) の DynamoDB コンソール (https://console.aws.amazon.com/dynamodb/) を開きます。 -
この例では、ナビゲーションバーのリージョンセレクターから [米国東部 (オハイオ)] を選択します。
-
コンソールの左側のナビゲーションペインで、[テーブル] を選択します。
-
[Create Table] (テーブルの作成) を選択します。
-
[テーブルの作成] ページで、次の操作を行います。
-
[テーブル名] に
MusicTableと入力します。 -
[パーティションキー] に
Artistと入力します。 -
[ソートキー] に
SongTitleと入力します。 -
他のデフォルトの設定はそのままにして、[テーブルの作成] を選択します。
-
-
次のリソースポリシーをテーブルに追加します
{ "Version": "2012-10-17", "Statement": [ { "Sid": "DynamoDBActionsNeededForSteadyStateReplication", "Effect": "Allow", "Action": [ "dynamodb:ReadDataForReplication", "dynamodb:WriteDataForReplication", "dynamodb:ReplicateSettings" ], "Resource": "arn:aws:dynamodb:us-east-2:111122223333:table/MusicTable", "Principal": {"Service": ["replication.dynamodb.amazonaws.com"]}, "Condition": { "StringEquals": { "aws:SourceAccount": ["444455556666","111122223333"], "aws:SourceArn": [ "arn:aws:dynamodb:us-east-1:444455556666:table/MusicTable", "arn:aws:dynamodb:us-east-2:111122223333:table/MusicTable" ] } } }, { "Sid": "AllowTrustedAccountsToJoinThisGlobalTable", "Effect": "Allow", "Action": [ "dynamodb:AssociateTableReplica" ], "Resource": "arn:aws:dynamodb:us-east-2:111122223333:table/MusicTable", "Principal": {"AWS": ["444455556666"]} } ] } -
この新しいテーブルは、新しいグローバルテーブルの最初のレプリカテーブルとして機能します。これは、後で追加する他のレプリカテーブルのプロトタイプです。
-
テーブルが [アクティブ] になるまで待ちます。新しく作成したテーブルについては、[グローバルテーブル] タブから [設定のレプリケーション] に移動し、[有効化] をクリックします。
-
このアカウント (ここでは
111122223333) からログアウトします。 -
AWS マネジメントコンソール にサインインし、2 番目のアカウント (例:
444455556666) の DynamoDB コンソール https://console.aws.amazon.com/dynamodb/を開きます。 -
この例では、ナビゲーションバーのリージョンセレクターから [米国東部 (バージニア北部)] を選択します。
-
コンソールは、選択したリージョンに同一名のテーブルが存在しないことを確認します。同一名のテーブルが存在する場合は、そのリージョンで新しいレプリカテーブルを作成する前に既存のテーブルを削除する必要があります。
-
[テーブルの作成] の近くのドロップダウンで、[別のアカウントから作成] を選択します。
-
[別のアカウントからテーブルを作成する] ページで次の操作を行います。
-
ソーステーブルのテーブル ARN として
arn:aws:dynamodb:us-east-2:を追加します。111122223333:table/MusicTable -
[レプリカテーブル ARN] で、ソーステーブルの ARN を再度追加します (
arn:aws:dynamodb:us-east-2:)。マルチアカウントグローバルテーブルの一部として複数のレプリカが既に存在する場合は、既存のすべてのレプリカを ReplicaTableARN に追加する必要があります。111122223333:table/MusicTable -
他のデフォルトの設定はそのままにして、[送信] を選択します。
-
-
Music テーブル (およびその他すべてのレプリカテーブル) の [グローバルテーブル] タブに、テーブルが複数のリージョンでレプリケートされたことが示されます。
-
レプリケーションをテストするには、次の操作を行います。
-
このテーブルのレプリカが存在する任意のリージョンを使用できます。
-
[テーブルアイテムの探索] を選択します。
-
[項目を作成] を選択します。
-
[アーティスト] に「
item_1」、[曲名] に「Song Value 1」と入力します。 -
[項目を作成] を選択します。
-
他のリージョンに切り替えてレプリケーションを確認します。
-
[ミュージック] テーブルに、作成した項目が含まれていることを確認します。
-
次の例は、AWS CLI を使用してマルチアカウントグローバルテーブルを作成する方法を示しています。これらの例は、クロスアカウントレプリケーションを設定するための完全なワークフローを示しています。