Spec-Zone.ru › Ansible 2.9

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
-
Путь для проверки работоспособности, являющийся целевым адресом для проверки работоспособности на целевых объектах. Путь должен быть определен для настройки проверки работоспособности.
health_check_port
-
Значение по умолчанию:
"Порт, на котором каждый целевой объект получает трафик от балансировщика нагрузки."
Порт, используемый балансировщиком нагрузки при проверке работоспособности целевых объектов. Можно установить в «traffic-port» для соответствия порту целевого объекта.
health_check_protocol
-
    Варианты:
  • http
  • https
  • tcp
Протокол, используемый балансировщиком нагрузки при проверке работоспособности целевых объектов.
health_check_timeout
-
Время, в секундах, в течение которого отсутствие ответа от целевого объекта означает неудачную проверку работоспособности.
healthy_threshold_count
-
Количество последовательных успешных проверок работоспособности, необходимых для того, чтобы считать целевой объект, неисправный, исправным.
modify_targets
логический тип
    Варианты:
  • нет
  • да ←
Определяет, нужно ли изменять существующие целевые объекты в группе, чтобы они соответствовали значениям, переданным с модулем.
name
- / обязательно
Имя группы целевых объектов.
port
-
Порт, на котором целевые объекты получают трафик. Используется этот порт, если не указан порт при регистрации целевого объекта. Требуется, если state — present.
profile
строка
Использует профиль boto. Работает только с boto >= 2.24.0.
protocol
-
    Варианты:
  • http
  • https
  • tcp
Протокол для маршрутизации трафика к целевым объектам. Требуется, когда state — present.
purge_tags
логический тип
    Варианты:
  • нет
  • да ←
Если «да», существующие теги будут удалены из ресурса, чтобы точно соответствовать параметру tags. Если параметр 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 токен безопасности. Если не задан, используется значение переменной среды AWS_SECURITY_TOKEN или EC2_SECURITY_TOKEN.

псевдонимы: access_token
state
- / обязательно
    Варианты:
  • present
  • absent
Создать или удалить группу целевых объектов.
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
  • lambda
Тип целевого объекта, который необходимо указать при регистрации целевых объектов в этой группе целевых объектов. Возможные значения: instance (целевые объекты задаются по ID экземпляра), ip (целевые объекты задаются по IP-адресу) или lambda (целевой объект задаётся по ARN). Обратите внимание, что вы не можете указать целевые объекты для группы целевых объектов, используя более одного типа. Тип целевого объекта lambda принимает только один целевой объект. При указании более одного целевого объекта используется только первый. Все дополнительные целевые объекты игнорируются. Если тип целевого объекта — 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» и «Порт». Подробности см. в примерах.
unhealthy_threshold_count
-
Количество последовательных неудачных проверок работоспособности, необходимых для того, чтобы считать целевой объект неисправным.
validate_certs
логический тип
    Варианты:
  • нет
  • да ←
При установке в «нет», сертификаты SSL не будут проверены для версий boto >= 2.6.0.
vpc_id
-
Идентификатор виртуальной частной сети (VPC). Требуется, если state — present.
wait
boolean
added in 2.4
    Choices:
  • нет ←
  • да
Ожидать ли целевую группу.
wait_timeout
-
added in 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

# 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 lamba function and third, add the target
# to the target group
- name: first, create empty target group
  elb_target_group:
    name: my-lambda-targetgroup
    target_type: lambda
    state: present
    modify_targets: False
  register: out

- name: second, allow invoke of the lambda
  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
  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_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
Количество последовательных успешных проверок работоспособности, необходимых для перевода неработающего целевого объекта в состояние работоспособности.

Пример:
5
load_balancer_arns
список
при состоянии present
Имена Amazon Resource Name (ARN) балансировщиков нагрузки, которые маршрутизируют трафик к этой целевой группе.

matcher
словарь
при состоянии present
HTTP-коды, используемые для проверки успешного ответа от целевого объекта.

Пример:
{'http_code': '200'}
port
целое число
при состоянии present
Порт, на котором слушают целевые объекты.

Пример:
80
protocol
строка
при состоянии present
Протокол для маршрутизации трафика к целевым объектам.

Пример:
HTTP
stickiness_enabled
булево
при состоянии present
Указывает, включены ли навязчивые сессии.

Пример:
True
stickiness_lb_cookie_duration_seconds
целое число
при состоянии present
Период времени в секундах, в течение которого запросы от клиента должны маршрутизироваться к одному и тому же целевому объекту.

Пример:
86400
stickiness_type
строка
при состоянии present
Тип навязчивых сессий.

Пример:
lb_cookie
tags
словарь
при состоянии present
Теги, прикреплённые к целевой группе.

Пример:
{ 'Tag': 'Пример' }
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
Количество последовательных сбоев проверок работоспособности, необходимое для признания целевого объекта неработоспособным.

Пример:
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.9/modules/elb_target_group_module.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API