【问题标题】:AWS CloudFormation provisioning... UserData vs. Ansible or the likes? [closed]AWS CloudFormation 预置... UserData 与 Ansible 之类的? [关闭]
【发布时间】:2017-07-02 21:51:02
【问题描述】:

使用 AWS CloudFormation UserData 与 Ansible 进行预置有什么区别?

我知道,以 Puppet 为例,即使更改完成(将其更改回以反映清单),它也会强制执行配置规则。

但是还有更多值得考虑的差异吗?

【问题讨论】:

    标签: amazon-web-services ansible provisioning amazon-cloudformation terraform


    【解决方案1】:

    简短的回答是:使用 CloudFormation 或 Terraform

    Ansible 是用于许多不同目的的配置管理工具。与许多其他工具最显着的区别是,它以推送模式工作,因此远程服务器上没有代理轮询更改。 在安装包、创建文件等方面非常棒。

    CloudFormation 旨在创建 AWS 环境。如果您只使用亚马逊而不使用其他任何东西,那就太好了。

    Ansible 可以完成这项工作,但我建议使用 CloudFormation 或 Terraform 之类的工具。用于此的 Ansible 模块还可以,但 Terraform 之类的工具在创建环境方面有专长,而且它们在完成这项工作时要聪明得多。

    【讨论】:

    • 谢谢,我明天去看看。
    • 这是一个不错的答案,除了 Ansible 只是次要的配置管理。这里的重点是基础设施配置。
    【解决方案2】:

    澄清一下,“UserData”是 EC2 实例的一部分,而不是 CloudFormation 本身的一部分。 EC2 实例可以使用User Data 启动,AMI 可以使用它在启动时执行动态操作。如果使用 CloudFormation 启动 EC2 实例,它可以通过在 AWS::EC2::Instance 资源上设置 UserData 属性来向 EC2 实例提供用户数据。

    通常,用户数据由Cloud-Init 处理,并且通常格式化为简单的User-Data Script,它只是一个shell 脚本,在实例首次启动时会被调用。

    也就是说,“Shell 脚本与 Ansible”是一个苹果到橘子的比较。 Ansible 是否适合您的用例取决于您是否需要使用 Ansible 内置的额外抽象层而不是标准 shell 脚本来配置实例所需的内容。阅读Ansible Documentation 并自行决定。

    值得一提的是,除了运行 Ansible 以通过 SSH 配置实例的正常“推送”方法外,您还可以使用用户数据脚本以倒置的“Ansible-pull”模式运行 Ansible EC2 实例上的初始“引导”安装。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-07-27
      • 1970-01-01
      • 2017-11-30
      • 2021-12-26
      • 1970-01-01
      • 2015-02-14
      • 2016-09-20
      相关资源
      最近更新 更多