elb_network_lb - Управление сетевым балансировщиком нагрузки
Новое в версии 2.6.
Описание
- Управление балансировщиком Elastic Load Balancer в 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. Псевдонимы: ec2_access_key, access_key | |
| aws_secret_key | Секретный ключ AWS. Если не задан, используется значение переменной окружения AWS_SECRET_ACCESS_KEY, AWS_SECRET_KEY или EC2_SECRET_KEY. Псевдонимы: ec2_secret_key, secret_key | |
| cross_zone_load_balancing bool |
| Указывает, включена ли балансировка нагрузки между зонами. |
| deletion_protection bool |
| Указывает, включена ли защита от удаления для ELB. |
| ec2_url | URL для подключения к EC2 или вашей облачной среде Eucalyptus (по умолчанию модуль использует конечные точки EC2). Игнорируется для модулей, где требуется регион. Должен быть указан для всех остальных модулей, если регион не используется. Если не задан, используется значение переменной окружения EC2_URL, если она задана. | |
| listeners | Список словарей, содержащих слушателей для подключения к ELB. Подробности словаря см. в примерах. Обратите внимание, что ключи слушателей имеют регистрозависимые имена. | |
| name обязательно | Имя балансировщика нагрузки. Это имя должно быть уникальным в вашей учетной записи AWS, иметь не более 32 символов, содержать только буквенно-цифровые символы или дефисы и не начинаться и не заканчиваться дефисом. | |
| profile (добавлено в 1.6) | Использует профиль boto. Работает только с boto >= 2.24.0. | |
| purge_listeners bool |
| Если да, существующие слушатели будут удалены из ELB для точного соответствия параметру listeners. Если параметр listeners не задан, слушатели не будут изменены |
| purge_tags bool |
| Если да, существующие теги будут удалены из ресурса для точного соответствия параметру 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 (добавлено в 1.6) | Токен безопасности AWS STS. Если не задан, используется значение переменной окружения AWS_SECURITY_TOKEN или EC2_SECURITY_TOKEN. Псевдонимы: access_token | |
| state обязательно |
| Создать или уничтожить балансировщик нагрузки. |
| subnet_mappings | Список словарей, содержащих идентификаторы подсетей для подключения к балансировщику нагрузки. Можно также указать идентификатор выделенного IP-адреса Elastic IP для подключения к балансировщику нагрузки. Можно указать один адрес Elastic IP на подсеть. Этот параметр взаимоисключающий с subnets
| |
| subnets | Список идентификаторов подсетей для подключения к балансировщику нагрузки. Можно указать только одну подсеть на зону доступности. Необходимо указать подсети из как минимум двух зон доступности. Требуется, если state=present. Этот параметр взаимоисключающий с subnet_mappings
| |
| tags | Словарь одного или нескольких тегов для назначения балансировщику нагрузки. | |
| validate_certs bool (добавлено в 1.5) |
| Если установлено в "нет", сертификаты SSL не будут проверены для версий boto >= 2.6.0. |
| wait bool |
| Ожидать ли достижения балансировщиком сетевой нагрузки желаемого состояния. |
| wait_timeout | Время ожидания в секундах, используется совместно с wait. |
Примечания
Примечание
- Слушатели сопоставляются по порту. Если порт слушателя изменен, будет создан новый слушатель.
- Правила слушателя сопоставляются по приоритету. Если приоритет правила изменен, будет создано новое правило.
- Если параметры не установлены в модуле, можно использовать следующие переменные окружения в порядке убывания приоритета
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), если учетные данные не предоставлены. См. http://boto.readthedocs.org/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 an ELB and attach a listener
- elb_network_lb:
name: myelb
subnets:
- subnet-012345678
- subnet-abcdef000
listeners:
- Protocol: TCP # Required. The protocol for connections from clients to the load balancer (Only TCP is available) (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
# Create an ELB with an attached Elastic IP address
- 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 (Only TCP is available) (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
# Remove an ELB
- elb_network_lb:
name: myelb
state: absent
Значения возврата
Общие значения возврата описаны в здесь, следующие поля уникальны для этого модуля:
| Ключ | Возвращаемое значение | Описание | ||
|---|---|---|---|---|
| availability_zones список | когда состояние присутствует | Доступные зоны для балансировщика нагрузки. Пример: [{'subnet_id': 'subnet-aabbccddff', 'zone_name': 'ap-southeast-2a', 'load_balancer_addresses': []}] | ||
| canonical_hosted_zone_id строка | когда состояние присутствует | Идентификатор Amazon Route 53 hosted zone, связанной с балансировщиком нагрузки. Пример: ABCDEF12345678 | ||
| created_time строка | когда состояние присутствует | Дата и время создания балансировщика нагрузки. Пример: 2015-02-12T02:14:02+00:00 | ||
| deletion_protection_enabled строка | когда состояние присутствует | Указывает, включена ли защита от удаления. Пример: True | ||
| dns_name строка | когда состояние присутствует | Общедоступное имя DNS балансировщика нагрузки. Пример: internal-my-elb-123456789.ap-southeast-2.elb.amazonaws.com | ||
| idle_timeout_timeout_seconds строка | когда состояние присутствует | Значение таймаута простоя в секундах. Пример: 60 | ||
| ip_address_type строка | когда состояние присутствует | Тип IP-адресов, используемых подсетями для балансировщика нагрузки. Пример: ipv4 | ||
| listeners сложный тип | когда состояние присутствует | Информация о слушателях. | ||
| listener_arn строка | когда состояние присутствует | Amazon Resource Name (ARN) слушателя. | ||
| load_balancer_arn строка | когда состояние присутствует | Amazon Resource Name (ARN) балансировщика нагрузки. | ||
| port целое число | когда состояние присутствует | Порт, на котором слушает балансировщик нагрузки. Пример: 80 | ||
| protocol строка | когда состояние присутствует | Протокол для соединений от клиентов к балансировщику нагрузки. Пример: HTTPS | ||
| certificates сложный тип | когда состояние присутствует | Сертификат SSL сервера. | ||
| certificate_arn строка | когда состояние присутствует | Amazon Resource Name (ARN) сертификата. | ||
| ssl_policy строка | когда состояние присутствует | Политика безопасности, определяющая, какие шифры и протоколы поддерживаются. | ||
| default_actions строка | когда состояние присутствует | Действия по умолчанию для слушателя. | ||
| type строка | когда состояние присутствует | Тип действия. | ||
| target_group_arn строка | когда состояние присутствует | Amazon Resource Name (ARN) целевой группы. | ||
| load_balancer_arn строка | когда состояние присутствует | Amazon Resource Name (ARN) балансировщика нагрузки. Пример: arn:aws:elasticloadbalancing:ap-southeast-2:0123456789:loadbalancer/app/my-elb/001122334455 | ||
| load_balancer_name строка | когда состояние присутствует | Имя балансировщика нагрузки. Пример: my-elb | ||
| load_balancing_cross_zone_enabled строка | когда состояние присутствует | Указывает, включена ли межзонная балансировка нагрузки. Пример: True | ||
| scheme строка | когда состояние присутствует | Балансировщик нагрузки — ориентированный на Интернет или внутренний. Пример: internal | ||
| state словарь | когда состояние присутствует | Состояние балансировщика нагрузки. Пример: {'code': 'active'} | ||
| tags словарь | когда состояние присутствует | Теги, прикрепленные к балансировщику нагрузки. Пример: { 'Tag': 'Пример' } | ||
| type строка | когда состояние присутствует | Тип балансировщика нагрузки. Пример: сетевой | ||
| vpc_id строка | когда состояние присутствует | Идентификатор VPC для балансировщика нагрузки. Пример: vpc-0011223344 | ||
Статус
Этот модуль помечен как превью, что означает, что его интерфейс не гарантирует обратную совместимость.
Техническое обслуживание
Этот модуль помечен как сообщество, что означает, что он поддерживается сообществом Ansible. Подробнее см. Техническое обслуживание и поддержка модулей.
Список других модулей, также поддерживаемых сообществом 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.6/modules/elb_network_lb_module.html