проблема с регистрацией экземпляра EC2 в Application Load Balancer (ALB)

Согласно документации, я должен иметь возможность зарегистрировать экземпляр EC2 с помощью elb_instance, но воспроизведение не удается с ELB Staging1 does not exist. Для проверки работоспособности я пробовал использовать инструмент AWS CLI, но это не помогло с An error occurred (LoadBalancerNotFound) when calling the RegisterInstancesWithLoadBalancer operation: There is no ACTIVE Load Balancer named 'Staging1'. Как поворот сюжета:

  • Консоль AWS показывает ALB как «Активный»
  • elb_application_lb_facts также перечисляет это
  • ec2_elb_facts не перечисляет его (он перечисляет только классические ELB, которые у меня есть)

Похоже, что балансировщики нагрузки приложений поддерживаются только в более новой версии api, и модуль или cli не предназначены для работы с ними. Однако я не могу найти явного упоминания о том, что они не должны работать. Мне также известно о elbv2 команде, но похоже, он не предлагает способ регистрации экземпляров в ELB.

Что мне здесь не хватает, ребята?

Ansible задача, которую я написал:

- name: Register instances in the ALB
  local_action:
        module: elb_instance
        aws_access_key: "{{ aws_credentials.access_key_id }}"
        aws_secret_key: "{{ aws_credentials.secret_access_key }}"
        region: "{{ aws_region }}"
        instance_id: "{{ item.instance_ids.0 }}"
        ec2_elbs: "Staging1"
        state: present
        wait: yes
  loop: "{{ new_instances.results }}"

альтернатива с aws cli tool (тоже не работает):

    - name: Register instance in ALB workaround
      command: "aws elb register-instances-with-load-balancer --load-balancer-name Staging1 --instances {{ instance_ids | join(' ') }}"
      environment:
        AWS_REGION: "{{ aws_region }}"
        AWS_ACCESS_KEY: "{{ aws_credentials.access_key_id }}"
        AWS_SECRET_KEY: "{{ aws_credentials.secret_access_key }}"

person guessimtoolate    schedule 22.10.2019    source источник
comment
Думаю, это показывает, что я не очень хорошо читал балансировщик нагрузки приложений. Невозможно зарегистрироваться в ALB, потому что для этого предназначены целевые группы. Ну что ж, день был долгий ...   -  person guessimtoolate    schedule 23.10.2019


Ответы (1)


elbv2 предлагает способ регистрации целей на elb. Вы делаете это:

  1. Создайте целевую группу
  2. Затем используйте Зарегистрируйте целевую группу API для зарегистрируйте свои инстансы EC2
  3. Затем используйте Create Listener API, чтобы связать ELB с целевой группой

В приведенных мною ссылках есть примеры этого.

person Ashaman Kingpin    schedule 22.10.2019