Amazon web services AWS beanstalk数据库选择

Amazon web services AWS beanstalk数据库选择,amazon-web-services,amazon-elastic-beanstalk,amazon-rds,Amazon Web Services,Amazon Elastic Beanstalk,Amazon Rds,我试图将Django项目部署到beanstalk(没有docker)。在我看来,我只能选择AWS RDS作为我的数据库选择。我可以在同一beanstalk实例中安装PostgreSQL吗? 如果是这样的话,我如何自己安装PostgreSQL?对我来说,使用RDS只是额外的费用。所以,我正在寻找廉价的解决方案。SQLite3是否可能是一种解决方案?但我希望使用PostgreSQL 我可以在同一beanstalk实例中安装PostgresSQL吗 是的,你可以。但这需要一点“手动”设置,它既不可扩展

我试图将Django项目部署到beanstalk(没有docker)。在我看来,我只能选择AWS RDS作为我的数据库选择。我可以在同一beanstalk实例中安装PostgreSQL吗? 如果是这样的话,我如何自己安装PostgreSQL?对我来说,使用RDS只是额外的费用。所以,我正在寻找廉价的解决方案。SQLite3是否可能是一种解决方案?但我希望使用PostgreSQL

我可以在同一beanstalk实例中安装PostgresSQL吗

是的,你可以。但这需要一点“手动”设置,它既不可扩展,也不能真正容错。使用RDS,您需要支付额外费用,但您可以获得完全管理、高度可扩展和可靠的数据库

但当然,并非所有用例都需要使用RDS。在这种情况下,您可以在您的EB实例上安装PostgreSQL(我假设是单实例EB环境)。为此,您需要在中设置许多配置选项。然而,这个过程并没有那个么容易,因为您将应用程序部署与数据库高度耦合


作为一个折衷方案,我认为最好在一个独立的专用实例上安装PostgreSQL。通过这种方式,您的EB实例和DB解耦,更易于管理、更新、备份和扩展。

非常感谢您的回答。我还有一个单独的例子。出于安全原因,如果我使用一个单独的实例作为PostgresSQL服务器,我可以使用beanstalk提供的环境GUI设置数据库URL/用户名/密码吗?这样,我就不需要在beanstalk实例中硬编码数据库URL/用户名/密码。因此,它将添加一个额外的安全层。
如果os.environ:DATABASES中的'RDS_HOSTNAME','default':{'ENGINE':'django.db.backends.mysql','NAME':os.environ['RDS_db_NAME','USER':os.environ['RDS_USERNAME','PASSWORD':os.environ['RDS_PASSWORD','HOST':os.environ['RDS_HOSTNAME','PORT'],'os.environ['RDS_PORT']
我想这就是我问题的答案。