【问题标题】:Ansible script to spin up a failed instance in AWS EC2在 AWS EC2 中启动失败实例的 Ansible 脚本
【发布时间】:2017-05-24 20:31:06
【问题描述】:

我有一个用例,我有一个 EC2 实例,其中有 Fedora Linux 和一些正在运行的应用程序。当这个实例失败时,我必须启动一个具有相同操作系统的新实例并安装应用程序。我正在尝试用 Ansible(和 Python)做,我是一个完全的新手,不知道该怎么做。

【问题讨论】:

  • 您需要使用弹性伸缩组
  • 自动缩放不完全符合我的要求!
  • 你要复制存在实例吗?
  • 是的!我想做一个复制品!
  • 我们有 Auto Scaling 的许可限制!

标签: python amazon-web-services amazon-ec2 ansible


【解决方案1】:

对于我的应用程序,我有一个变量(一个结构),它告诉我在三个子网中的每一个子网中我需要多少每种类型的服务器。环境创建剧本循环遍历该结构并构建,但是需要许多才能满足要求。因此,如果我需要五 (5) 个并且只有三 (3) 个,它会构建两 (2) 个。我在 ec2 模块中使用了 exact_count。

因此,如果其中一个失败,我可以删除该实例并重新运行我的 create playbook,这还将重新编写其他服务器上用于相互通信的所有配置文件。例如,如果我删除了一个 JBoss 服务器创建一个新的来替换它,负载均衡器必须知道它。

【讨论】:

    【解决方案2】:

    这里的良好做法是拥有一个涵盖您所需内容的基本映像,将其用作 AMI 的馈送器,然后将其插入自动缩放组。作为自动扩展组的一部分,您可以使用user-data 在启动时将特定更新/等加载到实例上。

    Autoscale group min 1 max 1 将完全按照您的要求进行,如果您可以按照上述方式进行配置。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-02-09
      • 1970-01-01
      • 2016-04-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多