elb_target_group – Управление группой целей для балансировщика нагрузки приложений или сети
Новая в версии 2.4.
Обзор
- Управление группой целей балансировщика нагрузки AWS Elastic Load Balancer. Подробнее см. https://docs.aws.amazon.com/elasticloadbalancing/latest/application/load-balancer-target-groups.html или https://docs.aws.amazon.com/elasticloadbalancing/latest/network/load-balancer-target-groups.html.
Требования
Ниже перечислены требования к хосту, на котором будет выполняться этот модуль.
- boto
- boto3
- python >= 2.6
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии |
|---|---|---|
| aws_access_key строка | Ключ доступа к AWS. Если не задан, используется значение переменной среды AWS_ACCESS_KEY_ID, AWS_ACCESS_KEY или EC2_ACCESS_KEY. псевдонимы: ec2_access_key, access_key | |
| aws_secret_key строка | Секретный ключ AWS. Если не задан, используется значение переменной среды AWS_SECRET_ACCESS_KEY, AWS_SECRET_KEY или EC2_SECRET_KEY. псевдонимы: ec2_secret_key, secret_key | |
| debug_botocore_endpoint_logs логический добавлен в 2.8 |
| Использовать логгер botocore.endpoint для анализа уникальных (а не общих) API-вызовов «ресурс:действие» во время задачи, выводя набор в ключ resource_actions результатов задачи. Используйте обратный вызов aws_resource_action для вывода общего списка, сделанного во время выполнения пьесы. Также может быть использована переменная среды ANSIBLE_DEBUG_BOTOCORE_LOGS. |
| deregistration_delay_timeout - | Время ожидания Elastic Load Balancing перед изменением состояния удаляемого целевого объекта из состояния ожидания в состояние неиспользуемого. Диапазон от 0 до 3600 секунд. | |
| ec2_url строка | URL для подключения к EC2 или вашему облаку Eucalyptus (по умолчанию модуль использует конечные точки EC2). Игнорируется для модулей, где требуется регион. Должен быть указан для всех других модулей, если регион не используется. Если не задан, используется значение переменной среды EC2_URL, если таковое есть. | |
| health_check_interval - | Приблизительное время в секундах между проверками состояния каждого целевого объекта. | |
| health_check_path - | Путь ping, который является местом назначения на целевых объектах для проверок состояния. Путь должен быть определен для настройки проверки состояния. | |
| health_check_port - | По умолчанию: "Порт, на котором каждый целевой объект получает трафик от балансировщика нагрузки." | Порт, который балансировщик нагрузки использует при проверке состояния целевых объектов. Может быть установлен в 'traffic-port' для соответствия порту целевого объекта. |
| health_check_protocol - |
| Протокол, используемый балансировщиком нагрузки при проверке состояния целевых объектов. |
| health_check_timeout - | Время в секундах, в течение которого отсутствие ответа от целевого объекта означает не пройденную проверку состояния. | |
| healthy_threshold_count - | Количество последовательных успешных проверок состояния, необходимых для перехода целевого объекта из нездорового в здоровое состояние. | |
| modify_targets логический |
| Определяет, следует ли изменять существующие целевые объекты в группе в соответствии с тем, что передано с модулем |
| name - / обязательно | Имя группы целевых объектов. | |
| port - | Порт, на котором целевые объекты получают трафик. Этот порт используется, если вы не укажете замену порта при регистрации целевого объекта. Требуется, если state есть present. | |
| profile строка | Использует профиль boto. Работает только с boto >= 2.24.0. | |
| protocol - |
| Протокол для маршрутизации трафика к целевым объектам. Требуется, когда state есть present. |
| purge_tags логический |
| Если да, существующие метки будут удалены с ресурса для точного соответствия параметру метки. Если параметр метки не задан, метки не будут изменены. |
| region строка | AWS регион для использования. Если не указан, используется значение переменной среды AWS_REGION или EC2_REGION, если таковое есть. Смотрите http://docs.aws.amazon.com/general/latest/gr/rande.html#ec2_region
псевдонимы: aws_region, ec2_region | |
| security_token строка | AWS STS security токен. Если не задан, используется значение переменной среды AWS_SECURITY_TOKEN или EC2_SECURITY_TOKEN. псевдонимы: access_token | |
| state - / обязательно |
| Создать или удалить группу целевых объектов. |
| stickiness_enabled логический |
| Указывает, включены ли сеансы с привязкой. |
| stickiness_lb_cookie_duration - | Период времени в секундах, в течение которого запросы от клиента должны маршрутизироваться к тому же целевому объекту. По истечении этого периода времени, созданный балансировщиком нагрузки cookie считается устаревшим. Диапазон от 1 секунды до 1 недели (604800 секунд). | |
| stickiness_type - | По умолчанию: "lb_cookie" | Тип сеансов с привязкой. Возможные значения — lb_cookie. |
| successful_response_codes - | HTTP-коды для проверки успешного ответа от целевого объекта. Принимает несколько значений (например, "200,202") или диапазон значений (например, "200-299"). Требует параметра health_check_protocol. | |
| tags - | Словарь одной или нескольких меток для назначения целевой группе. | |
| target_type - добавлен в 2.5 |
| Тип целевого объекта, который необходимо указать при регистрации целевых объектов в этой группе целевых объектов. Возможные значения — instance (целевые объекты заданы по идентификатору экземпляра) или ip (целевые объекты заданы по IP-адресу). Обратите внимание, что вы не можете указать целевые объекты для группы целевых объектов, используя одновременно идентификаторы экземпляров и IP-адреса. Если тип целевого объекта — ip, укажите IP-адреса из подсетей виртуальной частной сети (VPC) для группы целевых объектов, диапазон RFC 1918 (10.0.0.0/8, 172.16.0.0/12 и 192.168.0.0/16) и диапазон RFC 6598 (100.64.0.0/10). Вы не можете указать общедоступные IP-адреса. |
| targets - | Список целевых объектов для назначения группе целевых объектов. По умолчанию этот параметр равен пустому списку. Если вы не установили параметр 'modify_targets', все существующие целевые объекты будут удалены из группы. Список должен содержать параметр Id и Port. Подробности см. в Примерах. | |
| unhealthy_threshold_count - | Количество последовательных неудачных проверок состояния, необходимое для перехода целевого объекта в нездоровое состояние. | |
| validate_certs логический |
| Если установлено «нет», сертификаты SSL для версий boto >= 2.6.0 не будут проверены. |
| vpc_id - | Идентификатор виртуальной частной сети (VPC). Требуется, когда state есть present. |
| wait boolean добавлено в 2.4 |
| Ожидать или нет целевую группу. |
| wait_timeout - добавлено в 2.4 | По умолчанию: 200 | Время ожидания целевой группы. |
Примечания
Примечание
- После создания целевой группы можно изменять только её проверку состояния с помощью последующих вызовов
- Если параметры не заданы в модуле, можно использовать следующие переменные среды в порядке убывания приоритета
AWS_URLилиEC2_URL,AWS_ACCESS_KEY_IDилиAWS_ACCESS_KEYилиEC2_ACCESS_KEY,AWS_SECRET_ACCESS_KEYилиAWS_SECRET_KEYилиEC2_SECRET_KEY,AWS_SECURITY_TOKENилиEC2_SECURITY_TOKEN,AWS_REGIONилиEC2_REGION - Ansible использует конфигурационный файл boto (обычно ~/.boto), если данные аутентификации не указаны. См. https://boto.readthedocs.io/en/latest/boto_config_tut.html
-
AWS_REGIONилиEC2_REGIONобычно используются для указания региона AWS, если это необходимо, но это также можно настроить в конфигурационном файле boto
Примеры
# Note: These examples do not set authentication details, see the AWS Guide for details.
# Create a target group with a default health check
- elb_target_group:
name: mytargetgroup
protocol: http
port: 80
vpc_id: vpc-01234567
state: present
# Modify the target group with a custom health check
- elb_target_group:
name: mytargetgroup
protocol: http
port: 80
vpc_id: vpc-01234567
health_check_path: /
successful_response_codes: "200,250-260"
state: present
# Delete a target group
- elb_target_group:
name: mytargetgroup
state: absent
# Create a target group with instance targets
- elb_target_group:
name: mytargetgroup
protocol: http
port: 81
vpc_id: vpc-01234567
health_check_path: /
successful_response_codes: "200,250-260"
targets:
- Id: i-01234567
Port: 80
- Id: i-98765432
Port: 80
state: present
wait_timeout: 200
wait: True
# Create a target group with IP address targets
- elb_target_group:
name: mytargetgroup
protocol: http
port: 81
vpc_id: vpc-01234567
health_check_path: /
successful_response_codes: "200,250-260"
target_type: ip
targets:
- Id: 10.0.0.10
Port: 80
AvailabilityZone: all
- Id: 10.0.0.20
Port: 80
state: present
wait_timeout: 200
wait: True
Возвращаемые значения
Общие возвращаемые значения документированы здесь, следующие поля уникальны для данного модуля:
| Ключ | Возвращаемое значение | Описание |
|---|---|---|
| deregistration_delay_timeout_seconds целое число | при состоянии present | Время, которое Elastic Load Balancing ожидает, прежде чем изменить состояние удаляемого целевого экземпляра с состояния draining на unused. Пример: 300 |
| health_check_interval_seconds целое число | при состоянии present | Приблизительное время в секундах между проверками состояния отдельных целевых экземпляров. Пример: 30 |
| health_check_path строка | при состоянии present | Место назначения запроса проверки состояния. Пример: /index.html |
| health_check_port строка | при состоянии present | Порт для подключения к целевому экземпляру. Пример: traffic-port |
| health_check_protocol строка | при состоянии present | Протокол для подключения к целевому экземпляру. Пример: HTTP |
| health_check_timeout_seconds целое число | при состоянии present | Время в секундах, в течение которого отсутствие ответа означает провал проверки состояния. Пример: 5 |
| healthy_threshold_count целое число | при состоянии present | Количество последовательных успешных проверок состояния, необходимых для перевода целевого экземпляра из состояния unhealthy в состояние healthy. Пример: 5 |
| load_balancer_arns список | при состоянии present | Имена Amazon Resource Name (ARN) балансировщиков нагрузки, которые направляют трафик в эту целевую группу. |
| matcher словарь | при состоянии present | HTTP-коды, используемые при проверке успешного ответа от целевого экземпляра. Пример: {'http_code': '200'} |
| port целое число | при состоянии present | Порт, на котором слушают целевые экземпляры. Пример: 80 |
| protocol строка | при состоянии present | Протокол для маршрутизации трафика к целевым экземплярам. Пример: HTTP |
| stickiness_enabled boolean | при состоянии present | Указывает, включены ли сессии с привязкой. Пример: True |
| stickiness_lb_cookie_duration_seconds целое число | при состоянии present | Срок действия cookie балансировщика нагрузки в секундах, в течение которого запросы от клиента должны маршрутизироваться к одному и тому же целевому экземпляру. Пример: 86400 |
| stickiness_type строка | при состоянии present | Тип сессий с привязкой. Пример: lb_cookie |
| tags словарь | при состоянии present | Теги, прикрепленные к целевой группе. Пример: { 'Тег': 'Пример' } |
| target_group_arn строка | при состоянии present | Идентификатор Amazon Resource Name (ARN) целевой группы. Пример: arn:aws:elasticloadbalancing:ap-southeast-2:01234567890:targetgroup/mytargetgroup/aabbccddee0044332211 |
| target_group_name строка | при состоянии present | Имя целевой группы. Пример: mytargetgroup |
| unhealthy_threshold_count целое число | при состоянии present | Количество последовательных сбоев проверки состояния, необходимых для перевода целевого экземпляра в состояние unhealthy. Пример: 2 |
| vpc_id строка | при состоянии present | Идентификатор VPC для целевых экземпляров. Пример: vpc-0123456 |
Статус
- Этот модуль не гарантирует обратную совместимость интерфейса. [превью]
- Этот модуль поддерживается сообществом Ansible. [сообщество]
Авторы
- Rob White (@wimnat)
Подсказка
Если вы обнаружили какие-либо проблемы в этом документе, вы можете отредактировать этот документ, чтобы улучшить его.
© 2012–2018 Michael DeHaan
© 2018–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.8/modules/elb_target_group_module.html