community.aws.elb_network_lb – Управление балансировщиком нагрузки сети
Примечание
Этот плагин входит в коллекцию community.aws (версия 1.3.0).
Для его установки используйте: ansible-galaxy collection install community.aws.
Для использования в плейбуке укажите: community.aws.elb_network_lb.
Введено в версии 1.0.0: of community.aws
Описание
- Управление балансировщиком нагрузки сети AWS. Подробнее см. https://aws.amazon.com/blogs/aws/new-network-load-balancer-effortless-scaling-to-millions-of-requests-per-second/.
Требования
Ниже приведены требования к хосту, на котором выполняется этот модуль.
- boto
- boto3
- python >= 2.6
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии | ||
|---|---|---|---|---|
| aws_access_key строка | Ключ доступа AWS. Если не задан, используется значение переменной окружения AWS_ACCESS_KEY_ID, AWS_ACCESS_KEY или EC2_ACCESS_KEY. Если задан параметр profile, этот параметр игнорируется. Использование параметров aws_access_key и profile одновременно устарело и будет сделано взаимоисключающим после 2022-06-01. псевдонимы: ec2_access_key, access_key | |||
| aws_ca_bundle путь | Расположение файла с набором сертификатов CA для проверки SSL-сертификатов. Используется только для модулей на основе boto3. Примечание: Набор CA считывается со стороны «модуля» и может потребоваться явное копирование из контроллера, если он не запущен локально. | |||
| aws_config словарь | Словарь для изменения настроек botocore. Параметры можно найти по адресу https://botocore.amazonaws.com/v1/documentation/api/latest/reference/config.html#botocore.config.Config. Для модулей boto используется только ключ 'user_agent'. Более подробную информацию о конфигурации boto можно найти по адресу http://boto.cloudhackers.com/en/latest/boto_config_tut.html#boto. | |||
| aws_secret_key строка | Секретный ключ AWS. Если не задан, используется значение переменной окружения AWS_SECRET_ACCESS_KEY, AWS_SECRET_KEY или EC2_SECRET_KEY. Если задан параметр profile, этот параметр игнорируется. Использование параметров aws_secret_key и profile одновременно устарело и будет сделано взаимоисключающим после 2022-06-01. псевдонимы: ec2_secret_key, secret_key | |||
| cross_zone_load_balancing булево |
| Указывает, включено ли межзонное распределение нагрузки. По умолчанию false. | ||
| debug_botocore_endpoint_logs булево |
| Используйте логирование botocore.endpoint для анализа уникальных (а не общих) API-вызовов «ресурс:действие», выполненных во время задачи, выводив список в ключ resource_actions в результатах задачи. Используйте обратный вызов aws_resource_action для вывода полного списка, созданного во время выполнения playbook. Также может быть использована переменная окружения ANSIBLE_DEBUG_BOTOCORE_LOGS. | ||
| deletion_protection булево |
| Указывает, включена ли защита от удаления для ELB. По умолчанию false. | ||
| ec2_url строка | URL для подключения к EC2 или вашему облаку Eucalyptus (по умолчанию модуль будет использовать конечные точки EC2). Игнорируется для модулей, где регион обязателен. Должен быть указан для всех остальных модулей, если регион не используется. Если не задан, используется значение переменной окружения EC2_URL, если таковая есть. псевдонимы: aws_endpoint_url, endpoint_url | |||
| listeners список / элементы=словарь | Список словарей, содержащих слушателей, которые необходимо подключить к ELB. Подробности словаря см. в примерах. Обратите внимание, что ключи слушателей используют регистрозависимый стиль CamelCase. | |||
| Certificates список / элементы=словарь | Сертификат SSL сервера. | |||
| CertificateArn строка | Amazon Resource Name (ARN) сертификата. | |||
| DefaultActions список / элементы=словарь / обязательно | Действия по умолчанию для слушателя. | |||
| TargetGroupArn строка | Amazon Resource Name (ARN) целевой группы. | |||
| Type строка | Тип действия. | |||
| Port целое число / обязательно | Порт, на котором прослушивает балансировщик нагрузки. | |||
| Protocol строка / обязательно | Протокол для соединений от клиентов к балансировщику нагрузки. | |||
| SslPolicy строка | Политика безопасности, определяющая поддерживаемые шифры и протоколы. | |||
| name строка / обязательно | Имя балансировщика нагрузки. Имя должно быть уникальным в вашей учетной записи AWS, иметь максимальную длину 32 символа, содержать только буквенно-цифровые символы или дефисы, не начинаться и не заканчиваться дефисом. | |||
| profile строка | Использует профиль boto. Работает только с boto >= 2.24.0. Использование profile переопределит aws_access_key, aws_secret_key и security_token, и поддержка их одновременного указания с profile устарела.
aws_access_key, aws_secret_key и security_token будут сделаны взаимоисключающими с profile после 2022-06-01. псевдонимы: aws_profile | |||
| purge_listeners булево |
| Если purge_listeners=true, существующие слушатели будут удалены из ELB для точного соответствия параметру listeners. Если параметр listeners не задан, слушатели не будут изменены. | ||
| purge_tags булево |
| Если purge_tags=true, существующие теги будут удалены из ресурса для точного соответствия параметру tags. Если параметр tags не задан, теги не будут изменены. | ||
| region строка | AWS регион для использования. Если не указан, используется значение переменной окружения AWS_REGION или EC2_REGION, если она есть. См. http://docs.aws.amazon.com/general/latest/gr/rande.html#ec2_region
псевдонимы: aws_region, ec2_region | |||
| scheme строка |
| Интернет-ориентированный или внутренний балансировщик нагрузки. Схема ELB не может быть изменена после создания. | ||
| security_token строка | Токен безопасности AWS STS. Если не задан, используется значение переменной окружения AWS_SECURITY_TOKEN или EC2_SECURITY_TOKEN. Если задан параметр profile, этот параметр игнорируется. Использование параметров security_token и profile одновременно устарело и будет сделано взаимоисключающим после 2022-06-01. псевдонимы: aws_security_token, access_token | |||
| state строка |
| Создать или удалить балансировщик нагрузки. Текущее значение по умолчанию absent. Однако это поведение не согласуется с другими модулями, и поэтому значение по умолчанию изменится на present в версии 2.14. Для сохранения существующего поведения явно установите state=absent. | ||
| subnet_mappings список / элементы=словарь | Список словарей, содержащих идентификаторы подсетей, которые необходимо подключить к балансировщику нагрузки. Можно также указать идентификатор выделения Elastic IP для подключения к балансировщику нагрузки. Можно указать один адрес Elastic IP на подсеть. Этот параметр взаимоисключающий с subnets. | |||
| subnets список / элементы=строка | Список идентификаторов подсетей, которые необходимо подключить к балансировщику нагрузки. Вы можете указать только одну подсеть на зону доступности. Вам необходимо указать подсети из как минимум двух зон доступности. Требуется при state=present. Этот параметр взаимоисключающий с subnet_mappings. | |||
| tags словарь | Словарь одного или нескольких тегов, которые необходимо назначить балансировщику нагрузки. | |||
| validate_certs булево |
| При установке в «нет», SSL-сертификаты не будут проверены для версий boto >= 2.6.0. | ||
| wait булево |
| Ожидать ли достижения желаемого состояния балансировщиком сети. | ||
| wait_timeout целое число | Время ожидания в секундах, используется вместе с wait. | |||
Примечания
Примечание
- Слушатели сопоставляются по порту. Если порт слушателя изменён, будет создан новый слушатель.
- Правила слушателя сопоставляются по приоритету. Если приоритет правила изменён, будет создано новое правило.
- Если параметры не установлены в модуле, можно использовать следующие переменные окружения в порядке убывания приоритета
AWS_URLилиEC2_URL,AWS_PROFILEилиAWS_DEFAULT_PROFILE,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,AWS_CA_BUNDLE - 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.
- name: Create an ELB and attach a listener
community.aws.elb_network_lb:
name: myelb
subnets:
- subnet-012345678
- subnet-abcdef000
listeners:
- Protocol: TCP # Required. The protocol for connections from clients to the load balancer (TCP, TLS, UDP or TCP_UDP) (case-sensitive).
Port: 80 # Required. The port on which the load balancer is listening.
DefaultActions:
- Type: forward # Required. Only 'forward' is accepted at this time
TargetGroupName: mytargetgroup # Required. The name of the target group
state: present
- name: Create an ELB with an attached Elastic IP address
community.aws.elb_network_lb:
name: myelb
subnet_mappings:
- SubnetId: subnet-012345678
AllocationId: eipalloc-aabbccdd
listeners:
- Protocol: TCP # Required. The protocol for connections from clients to the load balancer (TCP, TLS, UDP or TCP_UDP) (case-sensitive).
Port: 80 # Required. The port on which the load balancer is listening.
DefaultActions:
- Type: forward # Required. Only 'forward' is accepted at this time
TargetGroupName: mytargetgroup # Required. The name of the target group
state: present
- name: Remove an ELB
community.aws.elb_network_lb:
name: myelb
state: absent
Значения возврата
Общие значения возврата описаны здесь, следующие поля уникальны для этого модуля:
| Ключ | Возвращается | Описание | ||
|---|---|---|---|---|
| availability_zones список / элементы=строка | при наличии параметра state | Доступные зоны для балансировщика нагрузки. Пример: [{'subnet_id': 'subnet-aabbccddff', 'zone_name': 'ap-southeast-2a', 'load_balancer_addresses': []}] | ||
| canonical_hosted_zone_id строка | при наличии параметра state | Идентификатор зоны размещения Amazon Route 53, связанной с балансировщиком нагрузки. Пример: ABCDEF12345678 | ||
| created_time строка | при наличии параметра state | Дата и время создания балансировщика нагрузки. Пример: 2015-02-12T02:14:02+00:00 | ||
| deletion_protection_enabled строка | при наличии параметра state | Указывает, включена ли защита от удаления. Пример: True | ||
| dns_name строка | при наличии параметра state | Общедоступное имя DNS балансировщика нагрузки. Пример: internal-my-elb-123456789.ap-southeast-2.elb.amazonaws.com | ||
| idle_timeout_timeout_seconds строка | при наличии параметра state | Значение таймаута ожидания, в секундах. Пример: 60 | ||
| ip_address_type строка | при наличии параметра state | Тип IP-адресов, используемых подсетями для балансировщика нагрузки. Пример: ipv4 | ||
| listeners сложный тип | при наличии параметра state | Информация о слушателях. | ||
| certificates сложный тип | при наличии параметра state | Сертификат SSL-сервера. | ||
| certificate_arn строка | при наличии параметра state | Amazon Resource Name (ARN) сертификата. | ||
| default_actions строка | при наличии параметра state | Действия по умолчанию для слушателя. | ||
| target_group_arn строка | при наличии параметра state | Amazon Resource Name (ARN) целевой группы. | ||
| type строка | при наличии параметра state | Тип действия. | ||
| listener_arn строка | при наличии параметра state | Amazon Resource Name (ARN) слушателя. | ||
| load_balancer_arn строка | при наличии параметра state | Amazon Resource Name (ARN) балансировщика нагрузки. | ||
| port целое число | при наличии параметра state | Порт, на котором прослушивает балансировщик нагрузки. Пример: 80 | ||
| protocol строка | при наличии параметра state | Протокол для подключений от клиентов к балансировщику нагрузки. Пример: HTTPS | ||
| ssl_policy строка | при наличии параметра state | Политика безопасности, определяющая поддерживаемые шифры и протоколы. | ||
| load_balancer_arn строка | при наличии параметра state | Amazon Resource Name (ARN) балансировщика нагрузки. Пример: arn:aws:elasticloadbalancing:ap-southeast-2:0123456789:loadbalancer/app/my-elb/001122334455 | ||
| load_balancer_name строка | при наличии параметра state | Имя балансировщика нагрузки. Пример: my-elb | ||
| load_balancing_cross_zone_enabled строка | при наличии параметра state | Указывает, включена ли межзонная балансировка нагрузки. Пример: True | ||
| scheme строка | при наличии параметра state | Интернет-ориентированный или внутренний балансировщик нагрузки. Пример: internal | ||
| state словарь | при наличии параметра state | Состояние балансировщика нагрузки. Пример: {'code': 'active'} | ||
| tags словарь | при наличии параметра state | Теги, прикреплённые к балансировщику нагрузки. Пример: { 'Tag': 'Пример' } | ||
| type строка | при наличии параметра state | Тип балансировщика нагрузки. Пример: network | ||
| vpc_id строка | при наличии параметра state | Идентификатор VPC для балансировщика нагрузки. Пример: vpc-0011223344 | ||
Авторы
- Rob White (@wimnat)
© 2012–2018 Michael DeHaan
© 2018–2021 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.11/collections/community/aws/elb_network_lb_module.html