开始使用 Amazon DocumentDB - Amazon DocumentDB
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

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

开始使用 Amazon DocumentDB

有许多连接和开始使用 Amazon DocumentDB 的方式。我们之所以创建本指南,是因为我们发现这种方法是用户开始使用我们强大文档数据库的最快、最简单、最简单方法。本指南利用 Amazon Cloud9,它基于 Web 的终端 ,直接使用来自 Amazon Web Services Management Console的 mongo shell 连接和查询您的 Amazon DocumentDB 集群。符合 Amazon 免费套餐条件的新客户可以免费使用亚马逊 DocumentDB Amazon Cloud9 。如果您的 Amazon Cloud9 环境或 Amazon DocumentDB 集群使用了超出免费套餐范围的资源,则您需要为这些资源支付正常 Amazon 费率。本指南将让你在不到 15 分钟内入门 Amazon DocumentDB。

注意

本指南中的说明专门用于创建和连接基于 Amazon DocumentDB 实例的集群。如果您想要创建并连接到 Amazon DocumentDB 弹性集群,请参阅 开始使用 Amazon DocumentDB 弹性集群

如果您希望通过创建与 Amazon EC2 实例的 SSH 连接从您的本地计算机连接到您的 Amazon DocumentDB,请参阅用 EC2连接说明

先决条件

在创建第一个 Amazon DocumentDB 集群之前,您必须执行以下操作:

已创建 Amazon Web Services(Amazon)账户

在开始使用 Amazon DocumentDB 之前,您必须拥有 Amazon Web Services(Amazon)账户。该 Amazon 账户是免费的。您只需为使用的服务和资源付费。

如果您没有 Amazon Web Services 账户,请完成以下步骤来创建一个。

要注册 Amazon Web Services 账户
  1. 打开 https://portal.aws.amazon.com/billing/signup

  2. 按照屏幕上的说明进行操作。

    在注册时,将接到一通电话,要求使用电话键盘输入一个验证码。

    当您注册时 Amazon Web Services 账户,就会创建Amazon Web Services 账户根用户一个。根用户有权访问该账户中的所有 Amazon Web Services 和资源。作为安全最佳实践,请为用户分配管理访问权限,并且只使用根用户来执行需要根用户访问权限的任务

设置所需的 Amazon Identity and Access Management (IAM) 权限。

要管理集群、实例和集群参数组等 Amazon DocumentDB 资源,需要 Amazon 能够对您的请求进行身份验证的证书。有关更多信息,请参阅 适用于 Amazon DocumentDB 的 Identity and Access Management

  1. 在的搜索栏中 Amazon Web Services Management Console,键入 IAM,然后在出现的下拉菜单中选择 IAM

  2. 一旦您进入 IAM 控制台,就从导航窗格中选择用户

  3. 选择您的用户名。

  4. 点击添加权限 按钮。

  5. 选择 Attach existing policies directly(直接附加现有策略)。

  6. 在搜索栏中键入 AmazonDocDBFullAccess,并且一旦它出现在搜索结果中就选择之。

  7. 在底部点击写有下一步:查看的蓝色按钮。

  8. 在底部点击写有添加权限的蓝色按钮。

创建 Amazon Virtual Private Cloud(Amazon VPC)

这个步骤仅在您尚没有默认的 Amazon VPC 时才需要。如果您的确没有,请完成 Amazon VPC 用户指南 Amazon VPC 入门的步骤 1。这将耗时不到五分钟。

步骤 1:创建 Amazon Cloud9 环境

Amazon Cloud9 提供了一个基于 Web 的终端,您可以使用该终端通过 mongo 外壳连接和查询您的 Amazon DocumentDB 集群。

  1. 从 Amazon Web Services Management Console 导航到 Amazon Cloud9 控制台并选择创建环境

  2. 创建环境对话框的详情部分,在名称字段中输入 DocumentDBCloud9

  3. 在 “新建 EC2 实例” 对话框中,从 “平台” 下拉列表中选择 Amazon Linux 2

    重要

    为避免在创建 Amazon DocumentDB 数据库时出错,您必须在 “平台” 字段中选择 Amazon Linux 2。如果您在上一步中选择使用现有的 Amazon EC2 实例,则该实例也必须是使用 Amazon Linux 2 创建的。

  4. 对于 “网络设置” 和 “标记” 部分,保持默认设置不变。

  5. 点击屏幕底部的 “创建”。

您的新 Amazon Cloud9 环境将显示在 “环境” 表中:

注意

配置 Amazon Cloud9 环境最多可能需要三分钟。

步骤 2:创建安全组

这个安全组将使您能够从您的 Amazon Cloud9 环境连接到您的 Amazon DocumentDB 集群。

  1. Amazon EC2 管理控制台上,网络和安全下,选择安全组

  2. 选择创建安全组

  3. 在 “基本详情” 部分中:

    1. 对于安全组名称,输入 demoDocDB

    2. 对于说明,输入说明。

    3. 对于 VPC,请接受使用您的默认 VPC。

  4. 入站规则部分中,选择添加规则

    1. 对于类型,选择自定义 TCP

    2. 对于端口范围,输入 27017

    3. 对于 S ourc e,选择在您完成步骤 1 之后为 Amazon Cloud9 环境创建的安全组。要查看可用 Amazon Cloud9 安全组的列表,请在字段右侧的搜索字段cloud9中输入。选择名为 aws-cloud9-<environment name> 的安全组。

    注意

    端口 27017 是 Amazon DocumentDB 的默认端口。

  5. 对于 “出站规则” 中的 “目标” 字段,选择 “自定义”。在其旁边的字段中,搜索您刚刚创建的名为的安全组demoDocDB。您可能需要刷新浏览器以便 Amazon EC2 控制台自动填充 demoDocDB 来源名称。

  6. 接受所有其他默认值并选择创建安全组

步骤 3:创建 Amazon DocumentDB 集群

在此步骤中,您将创建上一步中的安全组创建 Amazon DocumentDB 集群。

注意

这个步骤中的说明专门用于创建基于 Amazon DocumentDB 实例的集群。如果要创建 Amazon DocumentDB 弹性集群,请参阅。开始使用 Amazon DocumentDB 弹性集群

  1. 在 Amazon DocumentDB 管理控制台上,集群下,选择创建

  2. 在创建 Amazon DocumentDB 集群页面上,在集群类型部分选择基于实例的集群(这是默认选项)。

  3. 配置部分中,选择 1 个实例。选择一个实例有助于成本最小化。如果这是生产系统,我们建议您预配置三个实例以便可用性高。您可以任由配置部分中的其他设置为默认。

  4. 对于 “连接”,保留默认设置 “不要连接到 EC2 计算资源”。

  5. 身份验证部分,输入登录凭证。

  6. 开启显示高级设置

  7. 网络设置部分,对于VPC 安全组,如果您正在创建测试集群或演示集群,请选择DemoDocDB (VPC)。如果您正在给生产系统创建集群,请选择默认 (VPC),或者想要创建一个特定 VPC 安全组,请参阅 Amazon 虚拟化私有云用户指南中的安全组

  8. 选择创建集群

Amazon DocumentDB 现在正配置您的集群,这可能耗时长达数分钟完成。当集群和实例状态都显示为 available 时,您可以连接到您的集群。

注意

有关集群状态值的信息,请参阅“监控 Amazon DocumentDB”一章中的 集群状态值

有关实例状态值的信息,请参阅 “监控 Amazon DocumentDB” 一章中的 实例状态值

步骤 4:安装 mongo shell

现在,您将在您的 Amazon Cloud9 环境中安装在步骤 1 中创建的 mongo 外壳。Mongo Shell 是一个命令行实用程序,用于连接和查询 Amazon DocumentDB 集群。

  1. 如果从步骤 1 开始您的 Amazon Cloud9 环境仍处于打开状态,请返回该环境并跳至指令 3。如果您离开了您的 Amazon Cloud9 环境,请在 Amazon Cloud9 管理控制台的环境下找到标有 d ocumen tD b Cloud9 的环境。在 Cloud9 IDE 列中选择打开

  2. 在命令提示符下,用以下命令创建存储库文件:

    echo -e "[mongodb-org-4.0] \nname=MongoDB Repository\nbaseurl=https://repo.mongodb.org/yum/amazon/2013.03/mongodb-org/4.0/x86_64/\ngpgcheck=1 \nenabled=1 \ngpgkey=https://www.mongodb.org/static/pgp/server-4.0.asc" | sudo tee /etc/yum.repos.d/mongodb-org-4.0.repo
  3. 创建完成后,用以下命令安装 mongo shell:

    sudo yum install -y mongodb-org-shell
重要

如果您在 mongo shell 安装过程中收到错误,请查看您在 Cloud9 配置期间选择了哪个平台。您必须在 Cloud9 的 “平台” 字段中选择 Amazon Linux 2。如果您选择改用现有的 Amazon EC2 实例,则该实例也必须是使用 Amazon Linux 2 创建的。

步骤 5:连接到 Amazon DocumentDB 集群

现在,您将使用自己在步骤 4 中安装过的 Mongo shell 连接到 Amazon DocumentDB 集群。

  1. 在 Amazon DocumentDB 管理控制台上,集群下,定位您的集群。通过单击集群标识符选择您已创建的集群。

  2. 亚马逊 Doc ncryption-in-transit umentDB 上默认启用 E。您可以选择禁用 TLS。要下载对您的集群进行身份验证所需的当前证书,请在连接和安全选项卡连接部分中,下载对您的集群进行身份验证所需的 Amazon DocumentDB 证书颁发机构 (CA) 证书” 下,复制提供的连接字符串。返回您的 Amazon Cloud9 环境并粘贴连接字符串。

  3. 返回到您的集群,在 Amazon DocumentDB 控制台中连接和安全选项卡下,连接部分中,使用 mongo shell 连接到这个集群下,复制提供的连接字符串。省略复制 <insertYourPassword>,从而 mongo shell 在您连接时提示您输入密码。

    返回您的 Amazon Cloud9 环境并粘贴连接字符串。

当输入密码并您的提示符变成 rs0:PRIMARY> 提示符时,您成功连接到您的 Amazon DocumentDB 集群。

注意

有关对 流进行问题排查的更多信息,请参阅 Amazon DocumentDB 问题排查

步骤 6:插入和查询数据

现在,您已连接到自己的集群,您可以运行几个查询来熟悉如何使用文档数据库。

  1. 要插入单个文档,请输入以下内容:

    db.collection.insert({"hello":"DocumentDB"})
  2. 您会得到以下输出:

    WriteResult({ "nInserted" : 1 })
  3. 您可以读取您用 findOne() 命令编写过的文档(因为它只返回单个文档)。输入以下:

    db.collection.findOne()
  4. 您会得到以下输出:

    { "_id" : ObjectId("5e401fe56056fda7321fbd67"), "hello" : "DocumentDB" }
  5. 要执行若干更多查询,请考虑游戏个人资料用例。首先,将几个条目插入标题为 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} ])
  6. 您会得到以下输出:

    { "acknowledged" : true, "insertedIds" : [ 1, 2, 3, 4 ] }
  7. 使用 find() 命令返回个人资料集合中的所有文档。输入以下:

    db.profiles.find()
  8. 您将获得将与您在步骤 5 中已键入数据匹配的输出。

  9. 利用筛选器对单个文档使用查询。输入以下:

    db.profiles.find({name: "Katie"})
  10. 您应该收回这个输出:

    { "_id" : 4, "name" : "Katie", "status": "active", "level": 3, "score":27}
  11. 现在,让我们尝试查找个人资料并使用 findAndModify 命令修改它。我们将用以下代码向用户 Matt 给予额外的十分:

    db.profiles.findAndModify({ query: { name: "Matt", status: "active"}, update: { $inc: { score: 10 } } })
  12. 你得到以下输出(请注意,他的分数尚未增加):

    { "_id" : 1, "name" : "Matt", "status" : "active", "level" : 12, "score" : 202 }
  13. 你可以借助以下查询验证他的分数是否已变化:

    db.profiles.find({name: "Matt"})
  14. 您会得到以下输出:

    { "_id" : 1, "name" : "Matt", "status" : "active", "level" : 12, "score" : 212 }

步骤 7:探索

恭喜您!您已成功完成 Amazon DocumentDB 入门指南。

接下来做什么? 了解如何充分利用这个数据库及其热门功能:

注意

除非您删除,否则您在这次入门练习中创建的集群将继续累积成本。有关说明,请参阅删除 Amazon DocumentDB 集群