Модуль community.aws.elb_target_group — управление целевой группой для балансировщика нагрузки уровня приложений или сети
Примечание
Этот модуль входит в коллекцию community.aws (версия 10.1.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.34.0
- botocore >= 1.34.0
Параметры
Параметр | Комментарии |
|---|---|
access_key aliases: aws_access_key_id, aws_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 для единообразия с SDK AWS botocore. |
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: aws_endpoint_url string | URL для подключения вместо конечных точек AWS по умолчанию. Хотя этот параметр можно использовать для подключения к другим сервисам, совместимым с AWS, коллекции amazon.aws и community.aws тестируются только с AWS. Также можно использовать переменную среды |
health_check_interval integer | Примерный интервал в секундах между проверками работоспособности отдельной цели. |
health_check_path string | Путь для проверки связи, указывающий на назначение запросов проверки работоспособности на целях. Чтобы задать проверку работоспособности, необходимо определить путь. Требуется указать параметр 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 | Изменять ли существующие цели в группе, чтобы они соответствовали переданным модулю. Варианты:
|
name string / обязательный | Имя целевой группы. |
port integer | Порт, на котором цели получают трафик. Этот порт используется, если при регистрации цели не указан другой порт. Обязателен, если state имеет значение |
preserve_client_ip_enabled boolean добавлено в community.aws 2.1.0 | Указывает, включено ли сохранение IP-адреса клиента. По умолчанию сохранение отключено, если тип целевой группы — адрес preserve_client_ip_enabled поддерживается только сетевыми балансировщиками нагрузки. Варианты:
|
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 и session_token. |
protocol string | Протокол, используемый для маршрутизации трафика к целям. Обязателен, если state имеет значение Варианты:
|
protocol_version string добавлено в community.aws 5.1.0 | Задает версию протокола. Параметр protocol_version неизменяемый и не может быть изменен при обновлении elb_target_group. Варианты:
|
proxy_protocol_v2_enabled boolean добавлено в community.aws 2.1.0 | Указывает, включен ли Proxy Protocol версии 2. Значение — proxy_protocol_v2_enabled поддерживается только сетевыми балансировщиками нагрузки. Варианты:
|
purge_tags boolean | Если задано Если параметр Ключи тегов, начинающиеся с Варианты:
|
region aliases: aws_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 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 для единообразия с SDK AWS botocore. |
session_token aliases: aws_session_token string | Токен сеанса AWS STS для временных учетных данных. Дополнительную информацию о токенах доступа см. в документации AWS https://docs.aws.amazon.com/general/latest/gr/aws-sec-cred-types.html#access-keys-and-secret-access-keys. Также можно использовать переменную среды Параметры session_token и profile являются взаимоисключающими. |
state string / обязательный | Создать или удалить целевую группу. Варианты:
|
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 | Словарь тегов, применяемых к ресурсу. Если параметр |
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 «host», а не «controller». Поэтому может потребоваться явно скопировать файлы на «host». Для плагинов поиска и подключения переменные среды и файлы конфигурации считываются из контекста Ansible «controller», а не «host».
- Используемый Ansible пакет AWS SDK (boto3) также может считывать значения по умолчанию для учётных данных и других параметров, таких как регион, из файлов конфигурации в контексте Ansible «host» (обычно
~/.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 | Указывает, разрывает ли балансировщик нагрузки соединения по истечении времени ожидания отмены регистрации. Возвращается: если состояние — present Пример: |
deregistration_delay_timeout_seconds integer | Время, которое Elastic Load Balancing ожидает, прежде чем изменить состояние цели, отменяющей регистрацию, с draining на unused. Возвращается: если состояние — present Пример: |
health_check_interval_seconds integer | Примерный интервал в секундах между проверками работоспособности отдельной цели. Возвращается: если состояние — present Пример: |
health_check_path string | Адрес назначения для запроса проверки работоспособности. Возвращается: если состояние — present Пример: |
health_check_port string | Порт для подключения к цели. Возвращается: если состояние — present Пример: |
health_check_protocol string | Протокол для подключения к цели. Возвращается: если состояние — present Пример: |
health_check_timeout_seconds integer | Время в секундах, в течение которого отсутствие ответа считается неудачной проверкой работоспособности. Возвращается: если состояние — present Пример: |
healthy_threshold_count integer | Количество последовательных успешных проверок работоспособности, необходимых, чтобы считать неработоспособную цель работоспособной. Возвращается: если состояние — present Пример: |
load_balancer_arns list / elements=string | Amazon Resource Name (ARN) балансировщиков нагрузки, направляющих трафик в эту целевую группу. Возвращается: если состояние — present Пример: |
load_balancing_algorithm_type string добавлено в community.aws 3.2.0 | Тип используемого алгоритма балансировки нагрузки. Возвращается: если состояние — present Пример: |
matcher dictionary | Коды HTTP, используемые для проверки успешного ответа от цели. Возвращается: если состояние — present Пример: |
port integer | Порт, на котором прослушиваются цели. Возвращается: если состояние — present Пример: |
protocol string | Протокол для маршрутизации трафика к целям. Возвращается: если состояние — present Пример: |
stickiness_enabled boolean | Указывает, включена ли привязка сеансов к целевому серверу. Возвращается: если состояние — present Пример: |
stickiness_lb_cookie_duration_seconds integer | Период времени в секундах, в течение которого запросы клиента должны направляться к одной и той же цели. Возвращается: если состояние — present Пример: |
stickiness_type string | Тип привязки сеансов к целевому серверу. Возвращается: если состояние — present Пример: |
tags dictionary | Теги, назначенные целевой группе. Возвращается: если состояние — present Пример: |
target_group_arn string | Amazon Resource Name (ARN) целевой группы. Возвращается: если состояние — present Пример: |
target_group_name string | Имя целевой группы. Возвращается: если состояние — present Пример: |
unhealthy_threshold_count integer | Количество последовательных неудачных проверок работоспособности, необходимых, чтобы считать цель неработоспособной. Возвращается: если состояние — present Пример: |
vpc_id string | Идентификатор VPC для целей. Возвращается: если состояние — present Пример: |
Ссылки на коллекцию
© 2012–2018 Michael DeHaan
© 2018–2025 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/projects/ansible/latest/collections/community/aws/elb_target_group_module.html