本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
有许多连接和开始使用 Amazon DocumentDB 的方式。我们之所以创建本指南,是因为我们发现这种方法是用户开始使用我们强大文档数据库的最快、最简单、最简单方法。本指南使用亚马逊弹性计算云 (Amazon EC2) 直接从中连接和查询您的亚马逊 DocumentDB 集群。 AWS Management Console符合 AWS 免费套餐资格的新客户可以免费使用亚马逊 DocumentDB 和亚马逊 EC2。如果您的 Amazon EC2 环境或 Amazon DocumentDB 集群使用了超出免费套餐范围的资源,则您需要为这些资源支付正常 AWS 费率。本指南将让你在不到 15 分钟内入门 Amazon DocumentDB。
注意
本指南中的说明专门用于创建和连接基于 Amazon DocumentDB 实例的集群。如果您想要创建并连接到 Amazon DocumentDB 弹性集群,请参阅 开始使用 Amazon DocumentDB 弹性集群。
主题
如果您希望通过创建与亚马逊 EC2 实例的 SSH 连接从本地计算机连接到您的 Amazon DocumentDB,请参阅。使用亚马逊连接 EC2
先决条件
在创建第一个 Amazon DocumentDB 集群之前,您必须执行以下操作:
- 已创建 Amazon Web Services(AWS)账户
-
在开始使用 Amazon DocumentDB 之前,您必须拥有 Amazon Web Services(AWS)账户。该 AWS 账户是免费的。您只需为使用的服务和资源付费。
如果您没有 AWS 账户,请完成以下步骤来创建一个。
要注册 AWS 账户
打开https://portal.aws.amazon.com/billing/注册。
按照屏幕上的说明操作。
在注册时,将接到电话,要求使用电话键盘输入一个验证码。
当您注册时 AWS 账户,就会创建AWS 账户根用户一个。根用户有权访问该账户中的所有 AWS 服务 和资源。作为最佳安全实践,请为用户分配管理访问权限,并且只使用根用户来执行需要根用户访问权限的任务。
- 设置所需的 AWS Identity and Access Management (IAM) 权限。
-
要管理集群、实例和集群参数组等 Amazon DocumentDB 资源,需要 AWS 能够对您的请求进行身份验证的证书。有关更多信息,请参阅 适用于 Amazon DocumentDB 的 Identity and Access Management。
-
在的搜索栏中 AWS Management Console,键入 IAM,然后在出现的下拉菜单中选择 IAM。
-
一旦您进入 IAM 控制台,就从导航窗格中选择用户。
-
选择您的用户名。
-
点击添加权限 按钮。
-
选择 Attach existing policies directly(直接附加现有策略)。
-
在搜索栏中键入
AmazonDocDBFullAccess
,并且一旦它出现在搜索结果中就选择之。 -
在底部点击写有下一步:查看的蓝色按钮。
-
在底部点击写有添加权限的蓝色按钮。
-
- 创建 Amazon Virtual Private Cloud(Amazon VPC)
-
您的 AWS 账户在每个区域都包含一个默认 VPC。这个步骤仅在您选择使用默认 Amazon VPC 时才需要。在此情况下,请完成《Amazon VPC 用户指南》的创建 Amazon VPC 主题中的步骤。
- 启动 Amazon EC2 实例
-
完成《亚马逊弹性计算云用户指南》中 “亚马逊入门” EC2 主题的步骤 1 和步骤 2。
步骤 1:创建 Amazon DocumentDB 集群
在这一步骤中,您将创建 Amazon DocumentDB 集群。
-
在 Amazon DocumentDB 管理控制台上,集群下,选择创建。
-
在创建 Amazon DocumentDB 集群页面上,在集群类型部分选择基于实例的集群(这是默认选项)。
-
在配置部分中:
在集群标识符中,输入唯一名称,例如
mydocdbcluster
。请注意,无论如何输入,控制台都会将所有集群的名称更改为小写。对于主引擎版本,选择 5.0.0。
对于实例类,请选择 db.t3.medium。这符合 AWS 免费套餐的资格。
对于实例数,选择 1 个实例。选择一个实例有助于成本最小化。如果这是生产系统,我们建议您预配置三个实例以便可用性高。
-
在集群存储配置部分,选择 Amazon DocumentDB 标准(此为默认选项)。
-
在连接部分:
选择 “连接到 EC2 计算资源”。
对于EC2 实例,选择您在中创建的 EC2 实例先决条件。
-
在 “身份验证” 部分,输入主用户的用户名,然后选择 AWS 托管密码或自管理密码。
如果您选择 S AWS ecrets Manager 选项,请通过创建自己的密钥或使用 Secrets Manager 创建的密钥来配置 KMS 密钥。
如果您选择自行管理主用户的密码,请输入密码,然后进行确认。
-
使其他所有选项保持默认,并选择创建集群。
注意
当您在 EC2 实例和亚马逊文档数据库之间建立连接时,Amazon DocumentDB 会自动为您的实例和 EC2 您的亚马逊 DocumentDB 数据库配置 VPC 安全组。有关更多信息,请参阅 与 EC2 实例的自动连接概述。
Amazon DocumentDB 现在正配置您的集群,这可能耗时长达数分钟完成。当集群和实例状态都显示为可用时,您可以连接到您的集群。
步骤 2:安装 mongo Shell
在您在中创建的 Amazon EC2 实例中安装 mongo 外壳。先决条件Mongo Shell 是一个命令行实用程序,用于连接和查询 Amazon DocumentDB 集群。
连接到您的 Amazon EC2 实例,然后在命令提示符下使用以下命令创建存储库文件:
echo -e "[mongodb-org-5.0] \nname=MongoDB Repository\nbaseurl=https://repo.mongodb.org/yum/amazon/2023/mongodb-org/5.0/x86_64/\ngpgcheck=1 \nenabled=1 \ngpgkey=https://pgp.mongodb.com/server-5.0.asc" | sudo tee /etc/yum.repos.d/mongodb-org-5.0.repo
创建完成后,用以下命令安装 mongo Shell:
sudo yum install -y mongodb-org-shell
步骤 3:连接到 Amazon DocumentDB 集群
使用您在步骤 2 中安装过的 Mongo Shell 连接到 Amazon DocumentDB 集群。
-
在 Amazon DocumentDB 管理控制台上,集群下,定位您的集群。通过单击集群标识符选择您已创建的集群。
-
Encryption-in-transit 在 Amazon DocumentDB 上默认处于启用状态。您可以选择禁用 TLS。要下载对您的集群进行身份验证所需的当前证书,请在连接和安全选项卡的连接部分中,下载对您的集群进行身份验证所需的 Amazon DocumentDB 证书颁发机构 (CA) 证书” 下,复制提供的命令。返回您的 Amazon EC2 实例并粘贴命令。
-
返回到您的集群,在 Amazon DocumentDB 控制台的 “连接和安全” 选项卡下,在 “连接” 部分,在 “使用 mongo shell 连接到此集群” 下,复制提供的连接字符串。省略复制
<insertYourPassword>
,从而 mongo Shell 在您连接时提示您输入密码。返回您的 Amazon EC2 实例并粘贴连接字符串。
当输入密码并您的提示符变成 rs0:PRIMARY>
时,您成功连接到您的 Amazon DocumentDB 集群。
注意
有关对 流进行问题排查的更多信息,请参阅 Amazon DocumentDB 问题排查。
步骤 4:插入和查询数据
现在,您已连接到自己的集群,您可以运行几个查询来熟悉如何使用文档数据库。
-
要插入单个文档,请输入以下内容:
db.collection.insert({"hello":"DocumentDB"})
-
您会得到以下输出:
WriteResult({ "nInserted" : 1 })
-
您可以读取您用
findOne()
命令编写过的文档(因为它只返回单个文档)。输入以下:db.collection.findOne()
-
您会得到以下输出:
{ "_id" : ObjectId("5e401fe56056fda7321fbd67"), "hello" : "DocumentDB" }
-
要执行若干更多查询,请考虑游戏个人资料用例。首先,将几个条目插入标题为
profiles
的集合。输入以下:db.profiles.insertMany([ { "_id" : 1, "name" : "Matt", "status": "active", "level": 12, "score":202}, { "_id" : 2, "name" : "Frank", "status": "inactive", "level": 2, "score":9}, { "_id" : 3, "name" : "Karen", "status": "active", "level": 7, "score":87}, { "_id" : 4, "name" : "Katie", "status": "active", "level": 3, "score":27} ])
-
您会得到以下输出:
{ "acknowledged" : true, "insertedIds" : [ 1, 2, 3, 4 ] }
-
使用
find()
命令返回个人资料集合中的所有文档。输入以下:db.profiles.find()
-
您将获得将与您在步骤 5 中已键入数据匹配的输出。
-
利用筛选器对单个文档使用查询。输入以下:
db.profiles.find({name: "Katie"})
-
您应该收回这个输出:
{ "_id" : 4, "name" : "Katie", "status": "active", "level": 3, "score":27}
-
现在,让我们尝试查找个人资料并使用
findAndModify
命令修改它。我们将用以下代码向用户 Matt 给予额外的十分:db.profiles.findAndModify({ query: { name: "Matt", status: "active"}, update: { $inc: { score: 10 } } })
-
你得到以下输出(请注意,他的分数尚未增加):
{ "_id" : 1, "name" : "Matt", "status" : "active", "level" : 12, "score" : 202 }
-
你可以借助以下查询验证他的分数是否已变化:
db.profiles.find({name: "Matt"})
-
您会得到以下输出:
{ "_id" : 1, "name" : "Matt", "status" : "active", "level" : 12, "score" : 212 }
步骤 5:探索
恭喜您!您已成功完成 Amazon DocumentDB 入门指南。
接下来做什么? 了解如何充分利用这个数据库及其热门功能:
注意
除非您删除,否则您在这次入门练习中创建的集群将继续累积成本。有关说明,请参阅删除 Amazon DocumentDB 集群。