【问题标题】:AWS: how to configure EC2 instances during auto scaleAWS:如何在自动扩展期间配置 EC2 实例
【发布时间】:2017-11-14 23:58:38
【问题描述】:

我目前正准备更多地利用 AWS 的功能,但在我的研究过程中仍然出现了一些问题。我目前对 AWS 自动缩放与多个自动缩放组(每个服务一个)的组合以及使用 AWS 代码部署的部署感兴趣。

我想知道配置 EC2 实例的常见做法是什么,当 AWS 注意到我需要一个新的 EC2 实例时,该实例会启动。我考虑过创建一个自定义 AMI,其中安装了应用程序运行所需的所有内容。还有其他可能性吗? Ansible 之类的东西如何在这个设置中发挥作用?另外,如果我需要更改实例(例如安装安全更新)怎么办,这样做的常见做法是不通过 ssh 连接到每个服务器实例并手动进行。

谢谢

【问题讨论】:

    标签: amazon-web-services amazon-ec2


    【解决方案1】:

    基本上有两种选择来配置使用 Auto Scaling 创建的 Amazon EC2 实例:

    • 完全配置的 AMI
    • 配置实例的用户数据脚本

    您也可以将两者结合使用——将大部分配置在 AMI 上,然后通过用户数据进行最终配置。

    Puppet、Chef 和 A​​nsible 等工具也很受欢迎。它们通过用户数据脚本触发,然后运行 ​​Puppet/Chef/Ansible 在实例上安装软件。

    使用完全配置的 AMI 的好处是实例的可用速度更快,这在您需要更多容量的自动缩放情况下非常方便快速 . 缺点是您必须在软件更新后创建一个新的 AMI。 Netflix 已使用 Aminator 自动执行此过程,它会在软件更新时自动构建新的 AMI。

    使用用户数据脚本的好处是配置非常灵活,您无需维护 AMI 库。

    【讨论】:

      【解决方案2】:

      尝试在自动缩放配置期间添加引导脚本。

      【讨论】:

        【解决方案3】:

        首先,如果您正在寻找 AWS 基础设施的 Provisioning Automation,然后通过 AnsibleCloudFormationTerraform,您可以选择。

        您可以准备GoldenImage,其中安装了所有必需的包、工具和安全配置。之后,您可以为Auto Scaling Group 创建Launch Configuration,在启动配置中,您还可以提供您的自定义startup scripts

        Afterworld,如果对于任何ad-hoc 任务或命令执行,ansible 是最佳选择。

        【讨论】:

          猜你喜欢
          • 2014-01-25
          • 1970-01-01
          • 2014-11-06
          • 2021-06-08
          • 1970-01-01
          • 2022-11-07
          • 2022-01-20
          • 2020-05-12
          • 1970-01-01
          相关资源
          最近更新 更多