community.aws.elb_network_lb – Управление сетевым балансировщиком нагрузки
Примечание
Этот плагин входит в состав коллекции community.aws (версия 1.3.0).
Для его установки используйте: ansible-galaxy collection install community.aws.
Для использования в плейбуке укажите: community.aws.elb_network_lb.
Новое в версии 1.0.0: из community.aws
Обзор
- Управление сетевым балансировщиком AWS Elastic Load Balancer. Подробности см. на 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 список / элементы=словарь | Список словарей, содержащих идентификаторы подсетей, которые нужно подключить к балансировщику нагрузки. Также можно указать идентификатор выделенного IP-адреса для подключения к балансировщику нагрузки. Можно указать один адрес Elastic IP на подсеть. Этот параметр взаимоисключающий с subnets. | |||
| subnets список / элементы=строка | Список идентификаторов подсетей, которые нужно подключить к балансировщику нагрузки. Можно указать только одну подсеть на зону доступности. Требуется указать подсети из, как минимум, двух зон доступности. Требуется при state=present. Этот параметр взаимоисключающий с subnet_mappings. | |||
| tags словарь | Словарь одного или нескольких тегов для назначения балансировщику нагрузки. | |||
| validate_certs логическое значение |
| При значении "no" 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–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.10/collections/community/aws/elb_network_lb_module.html