AWS mongodb部署(官方推荐实现)

前排提示

1 这不是自己手动在EC2上建一个mongodb,而是调用AWS 服务生成。
2 因为涉及到要使用新的EC2 所以本文并没有实现,仅为记录学习的过程

1 背景

AWS 提供nosql数据库是 DynamoDB,所以原来操作mongodb方式就不再适用,必须要使用AWS SDK 进行重写编写相关代码。(ali和tencent均提供mongodb)
在这样的背景下,在AWS体系内寻找一种官方推荐的方式搭建mongodb服务成为了目前的问题。

2 方案

本文不是自己再ec2上自己搭建mongodb,而是采用AWS CloudFormation服务,自动生成mongodb 服务。
该方式实质上为,采用AWS CloudFormation服务,调用AWS提供的基础设施即配置,搭建mongodb服务,与我们自己在EC2上搭建的mongodb服务并没有本质区别,只是更加规范可靠。
(PS:因该方法需要创建新的EC2,所以并没有实现,本文仅为学习记录而已)

官方文档https://docs.aws.amazon.com/quickstart/latest/mongodb/overview.html

3 用到的AWS 服务

3.1 所用服务

Amazon EC2 - Amazon Elastic Compute Cloud(Amazon EC2)服务使您能够使用各种操作系统启动虚拟机实例。您可以选择现有的亚马逊机器映像(AMI)或导入自己的虚拟机映像。
用途:AWS web服务器 和 Mongodb服务的载体
Amazon VPC - 亚马逊虚拟私有云(Amazon VPC)服务允许您配置AWS云的专用隔离部分,以便在您定义的虚拟网络中启动AWS服务和其他资源。您可以完全控制虚拟网络环境,包括选择您自己的IP地址范围,创建子网以及配置路由表和网关。
用途 : 构建mongodb 网络
Amazon EBS - Amazon Elastic Block Store(Amazon EBS)提供持久性块级存储卷,以用于AWS Cloud中的EC2实例。每个EBS卷都会在其可用区域内自动复制,以防止组件发生故障,从而提供高可用性和持久性。EBS卷提供运行工作负载所需的一致性和低延迟性能。
用途:mongodb存储
AWS CloudFormation - AWS CloudFormation为您提供了一种创建和管理相关AWS资源集合的简便方法,并以有序且可预测的方式提供和更新它们。
用途:根据配置,调用资源进行自动化创建服务。
IAM - AWS身份和访问管理(IAM)使您能够安全地控制对用户的AWS服务和资源的访问。借助IAM,您可以从中央位置管理用户,安全证书(如访问密钥)以及控制哪些AWS资源用户可以访问的权限。

3.2 架构

3.2.1 MongoDB构造

以下是此参考部署中使用的一些构建块。
这里写图片描述
副本集。指的是一组拥有相同数据的mongod实例。
复制的目的是为了确保高可用性,以防其中一台服务器出现故障。此参考部署支持一个或三个副本集。在三个副本集的情况下,参考部署将在三个不同的可用区 (如果区域支持它)中启动三个服务器 。在生产集群中,我们建议使用三个副本集(Primary,Secondary0, secondary 1)。

3.2.2 整体架构

这里写图片描述

3.3 所需资源

本文采用的是:将MongoDB部署到现有VPC的参数
1 一个VPC 三个子网(因为按照默认配置会配置3个mongodb数据集)
2 一个或三个EC2(作为mongodb载体,测试时,千万要改默认EC2配置,默认的载体EC2很贵)
3 AWS EBS(附加到mongodb节点上的存储)
4 AWS S3 (用于mongodb备份)

4 实现

https://docs.aws.amazon.com/quickstart/latest/mongodb/step2.html

猜你喜欢

转载自blog.csdn.net/m0_37263637/article/details/79965612
AWS
今日推荐