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

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

Amazon DocumentDB 入门

有多种方式可以连接并开始使用 Amazon DocumentDB。我们之所以创建本指南,是因为我们发现这种方法是用户开始使用我们强大的文档数据库的最快、最简单、最简单的方法。本指南利用了Amazon Cloud9,一个基于 Web 的终端,可以直接从 mongo shell 连接和查询你的 Amazon DocumentDB 集群Amazon Web Services Management Console. 有资格获得的新客户Amazon免费套餐可以使用Amazon DocumentDB B 和Amazon Cloud9免费。如果你的Amazon Cloud9Envirment 或 Amazon DocumentDB 集群使用免费套餐之外的资源,您需要按正常方式付费Amazon这些资源的费率。本指南将帮助您在不到 15 分钟的时间内开始使用Amazon DocumentDB B。

如果您想通过创建与 Amazon EC2 实例的 SSH 连接,从本地计算机连接到您的 Amazon DocumentDB,请参阅使用 EC2 指令进行Connect

先决条件

在创建第一个 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 账户根用户已创建。root 用户有权访问所有Amazon Web Services和账户中的资源。作为安全最佳实践,为管理用户分配管理访问权限,并且只使用 root 用户执行需要根用户访问权限的任务.

设置所需内容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 控制台后,选择Users从导航窗格中。

  3. 选择您的用户名。

  4. 单击按钮添加权限.

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

  6. 类型AmazonDocDBFullAccess在搜索栏中,并在它出现在搜索结果中后将其选中。

  7. 点击底部的蓝色按钮,上面写着下一步:审核

  8. 点击底部的蓝色按钮,上面写着添加权限.

创建AAmazon Virtual Private Cloud tual VPC

只有在您还没有默认 Amazon VPC 时才需要执行状态。如果没有,请完成第 1 步Amazon VPC 入门在里面Amazon VPC User Guide. 这将花费不到五分钟。

第 1 步:创建 Amazon Cloud9 环境

Amazon Cloud9提供基于 Web 的终端,您可以使用该终端使用 mongo shell 连接到和查询 Amazon DocumentDB 集群。

  1. 来自的Amazon Web Services Management Console导航到Amazon Cloud9控制台然后选择创建环境.

  2. 在里面环境名称和描述部分,在名称字段,输入DocumentDBCloud9.

  3. 选择 Next step(下一步)

  4. 在里面“配置设置” 部分,选择下一步.

  5. 在里面审核部分,选择创建环境.

注意

预调配的Amazon Cloud9环境耗时最多 3 分钟。

第 2 步:创建安全组

此安全组将使您能够从您的服务器连接到您的 Amazon DocumentDB 集群Amazon Cloud9环境。

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

  2. 选择Create security group(创建安全组)。

  3. 在里面基本细节框中,为每个字段输入以下内容:

    • 对于安全组名称,输入 demoDocDB

    • 对于说明,输入说明。

    • 对于VPC,接受默认 VPC 的使用。

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

  5. 对于 Type(类型),选择 Custom TCP Rule(自定义 TCP 规则)

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

  7. 源是的安全组Amazon Cloud9您创建的环境。要查看可用安全组的列表,请输入cloud9在目标字段中。选择名称为的安全组aws-cloud9-<environment name>.

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

注意

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

第 3 步:创建Amazon DocumentDB B 集群

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

  1. 在Amazon DocumentDB B 管理控制台上,在集群,选择Create.

  2. 在创建 Amazon DocumentDB 集群页面上,在配置部分,选择1为了实例数. 选择一个实例有助于最大限度地降低成本。如果这是生产系统,建议预置三个实例以实现高可用性。您可以将其他设置保留在配置部分为其默认值。

  3. 在里面身份验证部分,输入用户名和密码。

  4. 开启显示高级设置.

  5. 在里面网络设置部分,用于VPC 安全组,选择demodocDB.

  6. 选择创建集群

Amazon DocumentDB 现在正在配置您的集群,这可能需要几分钟才能完成。当集群和实例状态均显示为时,您可以连接到您的集群Available.

第 4 步:安装 mongo shell

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

  1. 如果你的Amazon Cloud9从步骤 1 开始,环境仍处于打开状态,返回该环境并跳至指令 3。如果你离开了你Amazon Cloud9环境,在Amazon Cloud9管理控制台,在您的环境,找到标有标签的环境documentdbClou. 选择打开 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
  4. 要加密传输中的数据,请从以下网址下载 Amazon DocumentDB 的公钥https://s3.amazonaws.com/rds-downloads/rds-combined-ca--cn-bundle.pem. 此操作将下载名为 rds-combined-ca-bundle.pem 的文件。

    wget https://s3.amazonaws.com/rds-downloads/rds-combined-ca-cn-bundle.pem
    注意

    南美州ncryption-in-transit 默认为Amazon DocumentDB。您可以选择禁用 TLS。有关更多信息,请参阅管理Amazon DocumentDB 集群 TL.

第 5 步:Connect 您的Amazon DocumentDB 集群

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

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

  2. 在里面连接和安全选项卡,下方使用 mongo shell Connect 这个集群,复制提供的连接字符串。忽略复制<insertYourPassword>这样当你连接时,mongo shell 会提示你输入密码。

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

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

注意

有关排查故障的信息,请参阅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 B 入门指南。

下一步是什么? 了解如何充分利用该数据库及其一些常用功能:

注意

除非您将其删除,否则您在本入门练习中创建的集群将继续产生成本。有关指导,请参阅删除Amazon DocumentDB 集群.