Найдите список всех целевых групп AWS ALB, в которых зарегистрирован экземпляр

За ELB, если мы хотим удалить экземпляр со всех эльбов, нам просто нужно передать идентификатор экземпляра elb_instance модуль и снова, если мы хотим добавить экземпляр обратно в ту же книгу, это дает нам волшебную переменную ec2_elbsМы можем перебрать эту переменную и добавить обратно или зарегистрировать экземпляр для всех elbs, которых он зарегистрировал ранее.

Я не нашел ни одного модуля, который я мог бы использовать, чтобы найти список целевых групп, в которых зарегистрирован экземпляр. Может кто-нибудь указать, если знать об этом.

1 ответ

Вот модуль elb_target_group, который находится в режиме предварительного просмотра, или вы можете использовать скрипт на python и boto, чтобы найти список экземпляров в определенной целевой группе

Я нашел способ динамически удалить экземпляр (ы) из всех целевых групп, в которых он был зарегистрирован:

- name: Collect facts about EC2 Instance
  action: ec2_metadata_facts

- name: Get the list of all target groups to which Instance(s) registered
  local_action:
    module: elb_target_facts
    instance_id: "{{ ansible_ec2_instance_id }}"
    region: "{{ ansible_ec2_placement_region }}"
  register: alb_target_facts
  become: no

- name: Deregister the Instance from all target groups
  local_action:
    module: elb_target
    target_group_arn: "{{ item.target_group_arn }}"
    target_id: "{{ ansible_ec2_instance_id }}"
    target_status_timeout: 300
    target_status: unused
    state: absent
  loop: "{{ alb_target_facts.instance_target_groups }}"
  become: no

Поскольку я зарегистрировал информацию о целевой группе (группах) в переменной, я могу использовать ее снова, чтобы добавить обратно:

- name: Register the Instance back to the target group(s)
  local_action:
    module: elb_target
    target_group_arn: "{{ item.target_group_arn }}"
    target_id: "{{ ansible_ec2_instance_id }}"
    target_status: healthy
    target_status_timeout: 300
    state: present
  loop: "{{ alb_target_facts.instance_target_groups }}"
  become: no
Другие вопросы по тегам