AWS弹性Beanstalk - 使用Python和Django环境将MongoDB代替RDS

4

我一直在遵循亚马逊官方文档关于部署到弹性 Bean Stalk 的步骤。

http://docs.aws.amazon.com/elasticbeanstalk/latest/dg/create_deploy_Python.html

和自定义环境

http://docs.aws.amazon.com/elasticbeanstalk/latest/dg/customize-containers.html#customize-containers-format

然而,我遇到了困难。我不想使用内置的RDS数据库,而是想使用mongodb,并让我的Django/Python应用程序作为我的用户的RESTful前端或API端点进行扩展。

目前,我正在运行一个EC2实例来测试我的Django应用程序。

我对Elastic Bean存在以下问题: 1. 我无法弄清楚如何运行诸如

pip install git+https://github.com/django-nonrel/django@nonrel-1.5
  1. 由于我无法安装设备mongo驱动程序以供django使用,因此无法运行我的mongodb命令。

我在想,是不是我跳过了一些概念或者没有理解如何在beanstalk上部署的工作方式。我可以看到,beanstalk只是启动EC2实例,可能需要编写自定义脚本或其他我不知道的东西。

我已经搜索了一些内容,但我不知道该问什么问题。谷歌的前几个结果总是亚马逊文档,这些文档对于他们的RDS环境之外的定制帮助不大。我知道Django传统上使用RDS环境,但我不想使用它们,因为它们对我正在编写的Web应用程序不够灵活。

1个回答

2
你可以根据自己的特定需求创建自定义AMI,步骤在下面的AWS文档中概述。基本上,您将创建一个包含托管您的应用程序所需软件包的自定义AMI,然后更新Beanstalk配置以使用您的自定义AMI。 使用自定义AMI

好的,谢谢。我想这就是我需要做的事情。例如,如果我使用当前的构建并创建了一个AMI,那么我只需告诉Beanstalk使用该自定义AMI即可? - TimD
是的,没错。所有未来的实例都将使用这个新的 AMI,如果你想让现有的实例使用新的自定义 AMI,取决于你拥有的实例数量和你定义的最小阈值。以这个例子为例,假设你定义了2个最小实例,并且你的流量通过 ELB 转发到这两个实例,你可以终止其中一个实例,Beanstalk 将默认替换它,一旦它启动起来,你可以终止另一个实例。因此,你将拥有现有的 Ec2 实例和从自定义 AMI 启动的新实例,使用自动扩展策略。 - user2040074

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接