创建 DAX 集群 - Amazon DynamoDB
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

创建 DAX 集群

本节指导您完成在默认的 Amazon Virtual Private Cloud (Amazon VPC) 环境中首次设置和使用 Amazon DynamoDB Accelerator (DAX) 的过程。可以使用 Amazon Command Line Interface (Amazon CLI) 或 Amazon Web Services Management Console 创建第一个 DAX 集群。

创建 DAX 集群之后,可以从在相同的 VPC 中运行的 Amazon EC2 实例进行访问。然后可以将您的 DAX 集群用于应用程序。有关更多信息,请参见 使用 DynamoDB Accelerator (DAX) 客户端开发

为 DAX 创建 IAM 服务角色以访问 DynamoDB

要让您的 DAX 集群可以代表您访问 DynamoDB 表,您必须创建一个服务角色。服务角色是 Amazon Identity and Access Management (IAM) 角色,用于向 Amazon 服务授权代表您执行操作。服务角色允许 DAX 访问您的 DynamoDB 表,就像您自己访问这些表一样。必须先创建服务角色,然后才能创建 DAX 集群。

如果使用控制台,则创建集群的工作流将检查是否存在现有的 DAX 服务角色。如果没有找到,则控制台将为您创建一个新的服务角色。有关更多信息,请参阅 步骤 2:使用 Amazon Web Services Management Console 创建 DAX 集群

如果使用 Amazon CLI,则必须指定之前创建的 DAX 服务角色。否则,需要事先创建一个新的服务角色。有关更多信息,请参阅 步骤 1:使用 Amazon CLI 为 DAX 创建 IAM 服务角色以访问 DynamoDB

创建服务角色所需的权限

AWS 管理的 AdministratorAccess 策略提供创建 DAX 集群以及创建服务角色所需的所有权限。如果 IAM 用户附加 AdministratorAccess,则无需更多操作。

否则,必须将以下权限添加到 IAM 策略,以便 IAM 用户可以创建服务角色:

  • iam:CreateRole

  • iam:CreatePolicy

  • iam:AttachRolePolicy

  • iam:PassRole

将这些权限附加到尝试执行操作的用户。

注意

Amazon 的 DynamoDB 托管策略中不包含 iam:CreateRoleiam:CreatePolicyiam:AttachRolePolicyiam:PassRole 权限。这是设计使然,因为这些权限提供了特权提升的可能性:即用户可以使用这些权限来创建新的管理员策略,然后将该策略附加到现有角色。因此,您(DAX 集群的管理员)必须明确将这些权限添加到您的策略。

故障排除

如果您的用户策略缺少 iam:CreateRoleiam:CreatePolicyiam:AttachPolicy 权限,您会收到错误消息。下表列出这些消息,并说明了如何纠正问题。

如果您看到此错误消息… 执行以下操作:
User: arn:aws:iam::accountID:user/userName is not authorized to perform: iam:CreateRole on resource: arn:aws:iam::accountID:role/service-role/roleName iam:CreateRole 添加到您的用户策略中。
User: arn:aws:iam::accountID:user/userName is not authorized to perform: iam:CreatePolicy on resource: policy policyName iam:CreatePolicy 添加到您的用户策略中。
User: arn:aws:iam::accountID:user/userName is not authorized to perform: iam:AttachRolePolicy on resource: role daxServiceRole iam:AttachRolePolicy 添加到您的用户策略中。

有关 DAX 集群管理所需的 IAM 策略的更多信息,请参见 DAX 访问控制