Модуль community.aws.elb_target_group – Управление группой целевых серверов для балансировщика нагрузки приложения или сети
Примечание
Этот модуль является частью коллекции community.aws (версия 8.0.0).
У вас, возможно, уже установлена эта коллекция, если вы используете пакет ansible. Она не включена в ansible-core. Чтобы проверить установку, выполните ansible-galaxy collection list.
Для установки используйте: ansible-galaxy collection install community.aws. Для использования этого модуля необходимы дополнительные требования, см. Требования для получения подробностей.
Чтобы использовать его в плейбуке, укажите: community.aws.elb_target_group.
Новая функция в community.aws 1.0.0
Описание
- Управление группой целевых серверов 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 для получения подробностей.
Требования
Ниже приведены требования к хосту, на котором будет выполняться этот модуль.
- python >= 3.6
- boto3 >= 1.26.0
- botocore >= 1.29.0
Параметры
Параметр | Комментарии |
|---|---|
access_key aliases: aws_access_key_id, aws_access_key, ec2_access_key string | Идентификатор ключа доступа AWS. См. документацию AWS для получения дополнительной информации о токенах доступа https://docs.aws.amazon.com/general/latest/gr/aws-sec-cred-types.html#access-keys-and-secret-access-keys. Переменные среды Параметры aws_access_key и profile являются взаимоисключающими. Псевдоним aws_access_key_id был добавлен в релизе 5.1.0 для согласованности с AWS botocore SDK. Псевдоним ec2_access_key устарел и будет удален в релизе после 2024-12-01. Поддержка переменной среды |
aws_ca_bundle path | Расположение пакета CA, используемого при проверке SSL-сертификатов. Переменная среды |
aws_config dictionary | Словарь для изменения конфигурации botocore. Параметры можно найти в документации AWS https://botocore.amazonaws.com/v1/documentation/api/latest/reference/config.html#botocore.config.Config. |
debug_botocore_endpoint_logs boolean | Использовать Переменная среды Варианты:
|
deregistration_connection_termination boolean добавлено в community.aws 3.1.0 | Указывает, завершает ли балансировщик нагрузки соединения по окончании тайм-аута отмены регистрации. Использование этого параметра поддерживается только при подключении к сетевому балансировщику нагрузки (NLB). Варианты:
|
deregistration_delay_timeout integer | Время, в течение которого Elastic Load Balancing будет ждать, прежде чем изменить состояние отменяющегося целевого объекта с «дренирующего» на «неиспользуемый». Диапазон составляет 0–3600 секунд. |
endpoint_url aliases: ec2_url, aws_endpoint_url, s3_url string | URL для подключения вместо конечных точек AWS по умолчанию. Хотя это может использоваться для подключения к другим совместимым с AWS службам, коллекции amazon.aws и community.aws тестируются только с AWS. Переменные среды Псевдонимы ec2_url и s3_url устарели и будут удалены в релизе после 2024-12-01. Поддержка переменной среды |
health_check_interval integer | Приблизительное время, в секундах, между проверками работоспособности отдельных целевых объектов. |
health_check_path string | Путь ping, который является местом назначения на целевых объектах для проверок работоспособности. Путь должен быть определен для настройки проверки работоспособности. Требуется установка параметра health_check_protocol. |
health_check_port string | Порт, используемый балансировщиком нагрузки при выполнении проверок работоспособности целевых объектов. Может быть установлен в «traffic-port» для соответствия порту целевого объекта. Если не определен, будет использоваться порт, на котором каждый целевой объект получает трафик от балансировщика нагрузки. |
health_check_protocol string | Протокол, используемый балансировщиком нагрузки при выполнении проверок работоспособности целевых объектов. Варианты:
|
health_check_timeout integer | Время, в секундах, в течение которого отсутствие ответа от целевого объекта означает неудачную проверку работоспособности. |
healthy_threshold_count integer | Количество последовательных успешных проверок работоспособности, необходимых для того, чтобы считать неработоспособный целевой объект работоспособным. |
load_balancing_algorithm_type string добавлено в community.aws 3.2.0 | Тип алгоритма балансировки нагрузки, который нужно использовать. Изменение алгоритма балансировки нагрузки поддерживается только при использовании с балансировщиками нагрузки приложений (ALB). Если не задано, AWS будет использовать Варианты:
|
modify_targets boolean | Изменять ли существующие цели в группе, чтобы они соответствовали тому, что передаётся с модулем Choices:
|
name string / required | Имя целевой группы. |
port integer | Порт, на котором цели принимают трафик. Этот порт используется, если вы не указываете переопределение порта при регистрации цели. Обязательно, когда state равен |
preserve_client_ip_enabled boolean added in community.aws 2.1.0 | Указывает, включено ли сохранение IP-адреса клиента. По умолчанию отключено, если тип целевой группы — адрес preserve_client_ip_enabled поддерживается только сетевыми балансировщиками нагрузки. Choices:
|
profile aliases: aws_profile string | Именованный профиль AWS для использования для аутентификации. См. документацию AWS для получения дополнительной информации об именованных профилях https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-profiles.html. Также может использоваться переменная среды Параметр profile взаимоисключающий с параметрами aws_access_key, aws_secret_key и security_token. |
protocol string | Протокол, используемый для маршрутизации трафика к целям. Обязательно, когда state равен Choices:
|
protocol_version string added in community.aws 5.1.0 | Указывает версию протокола. Параметр protocol_version является неизменяемым и не может быть изменен при обновлении elb_target_group. Choices:
|
proxy_protocol_v2_enabled boolean added in community.aws 2.1.0 | Указывает, включен ли Proxy Protocol версии 2. Значение равно proxy_protocol_v2_enabled поддерживается только сетевыми балансировщиками нагрузки. Choices:
|
purge_tags boolean | Если purge_tags=true и установлен параметр tags, существующие теги будут очищены из ресурса, чтобы точно соответствовать тому, что определено параметром tags. Если параметр tags не установлен, теги не будут изменены, даже если purge_tags=True. Ключи тегов, начинающиеся с Choices:
|
region aliases: aws_region, ec2_region string | Регион AWS для использования. Для глобальных служб, таких как IAM, Route53 и CloudFront, параметр region игнорируется. Также могут использоваться переменные среды См. документацию Amazon AWS для получения дополнительной информации http://docs.aws.amazon.com/general/latest/gr/rande.html#ec2_region. Псевдоним Поддержка переменной среды |
secret_key aliases: aws_secret_access_key, aws_secret_key, ec2_secret_key string | Секретный ключ доступа AWS. См. документацию AWS для получения дополнительной информации о токенах доступа https://docs.aws.amazon.com/general/latest/gr/aws-sec-cred-types.html#access-keys-and-secret-access-keys. Также могут использоваться переменные среды Параметры secret_key и profile взаимоисключающие. Псевдоним aws_secret_access_key был добавлен в релизе 5.1.0 для согласованности с AWS botocore SDK. Псевдоним ec2_secret_key устарел и будет удален в релизе после 2024-12-01. Поддержка переменной среды |
session_token aliases: aws_session_token, security_token, aws_security_token, access_token string | Сеансовый токен AWS STS для использования с временными учетными данными. См. документацию AWS для получения дополнительной информации о токенах доступа https://docs.aws.amazon.com/general/latest/gr/aws-sec-cred-types.html#access-keys-and-secret-access-keys. Переменные среды Параметры security_token и profile являются взаимоисключающими. Псевдонимы aws_session_token и session_token были добавлены в релизе 3.2.0, при этом параметр был переименован из security_token в session_token в релизе 6.0.0. Псевдонимы security_token, aws_security_token и access_token устарели и будут удалены в релизе после 2024-12-01. Поддержка переменных среды |
state string / required | Создать или удалить группу целевых объектов. Варианты:
|
stickiness_app_cookie_duration integer добавлено в community.aws 1.5.0 | Промежуток времени в секундах, в течение которого запросы от клиента должны направляться к одному и тому же целевому объекту. После истечения этого периода времени cookie, созданный приложением, считается устаревшим. Диапазон составляет от 1 секунды до 1 недели (604800 секунд). |
stickiness_app_cookie_name string добавлено в community.aws 1.5.0 | Имя cookie приложения. Обязательно, если stickiness_type=app_cookie. |
stickiness_enabled boolean | Указывает, включены ли липкие сессии. Варианты:
|
stickiness_lb_cookie_duration integer | Промежуток времени в секундах, в течение которого запросы от клиента должны направляться к одному и тому же целевому объекту. После истечения этого периода времени cookie, созданный балансировщиком нагрузки, считается устаревшим. Диапазон составляет от 1 секунды до 1 недели (604800 секунд). |
stickiness_type string | Тип липких сессий. Допустимые значения: Если не задано, AWS будет использовать значение по умолчанию |
successful_response_codes string | HTTP-коды, используемые при проверке успешного ответа от целевого объекта. Принимает несколько значений (например, «200,202») или диапазон значений (например, «200-299»). Требуется установить параметр health_check_protocol. |
tags aliases: resource_tags dictionary | Словарь, представляющий теги, которые будут применены к ресурсу. Если параметр tags не задан, теги не будут изменены. |
target_type string | Тип целевого объекта, который необходимо указать при регистрации целевых объектов в этой группе целевых объектов. Возможные значения: Поведение по умолчанию — Варианты:
|
targets list / elements=dictionary | Список целевых объектов, которые необходимо назначить группе целевых объектов. Этот параметр по умолчанию — пустой список. Если вы не установите параметр «modify_targets», все существующие целевые объекты будут удалены из группы. Список должен содержать параметры Id и Port. См. примеры для получения подробной информации. |
unhealthy_threshold_count integer | Количество последовательных сбоев проверки работоспособности, необходимых для того, чтобы считать целевой объект неработоспособным. |
validate_certs boolean | При установке в значение Установка validate_certs=false настоятельно не рекомендуется; в качестве альтернативы рассмотрите возможность установки aws_ca_bundle. Варианты:
|
vpc_id string | Идентификатор виртуального частного облака (VPC). Обязательно, когда state равно |
wait boolean | Ожидать ли группу целевых объектов. Варианты:
|
wait_timeout integer | Время ожидания для целевой группы. По умолчанию: |
Примечания
Примечание
- После создания целевой группы, только ее проверку состояния можно изменить с помощью последующих вызовов
- Внимание: Для модулей переменные среды и файлы конфигурации считываются из контекста Ansible «хост», а не «контроллер». В связи с этим, файлы могут потребоваться скопировать явно на «хост». Для плагинов поиска и подключения переменные среды и файлы конфигурации считываются из контекста Ansible «контроллер», а не «хост».
- AWS SDK (boto3), используемый Ansible, также может считывать значения по умолчанию для учетных данных и других настроек, таких как регион, из файлов конфигурации в контексте Ansible «хост» (как правило,
~/.aws/credentials). Подробнее см. https://boto3.amazonaws.com/v1/documentation/api/latest/guide/credentials.html
Примеры
# Note: These examples do not set authentication details, see the AWS Guide for details.
- name: Create a target group with a default health check
community.aws.elb_target_group:
name: mytargetgroup
protocol: http
port: 80
vpc_id: vpc-01234567
state: present
- name: Create a target group with protocol_version 'GRPC'
community.aws.elb_target_group:
name: mytargetgroup
protocol: http
port: 80
vpc_id: vpc-01234567
protocol_version: GRPC
state: present
- name: Modify the target group with a custom health check
community.aws.elb_target_group:
name: mytargetgroup
protocol: http
port: 80
vpc_id: vpc-01234567
health_check_protocol: http
health_check_path: /health_check
health_check_port: 80
successful_response_codes: 200
health_check_interval: 15
health_check_timeout: 3
healthy_threshold_count: 4
unhealthy_threshold_count: 3
state: present
- name: Delete a target group
community.aws.elb_target_group:
name: mytargetgroup
state: absent
- name: Create a target group with instance targets
community.aws.elb_target_group:
name: mytargetgroup
protocol: http
port: 81
vpc_id: vpc-01234567
health_check_protocol: http
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
- name: Create a target group with IP address targets
community.aws.elb_target_group:
name: mytargetgroup
protocol: http
port: 81
vpc_id: vpc-01234567
health_check_protocol: http
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
# Using lambda as targets require that the target group
# itself is allow to invoke the lambda function.
# therefore you need first to create an empty target group
# to receive its arn, second, allow the target group
# to invoke the lambda function and third, add the target
# to the target group
- name: first, create empty target group
community.aws.elb_target_group:
name: my-lambda-targetgroup
target_type: lambda
state: present
modify_targets: false
register: out
- name: second, allow invoke of the lambda
community.aws.lambda_policy:
state: "{{ state | default('present') }}"
function_name: my-lambda-function
statement_id: someID
action: lambda:InvokeFunction
principal: elasticloadbalancing.amazonaws.com
source_arn: "{{ out.target_group_arn }}"
- name: third, add target
community.aws.elb_target_group:
name: my-lambda-targetgroup
target_type: lambda
state: present
targets:
- Id: arn:aws:lambda:eu-central-1:123456789012:function:my-lambda-function
Значения возврата
Общие значения возврата описаны здесь, следующие поля уникальны для данного модуля:
Ключ | Описание |
|---|---|
deregistration_connection_termination boolean | Указывает, завершает ли балансировщик нагрузки соединения по истечении времени ожидания отмены регистрации. Возвращается: когда состояние присутствует Пример: |
deregistration_delay_timeout_seconds integer | Время, в течение которого Elastic Load Balancing ожидает, прежде чем изменить состояние отменяемой цели с «удаление» на «неиспользуется». Возвращается: когда состояние присутствует Пример: |
health_check_interval_seconds integer | Приблизительное время в секундах между проверками работоспособности отдельной цели. Возвращается: когда состояние присутствует Пример: |
health_check_path string | Назначение для запроса проверки работоспособности. Возвращается: когда состояние присутствует Пример: |
health_check_port string | Порт, используемый для подключения к цели. Возвращается: когда состояние присутствует Пример: |
health_check_protocol string | Протокол, используемый для подключения к цели. Возвращается: когда состояние присутствует Пример: |
health_check_timeout_seconds integer | Время в секундах, в течение которого отсутствие ответа означает неудачную проверку работоспособности. Возвращается: когда состояние присутствует Пример: |
healthy_threshold_count integer | Количество последовательных успешных проверок работоспособности, необходимых для того, чтобы считать неработоспособную цель работоспособной. Возвращается: когда состояние присутствует Пример: |
load_balancer_arns list / elements=string | Универсальные имена ресурсов (ARN) балансировщиков нагрузки, которые направляют трафик в эту группу целей. Возвращается: когда состояние присутствует Пример: |
load_balancing_algorithm_type string добавлено в community.aws 3.2.0 | Тип используемого алгоритма балансировки нагрузки. Возвращается: когда состояние присутствует Пример: |
matcher dictionary | HTTP-коды, используемые при проверке успешного ответа от цели. Возвращается: когда состояние присутствует Пример: |
port integer | Порт, на котором прослушивают цели. Возвращается: когда состояние присутствует Пример: |
protocol string | Протокол, используемый для маршрутизации трафика к целям. Возвращается: когда состояние присутствует Пример: |
stickiness_enabled boolean | Указывает, включены ли липкие сессии. Возвращается: когда состояние присутствует Пример: |
stickiness_lb_cookie_duration_seconds integer | Период времени в секундах, в течение которого запросы от клиента должны направляться к одной и той же цели. Возвращается: когда состояние присутствует Пример: |
stickiness_type string | Тип липких сессий. Возвращается: когда состояние присутствует Пример: |
метки словарь | Метки, прикреплённые к группе целевых серверов. Возвращается: при состоянии present Пример: |
target_group_arn строка | Amazon Resource Name (ARN) группы целевых серверов. Возвращается: при состоянии present Пример: |
target_group_name строка | Имя группы целевых серверов. Возвращается: при состоянии present Пример: |
unhealthy_threshold_count целое число | Количество последовательных сбоев проверки работоспособности, необходимое для того, чтобы считать целевой сервер неработоспособным. Возвращается: при состоянии present Пример: |
vpc_id строка | Идентификатор VPC для целевых серверов. Возвращается: при состоянии present Пример: |
Ссылки на сборку
© 2012–2018 Michael DeHaan
© 2018–2024 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/latest/collections/community/aws/elb_target_group_module.html