Amazon ec2 使用Ansible禁用ec2实例终止保护
我目前正在为使用Ansible创建的所有实例启用Amazon ec2 使用Ansible禁用ec2实例终止保护,amazon-ec2,ansible,Amazon Ec2,Ansible,我目前正在为使用Ansible创建的所有实例启用终止\u保护,以防止从控制台等意外终止。现在我希望能够使用Ansible终止特定实例,但我不知道如何对它们禁用终止保护 这就是我认为会起作用的原因: - name: Disable termination protection ec2: instance_ids: "{{ instance_ids }}" region: "{{ aws_region }}" termination_protection: no 运行时
终止\u保护
,以防止从控制台等意外终止。现在我希望能够使用Ansible终止特定实例,但我不知道如何对它们禁用终止保护
这就是我认为会起作用的原因:
- name: Disable termination protection
ec2:
instance_ids: "{{ instance_ids }}"
region: "{{ aws_region }}"
termination_protection: no
运行时如何收到此错误消息:
fatal: [localhost]: FAILED! => {
"changed": false,
"failed": true,
"msg": "image parameter is required for new instance"
}
看起来Ansible正在将我的脚本解释为实例创建请求
有没有办法用另一个模块更改
终端保护
?我唯一能想到的另一种方法是通过Ansible中的shell
任务使用aws cli,但这有点老套。让我们来看看
状态正在运行
和已停止
调用startstop\u实例()
状态restarted
调用restart\u instances()
这两个功能都支持源/目的地检查
和终止保护
属性值
所以你可以打电话:
- ec2:
instance_ids: "{{ instance_ids }}"
state: restarted
region: "{{ aws_region }}"
termination_protection: no
如果您不介意重新启动服务器
或者使用ec2\u remote\u facts
查询当前状态,并使用该状态作为参数调用ec2
模块–这将更改终止保护
,但将保持实例的状态不变