如何在 AWS 上 运行 mongodb
How to run mongodb on AWS
我正在寻找有关如何在 AWS 上设置服务的一些指导。我有一个使用 Node.js 构建并使用 mongodb(并且 mongoose 作为 ODM)的应用程序。我正在将所有内容移植到 AWS,并希望在负载均衡器后面设置一个自动缩放组。然而,我不太了解的是我的 mongodb 实例应该存在的位置。我知道使用 DynamoDB 可以非常直观地进行设置以使用它,但由于我不是,所以我的问题是:应该在哪里以及如何设置 mongo 以使用我的应用程序?它应该与我的应用程序在同一个 ec2 实例上吗?如果是这样,它如何处理新实例的启动和终止?我应该设置一个专用于 mongo 的实例吗?另外,对于这个问题,我如何创建数据的快照和备份?
从各个方面来看,您的数据库绝对应该与您的应用程序处于不同的实例中。
一个非常基本的基于层的应用程序应该包括负载均衡器后面的缩放组中的应用程序服务器集群 - 在 public 子网中,以及一个单独的集群(建议在不 publicly 的不同子网中可访问),您的应用程序集群将与之对话。是否为 Mongo 使用 ELB 实际上取决于您的 mongo 配置(副本集)。
关于快照(假设这只与您的数据库相关),请查看 this.
这是在 EC2 上安装 MongoDB 和管理备份的好文档:https://docs.mongodb.org/ecosystem/platforms/amazon-ec2/
如果您不习惯自己做所有这些,您可能还想研究一下 MongoLab,这是一种 MongoDB 即服务,可以 运行 在 AWS 上。
您可以使用以下过程在 AWS Cloud 9 中轻松安装 MongoDB
首先在AWS中创建Cloud 9环境,然后在终端
ubuntu:~/environment $
在终端你会看到这个。
- 在终端中输入
touch mongodb-org-3.6.repo
现在在代码编辑器中打开 mongodb-org-3.6.repo 文件(select从左侧的文件菜单)并将以下内容粘贴到其中然后保存文件:
[mongodb-org-3.6]
名称=MongoDB 存储库
baseurl=https://repo.mongodb.org/yum/amazon/2013.03/mongodb-org/3.6/x86_64/
gpgcheck=1
启用=1
gpgkey=https://www.mongodb.org/static/pgp/server-3.6.asc
* 现在 运行 终端中的以下内容:
sudo mv mongodb-org-3.6.repo /etc/yum.repos.d
sudo yum install -y mongodb-org
如果第二个代码不起作用尝试:
sudo apt install mongodb-clients
- 关闭 mongodb-org-3.6.repo 文件并在出现提示时按 关闭选项卡
通过在终端中输入 cd 将目录改回根目录,然后输入以下命令:
“ubuntu:~ $
“ - 终端应如下所示。
sudo mkdir -p /data/db
echo 'mongod --dbpath=data --nojournal' > mongod
chmod a+x mongod
现在用./mongod
测试mongod
- 记住,在运行ning ./mongod
之前,必须先输入cd将目录切换到root~
- 不要忘记在每次完成工作后使用 ctrl + c 关闭 ./mongod
-如果在使用命令时弹出此错误mongod
exception in initAndListen: IllegalOperation: Attempted to create a lock file on a read-only directory: /data/db, terminating
然后使用代码:
sudo chmod -R go+w /data/db
我正在寻找有关如何在 AWS 上设置服务的一些指导。我有一个使用 Node.js 构建并使用 mongodb(并且 mongoose 作为 ODM)的应用程序。我正在将所有内容移植到 AWS,并希望在负载均衡器后面设置一个自动缩放组。然而,我不太了解的是我的 mongodb 实例应该存在的位置。我知道使用 DynamoDB 可以非常直观地进行设置以使用它,但由于我不是,所以我的问题是:应该在哪里以及如何设置 mongo 以使用我的应用程序?它应该与我的应用程序在同一个 ec2 实例上吗?如果是这样,它如何处理新实例的启动和终止?我应该设置一个专用于 mongo 的实例吗?另外,对于这个问题,我如何创建数据的快照和备份?
从各个方面来看,您的数据库绝对应该与您的应用程序处于不同的实例中。 一个非常基本的基于层的应用程序应该包括负载均衡器后面的缩放组中的应用程序服务器集群 - 在 public 子网中,以及一个单独的集群(建议在不 publicly 的不同子网中可访问),您的应用程序集群将与之对话。是否为 Mongo 使用 ELB 实际上取决于您的 mongo 配置(副本集)。 关于快照(假设这只与您的数据库相关),请查看 this.
这是在 EC2 上安装 MongoDB 和管理备份的好文档:https://docs.mongodb.org/ecosystem/platforms/amazon-ec2/
如果您不习惯自己做所有这些,您可能还想研究一下 MongoLab,这是一种 MongoDB 即服务,可以 运行 在 AWS 上。
您可以使用以下过程在 AWS Cloud 9 中轻松安装 MongoDB
首先在AWS中创建Cloud 9环境,然后在终端
ubuntu:~/environment $
在终端你会看到这个。
- 在终端中输入
touch mongodb-org-3.6.repo
现在在代码编辑器中打开 mongodb-org-3.6.repo 文件(select从左侧的文件菜单)并将以下内容粘贴到其中然后保存文件:
[mongodb-org-3.6] 名称=MongoDB 存储库 baseurl=https://repo.mongodb.org/yum/amazon/2013.03/mongodb-org/3.6/x86_64/ gpgcheck=1 启用=1 gpgkey=https://www.mongodb.org/static/pgp/server-3.6.asc
* 现在 运行 终端中的以下内容:
sudo mv mongodb-org-3.6.repo /etc/yum.repos.d
sudo yum install -y mongodb-org
如果第二个代码不起作用尝试:
sudo apt install mongodb-clients
- 关闭 mongodb-org-3.6.repo 文件并在出现提示时按 关闭选项卡
通过在终端中输入 cd 将目录改回根目录,然后输入以下命令:
“
ubuntu:~ $
“ - 终端应如下所示。sudo mkdir -p /data/db echo 'mongod --dbpath=data --nojournal' > mongod chmod a+x mongod
现在用
./mongod
测试mongod
- 记住,在运行ning ./mongod 之前,必须先输入cd将目录切换到root~
- 不要忘记在每次完成工作后使用 ctrl + c 关闭 ./mongod
-如果在使用命令时弹出此错误mongod
exception in initAndListen: IllegalOperation: Attempted to create a lock file on a read-only directory: /data/db, terminating
然后使用代码:
sudo chmod -R go+w /data/db