gpt4 book ai didi

apache - 如何在不破坏或丢失 ec2 数据的情况下使用 terraform 更新 ec2

转载 作者:行者123 更新时间:2023-12-04 19:30:16 26 4
gpt4 key购买 nike

Terraform 的新手。过去几天试验了很多。仍在努力了解一些行为。

我创建了一个带有网络服务器的 AWS 实例,然后我想通过添加一些标签和 key 对来更新它。我注意到 Terraform 正在销毁实例并重新创建它。

我可以想象这样一种情况,我在生产环境中有一些服务器正在运行一些 web 应用程序,我想重命名它。然后基本上它会破坏并重新创建我的服务器。这意味着我将在“/var/www/html”中丢失我的项目数据虽然我知道这是 Terraform 的工作方式,但我看不到这里的用途。

除了在更新 terraform 模块之前备份项目文件夹之外,这里的解决方案是什么?

最佳答案

解决方案是将您的应用程序和实例设计为无状态。这意味着没有状态信息(例如用户数据、 session 、数据库)存储在实例上。因此,您可以随时终止您的实例(AWS 有时也可以这样做),并重新创建它而不影响您的数据和应用程序。

无状态是在 AWS 上开发容错、高可用性和可扩展应用程序的主要方式。

因此,如果您的应用程序的开发方式使其“项目数据”取决于实例的生命周期,那么您可能会重新考虑在云环境中部署应用程序的设计和方法。具体来说,为了存储您的数据,通常您会将其存储在实异常(exception)部,常见的选择是 S3 和 EFS。任何数据库,也将是外部的。

我建议看一下 AWS Well-Architected and the Five Pillars AWS 的开发,其中涵盖了这些以及许多其他有帮助的主题。

关于apache - 如何在不破坏或丢失 ec2 数据的情况下使用 terraform 更新 ec2,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65640520/

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