gpt4 book ai didi

amazon-web-services - 处理 AWS Elastic Beanstalk 多容器数据库和持久存储

转载 作者:行者123 更新时间:2023-12-04 08:01:06 24 4
gpt4 key购买 nike

我是 Elastic Beanstalk、EC2 和 Docker 的新手,过去几周一直在研究和使用它。我有几个问题很难在其他地方找到答案。

我喜欢的一件事是我能够运行 eb local run 来启动将在生产环境中运行的本地环境。在涉及数据库之前,这似乎很有效。

1) 据我了解,Elastic Beanstalk 会生成运行内部容器的实例,如果 Elastic Beanstalk 生成多个实例,这可能会导致拥有多个数据库?这是正确的吗?

2) 在生产中使用 AWS RDS 然后在本地拥有一个外部数据库容器是否更好?

3) 在持久化数据方面,我读到 EBS 只能挂载到一个 EC2 实例,人们如何处理存储用户文件,还是让他们的应用程序直接推送到 S3 等服务?

最佳答案

我不知道这是否在任何地方都有说明,但我相当确定 AWS 无意让您使用 EB 的多容器来运行数据库或任何应该在您的系统上只运行一次的东西。正如他们的示例所示,您可以更好地控制前端服务器。

如果你想运行数据库或存储文件,你要么转移到 AWS ECS,在那里你可以更好地控制它,要么使用多个 EB 环境(例如,创建一个工作层、单实例环境来运行数据库)

One thing I like is that I am able to run eb local run to boot a local environment of what will be running in production. This seems to work well until it comes to databases.

我没有使用 eb local run 而是使用 docker-compose,它允许我在本地正确运行适当的环境,包括我的数据库。是的,您可能需要在 docker-compose 文件和 Dockerrun 文件之间复制一些信息,但是一旦设置好,您就会发现它的强大之处。因为您仍在共享 Dockerfile,所以您仍然可以假设一旦部署,事情将以足够相似的方式运行。

1) As far as I understand Elastic Beanstalk spawns instances running the containers inside, which could result in having multiple databases if Elastic Beanstalk spawns multiple instances? Is this correct?

是的,我认为这是正确的。 EB 假设您将使用 RDS 或 dynamodb 或其他已经集中和管理的东西。

2) Is it better to use AWS RDS in production and then have an external database container locally?

是的,顺便说一下,与其让 EB 管理数据库的创建,我发现手动实例化它是一种更好的做法,这样它在您终止 EB 环境后仍然保持持久。

3) In terms of persisting data, I read that EBS can only mount to one EC2 instance, how do people handle storing user files, or do they have their application push to a service such as S3 directly?

是的,出于多种原因,使用 S3 是正确的选择,但主要是因为 AWS 进行管理,您可以进行扩展而无需担心。事实上,您希望您的客户端直接在 S3 上获取甚至发布文件,这样您的服务器就不必做任何工作(请注意,服务器可能需要对 URL 进行签名,但仅此而已)。

如果您确实遇到了针对 S3 的问题(无论出于何种原因),那么您还将(与数据库一样)使用 EBS 创建第二个单实例 EB 环境,以确保您拥有单个实例。但与 S3 解决方案相比,它不会扩展太多,而且实际上会比使用 S3 昂贵得多。

关于amazon-web-services - 处理 AWS Elastic Beanstalk 多容器数据库和持久存储,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34840909/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com