Ansible community.aws.ec2_elb模块无法正常注销关联负载均衡实例问题
之前推测是选错了模块,相关判断可以参考后续的自答内容。
我计划通过Ansible的community.aws.ec2_elb模块完成实例注销操作,基本参照官方模块文档示例编写了如下playbook:
--- - hosts: all #gather_facts: no pre_tasks: - name: Instance De-register community.aws.ec2_elb: aws_access_key: <key> aws_secret_key: <secret> instance_id: "{{ id }}" state: absent region: us-east-1 register: dereg - name: print output debug: var: dereg
我执行ansible-playbook -i inventory deregister.yml命令跑通上述playbook后,模块返回结果如下:
ok: [<ip>] => { "dereg": { "ansible_facts": { "ec2_elbs": [] }, "changed": false, "failed": false } }
我已经完成两项核查确认:
- inventory文件中配置的
id为真实的AWS实例ID,inventory文件格式如下:[hosts] <ip> id=i-<AWS-ID> <ip> id=i-<AWS-ID> - 目标EC2节点处于运行状态,且已挂载到负载均衡器的目标组中,负载均衡器监听器配置正常,目标组判定所有节点为健康状态
目前这个模块的公开参考资料很少,我找不到运行后达不到预期效果的原因。
我的核心需求是在节点滚动更新流程中,先把节点从AWS负载均衡器里注销,避免因为负载均衡器需要数秒才能识别节点为不健康状态,在这段时间窗口里继续向节点转发请求导致业务出错的问题。
内容的提问来源于stack exchange,提问作者unsafe_where_true
相关产品推荐
相关产品推荐

