elb_network_lb – Управление сетевым балансировщиком нагрузки
Новое в версии 2.6.
Обзор
- Управление балансировщиком Elastic Load Balancing 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 boolean |
| Указывает, включена ли межзонная балансировка нагрузки. |
| deletion_protection boolean |
| Указывает, включена ли защита от удаления для ELB. |
| ec2_url - | URL для подключения к EC2 или Eucalyptus облаку (по умолчанию используется конечная точка EC2). Игнорируется для модулей, где необходима регион. Должен быть указан для всех остальных модулей, если регион не используется. Если не задан, используется значение переменной окружения EC2_URL, если она задана. | |
| listeners - | Список словарей, содержащих слушатели для подключения к ELB. Подробности см. в примерах. Обратите внимание, что ключи слушателей написаны в CamelCase. | |
| name - / обязательно | Имя балансировщика нагрузки. Это имя должно быть уникальным в вашем аккаунте AWS, может содержать не более 32 символов, содержать только буквенно-цифровые символы или дефисы, и не должно начинаться или заканчиваться дефисом. | |
| profile - добавлено в 1.6 | Использует профиль boto. Работает только с boto >= 2.24.0. | |
| purge_listeners boolean |
| Если да, существующие слушатели будут удалены из ELB, чтобы точно соответствовать параметру listeners. Если параметр listeners не задан, слушатели не будут изменены. |
| purge_tags boolean |
| Если да, существующие теги будут удалены из ресурса, чтобы точно соответствовать параметру 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 - | Список словарей, содержащих ID подсетей для подключения к балансировщику. Можно также указать ID Elastic IP для подключения к балансировщику. Можно указать один адрес Elastic IP на подсеть. Этот параметр взаимоисключающий с subnets
| |
| subnets - | Список ID подсетей для подключения к балансировщику. Можно указать только одну подсеть на зону доступности. Необходимо указать подсети как минимум из двух зон доступности. Требуется, если state=present. Этот параметр взаимоисключающий с subnet_mappings
| |
| tags - | Словарь одного или нескольких тегов для назначения балансировщику нагрузки. | |
| validate_certs boolean добавлено в 1.5 |
| При установке в «нет», сертификаты SSL не будут проверены для версий boto >= 2.6.0. |
| wait boolean |
| Ожидать или нет, пока сетевой балансировщик не достигнет желаемого состояния. |
| 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), если учетные данные не предоставлены. См. 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 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. Пример: 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 сложный тип | при наличии состояния | Информация о слушателях. | ||
| certificates сложный тип | при наличии состояния | Сертификат SSL-сервера. | ||
| certificate_arn строка | при наличии состояния | Amazon Resource Name (ARN) сертификата. | ||
| default_actions строка | при наличии состояния | Действия по умолчанию для слушателя. | ||
| target_group_arn строка | при наличии состояния | Amazon Resource Name (ARN) целевой группы. | ||
| type строка | при наличии состояния | Тип действия. | ||
| listener_arn строка | при наличии состояния | Amazon Resource Name (ARN) слушателя. | ||
| load_balancer_arn строка | при наличии состояния | Amazon Resource Name (ARN) балансировщика нагрузки. | ||
| port целое число | при наличии состояния | Порт, на котором прослушивает балансировщик нагрузки. Пример: 80 | ||
| protocol строка | при наличии состояния | Протокол для подключений от клиентов к балансировщику нагрузки. Пример: HTTPS | ||
| ssl_policy строка | при наличии состояния | Политика безопасности, определяющая поддерживаемые шифры и протоколы. | ||
| 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. [сообщество]
Авторы
- 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.7/modules/elb_network_lb_module.html