我应该使用user_data还是Ansible配置我的EC2

问题描述 投票:0回答:1

当使用Terraform(或云形成)启动EC2时,我们可以通过在user_data / remote-exec中放置一些脚本来配置EC2。或者,我们可以使用Ansible / Chef等配置EC2。在user_data / remote-exec中配置EC2和使用Ansible / Chef执行此操作有什么区别?何时使用前者,何时使用后者(我知道Ansible / Chef是幂等的)?

在我的例子中,EC2最初是手动启动的,然后使用许多linux命令手动配置。并且我没有配置命令。现在我是使用terraform自动化整个结构并配置EC2的人。使用user_data / remote-exec配置EC2非常简单。我只需要在一些脚本中放置所有现有的linux命令,只需稍加改动即可。如果使用我的脚本的配置结果不成功,至少我可以通过比较我的脚本和原始的linux命令来快速弄清楚我是否错过了一些命令。但如果我使用ansible / chef,我必须使用不同的语言重写所有步骤。如果配置不符合预期,我很难弄清楚哪些步骤不正确,因为ansible / chef和linux命令的语法完全不同。

我的问题是,在我的情况下,我应该使用ansible / chef或user_data / remote-exec进行配置吗?

linux ansible terraform
1个回答
1
投票

用户数据适用于系统的初始配置。如果您需要长期维护,Ansible / Chef / Salt / Puppet等配置管理软件是一个很好的选择。

Packer可用于不可变基础结构,即在创建后不会更改。您可以在系统上运行所有脚本和安装,以便准备好进行启动,这也更快,因为您不必等待用户数据运行。

你还要问几个问题,你经常要修补这些问题吗?您是要更新现有还是替换为new。 Ansible很适合配置,因为它只是yaml文件

Blue/Green deployments通常用所有新服务器替换服务器,并逐渐将流量转移到新服务器。

Some more things to consider with your Infrastructure as code

© www.soinside.com 2019 - 2024. All rights reserved.