Amazon DynamoDB
开发人员指南 (API 版本 2012-08-10)
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

创建 DAX集群

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

在创建 DAX 集群之后,您可以从在相同 VPC 中运行的 Amazon EC2 实例访问它。您随后可以将您的 DAX 集群用于应用程序。有关更多信息,请参阅在应用程序中使用 DAX 客户端

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

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

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

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

创建服务角色所需的权限

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

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

  • iam:CreateRole

  • iam:CreatePolicy

  • iam:AttachRolePolicy

  • iam:PassRole

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

注意

DynamoDB 的 AWS 托管策略中不包含 iam:CreateRoleiam:CreatePolicyiam:AttachPolicyiam: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 中的 Identity and Access Management