创建 DAX 集群 - Amazon DynamoDB

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

创建 DAX 集群

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

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

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

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

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

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

创建服务角色所需的权限

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

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

  • iam:CreateRole

  • iam:CreatePolicy

  • iam:AttachRolePolicy

  • iam:PassRole

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

注意

AWS 的 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 policy 的更多信息,请参见。DAX 访问控制