教程:创建多账户全局表
本节提供分步说明,指导您创建跨多个 Amazon 账户的 DynamoDB 全局表。
按照以下步骤,使用 Amazon Web Services 管理控制台创建多账户全局表。以下示例创建了一个全局表,并在美国创建了副本表。
-
对于第一个账户(假设为
111122223333),登录 Amazon Web Services 管理控制台并打开 DynamoDB 控制台:https://console.aws.amazon.com/dynamodb/。 -
对于本示例,从导航栏的区域选择器中选择美国东部(俄亥俄州)。
-
在控制台左侧的导航窗格中,选择表。
-
选择创建表。
-
在创建表页面上:
-
对于表名称,输入
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)退出。 -
对于第二个账户(假设为
444455556666),登录 Amazon Web Services 管理控制台并打开 DynamoDB 控制台:https://console.aws.amazon.com/dynamodb/。 -
对于本示例,从导航栏的区域选择器中选择美国东部(弗吉尼亚州北部)。
-
控制台将确保所选区域中不存在同名的表。如果有同名的表,则必须删除现有表,然后才能在该区域创建新的副本表。
-
在创建表旁边的下拉列表中,选择从另一个账户创建
-
在从另一个账户创建表页面上:
-
添加
arn:aws:dynamodb:us-east-2:作为源表的表 ARN。111122223333:table/MusicTable -
在副本表 ARN 中,再次添加源表的 ARN
arn:aws:dynamodb:us-east-2:。如果多账户全局表中已经存在多个副本,则必须将每个现有副本添加到 ReplicaTableARN。111122223333:table/MusicTable -
保留其他默认设置,然后选择提交。
-
-
音乐表(以及任何其他副本表)的全局表选项卡将显示该表已在多个区域中复制。
-
测试复制:
-
您可以使用任何存在此表副本的区域
-
选择浏览表项目。
-
选择创建项目。
-
对于艺术家,输入
item_1;而对于歌名,则输入Song Value 1。 -
选择创建项目。
-
通过切换到其它区域来验证复制:
-
验证 Music 表中是否包含您创建的项目。
-
以下示例说明如何使用 Amazon CLI 创建多账户全局表。这些示例演示了设置跨账户复制的完整工作流。