我有一个用例,我有一个使用Fedora Linux的EC2实例和一些运行的应用程序。当这个实例失败时,我必须使用相同的操作系统启动一个新实例并安装应用程序。我想在Ansible(和Python)中做,我是一个完整的新手,不知道该怎么做。
答案 0 :(得分:0)
对于我的应用程序,我有一个变量(一个结构),它告诉我三个子网中每个子网需要多少种类型的服务器。环境创建手册循环遍历该结构并构建,但是需要许多来满足要求。因此,如果我需要五(5)并且只有三(3),那么它构建两(2)。我在ec2模块中使用exact_count。
因此,如果一个失败,我可以删除该实例并重新运行我的create playbook,它还将重新编写用于彼此通信的其他服务器上的所有配置文件。例如,如果我删除JBoss服务器创建一个新的服务器以替换它,负载均衡器必须知道它。
答案 1 :(得分:0)
这里的良好做法是拥有一个涵盖您需要的基本图像,将其用作AMI的馈线,然后将其插入自动缩放组。作为自动扩展组的一部分,您可以使用user-data
在启动时将特定更新/等加载到实例上。
自动缩放组最小1最大1将完全符合您的要求,如果您可以按上述方式进行配置。