MongoDB很高兴能成为AWS App Runner的启动合作伙伴。今天,大多数技术组织都在采用DevOps实践,加快新的容器化应用程序的开发。然而,将这些应用部署到生产环境中往往需要额外的基础设施管理,从而降低了容器所承诺的敏捷性。
MongoDB Atlas按需提供数据库基础设施,简化了DevOps部署的数据层。Atlas使创建、扩展和根据需要拆解数据库变得简单,使你的部署管道更顺畅。
有了AWS App Runner,现在部署应用组件就更容易了。鉴于您的源代码或容器镜像,AWS App Runner会构建和部署应用程序或API,并处理负载平衡、扩展、监控等。没有必要自己管理服务器或容器。AWS App Runner会处理所有的细节。
基于AWS App Runner的应用程序与MongoDB Atlas无缝连接,同时解决了应用层和数据层的部署。开发人员现在可以利用我们的全球云原生数据库服务的可扩展性和性能为他们的App Runner应用程序服务。
App Runner上的MongoDB Atlas和FastAPI
让我们深入到使用AWS App Runner和Atlas部署一个真正的API应用程序,看看它有多简单我们将演示一个管理MongoDB文档的微服务API的例子。在这篇博客中,我们以MongoDB开发者中心上的《MongoDB和FastAPI入门》一文为基础。
这个应用设置了一个连接到MongoDB Atlas的FastAPI端点,它提供了一个基本的API来创建、读取、更新和删除一个学生文档集合。该应用在GitHub仓库中自成一体:https://github.com/mongodb-devloper/mongodb-atlas-fastapi。
要开始使用,你只需要你的MongoDB Atlas和AWS账户。
第0步)获得一个MongoDB云账户
如果你还没有Atlas账户,你可以按照"开始使用Atlas "指南来创建你的账户。
第1步)创建一个MongoDB Atlas集群
有很多方法可以用Atlas创建集群!从以下列表中选择最适合你需求和经验的选项:
-
MongoDB Atlas用户界面: "Atlas入门 "指南中的步骤将告诉你如何在Atlas用户界面中直接创建你的第一个集群。这是新用户的最佳选择。请记下你的用户名、密码和连接字符串,因为你以后会需要这些。
-
MongoDB Atlas AWS快速入门:AWS CloudFormation用户可以选择使用新的MongoDB Atlas AWS Quick Start来启动一个完整的Atlas部署。一旦配置完毕,你可以从Cloud Formation网络控制台或AWS CLI的Stack Output's标签中获得连接字符串。
-
mongocli:开发人员和命令行爱好者可能更喜欢一种更直接的方法。最新发布的MongoDB云计算CLI
mongocli现在拥有一个快速入门命令,你可以用它来创建集群等等。请看:https://docs.mongodb.com/mongocli/stable/quick-start/atlas/#configure-an-service-cluster
无论你选择哪种方法来设置你的Atlas集群,你都可以在Atlas控制台中找到连接字符串。注意这一点,以便在下一步中使用,在这一步中你将把你的应用程序连接到MongoDB Atlas。如果你有任何问题,请查看将你的应用程序连接到MongoDB Atlas的详细步骤。
第2步)启动您的应用程序
打开您的AWS Web控制台,并导航到AWS App Runner。点击 "创建一个App Runner服务 "按钮。
AppRunner可以让您从预先构建的Docker镜像或Github存储库中部署应用程序。我们的样本应用两种方式都可以使用。如果你想要简单的东西,选择Docker选项。如果想进行更高级的部署,有CI/CD自动连接,那么选择源代码库集成。
步骤2.1)从Docker镜像启动你的应用程序
如果你不想乱用源代码,那么选择 "亚马逊ECR公共 "并使用以下图像标签:
步骤2.2)从源代码库中启动你的应用程序
(可选的--如果你用Docker镜像选项来部署你的应用,请跳到步骤3)
要使用 "源码核心库 "选项,首先在你的GitHub上创建一个分叉的
github.com/mongodb-dev…到你的一个GitHub组织中。然后,返回 AppRunner,按照说明创建一个新的 GitHub 连接。最后,选择你刚刚创建的 "mongodb-atlas-fastapi "代码库。
你需要用GitHub选项配置几个设置,但它们都是标准的。
运行时间:Python 3
构建命令:pip install -r requirements.txt
启动命令:python app.py
端口:8080
第3步)配置并启动你的应用程序
对于Docker和源代码两个选项,选择 "Next",然后:
-
命名你的应用程序服务。
mongodb-atlas-fastapi -
点击 "添加环境变量",用你的MongoDB Atlas连接字符串添加一个变量,密钥设置为
MONGODB_URI_SRV,并将你的连接字符串粘贴到值中。(例如,mongodb+srv://:< password>.test1.f31en.mongodb.net/myFirstData…) -
将 "端口 "设置为
8080
注意 - 这个设置不会显示在源代码整合中。

你可以点击 "下一步",审查下一个页面的正确性,然后点击 "创建和部署"。
几分钟后,你就会有一个公共的URL端点到你的新学生API,有一个完整的用户界面来管理你的文件。在AppRunner用户界面上找到 "默认域 "值,并点击它--你将看到你新的MongoDB Atlas驱动的API应用

如果你选择了设置Github集成,那么你推送给项目的任何代码变化都会自动触发你的应用程序的新部署和推出。由于你使用的是MongoDB Atlas,所以高可用性是内置的,配置变化(扩展、升级、多区域扩展等)需要点击一个按钮或简单的API调用。
总结
有了AWS App Runner和MongoDB Atlas,开发、部署和演进应用程序或API就变得异常简单。在这个例子中,我们在几分钟内就在Atlas数据库的基础上部署了一个容器化的API端点。你将建立什么?