【问题标题】:ruby application aws data loss after eb deploy in ec2 instance在 ec2 实例中部署 eb 后,ruby 应用程序 aws 数据丢失
【发布时间】:2016-09-07 03:34:30
【问题描述】:

我按照本教程 (http://docs.aws.amazon.com/elasticbeanstalk/latest/dg/create_deploy_Ruby_rails.html) 在 AWS Elastic Beanstalk 上部署了我的 rails 应用程序。

但是现在当我部署新版本(使用命令 $ eb deploy)而不是更新应用程序时,它会重置我的所有数据。 我不知道如何更新微小的更改,即使在 html 文件中也是如此。 我也试过 DeleteOnTerminate = false,但没有用。

有什么方法可以让我在不丢失数据的情况下更新我的应用程序?

【问题讨论】:

    标签: ruby amazon-web-services amazon-s3 amazon-elastic-beanstalk


    【解决方案1】:

    您的问题并未说明您是如何保存数据的,但您首先需要了解的是,Elastic Beanstalk 应用程序本质上是在短暂状态下运行的。

    这意味着,每当您使用 eb deploy 时,运行您的应用程序的“服务器”都会被完全破坏,而会启动另一个服务器。

    在不同部署之间保持数据持久性的唯一方法是使用应用外部的源(如 S3 或数据库),并让应用从那里查询数据。

    【讨论】:

    • 它们不在 Docker 容器上运行,但你说的其他一切都是正确的。
    • 没错,我们在环境中运行了 docker 容器,所以我认为它是标准 beanstalk 配置的一部分,但现在我看到还有其他选项。我已经编辑了我的答案,谢谢你的提示。
    • 我只是保存一个有两个字符串的模型,您可以访问我的应用程序 (xyzurl.com)。但不知道如何将其保存在 S3 等应用程序之外。
    • 持久化您的数据并不复杂,但超出了这个问题的范围,我建议阅读有关将您的 ruby​​ 应用程序与 S3 或 RDS 集成的方法,然后实施您认为适合您的应用程序的方式。
    • 感谢您的帮助,我只是将数据保存在 RDS 之外,现在可以使用了。
    猜你喜欢
    • 2019-06-19
    • 2023-03-18
    • 2019-09-15
    • 1970-01-01
    • 2020-05-08
    • 2014-09-11
    • 2020-08-19
    • 2016-09-06
    • 2018-01-14
    相关资源
    最近更新 更多