本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
步骤 1:创建集群
要创建集群,请按照以下步骤操作。
步骤 1.1:创建集群
在此步骤中,您将使用 (CLI) 在账户的 us-east-1 区域的默认 Amazon VPC 中创建一个集群。 Amazon Command Line Interface 有关使用 MemoryDB 控制台或 API 创建集群的信息,请参阅。步骤 1:创建集群
aws memorydb create-cluster --cluster-name cluster-01 --engine-version 7.0 --acl-name open-access \ --description "MemoryDB IAM auth application" \ --node-type db.r6g.large
请注意,“状态”字段的值设置为 CREATING
。MemoryDB 可能需要几分钟才能完成集群的创建。
步骤 1.2:复制集群终端节点
使用命令验证 MemoryDB 是否已完成集群的 describe-clusters
创建。
aws memorydb describe-clusters \ --cluster-name cluster-01
复制输出中显示的集群终端节点地址。在为 Lambda 函数创建部署包时,您将需要此地址。
步骤 1.3:创建 IAM 角色
为您的角色创建 IAM 信任政策文档,如下所示,允许您的账户承担新角色。将策略保存到名为 trust-policy.json 的文件中。请务必将本政策中的账号_id 123456789012 替换为你的账户 ID。
{ "Version": "2012-10-17", "Statement": [{ "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::123456789012:root" }, "Action": "sts:AssumeRole" }, { "Effect": "Allow", "Principal": { "Service": "lambda.amazonaws.com" }, "Action": "sts:AssumeRole" }] }
创建 IAM policy 文档,如下所示。将策略保存到名为 policy.json 的文件中。请务必将本政策中的账号_id 123456789012 替换为你的账户 ID。
{ "Version": "2012-10-17", "Statement": [ { "Effect" : "Allow", "Action" : [ "memorydb:Connect" ], "Resource" : [ "arn:aws:memorydb:us-east-1:123456789012:cluster/cluster-01", "arn:aws:memorydb:us-east-1:123456789012:user/iam-user-01" ] } ] }
创建一个 IAM 角色。
aws iam create-role \ --role-name "memorydb-iam-auth-app" \ --assume-role-policy-document file://trust-policy.json
创建 IAM 策略。
aws iam create-policy \ --policy-name "memorydb-allow-all" \ --policy-document file://policy.json
向角色附加 IAM policy。请务必将本政策中的账户 ID 123456789012 替换为你的账户 ID。
aws iam attach-role-policy \ --role-name "memorydb-iam-auth-app" \ --policy-arn "arn:aws:iam::123456789012:policy/memorydb-allow-all"
步骤 1.4:创建访问控制列表 (ACL)
创建启用 IAM 的新用户。
aws memorydb create-user \ --user-name iam-user-01 \ --authentication-mode Type=iam \ --access-string "on ~* +@all"
创建 ACL 并将其附加到集群。
aws memorydb create-acl \ --acl-name iam-acl-01 \ --user-names iam-user-01 aws memorydb update-cluster \ --cluster-name cluster-01 \ --acl-name iam-acl-01