elb_network_lb – Управление сетевым балансировщиком нагрузки
Новая версия с 2.6.
Описание
- Управление балансировщиком AWS Network 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. Псевдонимы: 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 логическое значение |
| Указывает, включено ли межзонное распределение нагрузки. |
| debug_botocore_endpoint_logs логическое значение добавлено в 2.8 |
| Используйте журнал botocore.endpoint для анализа уникальных (а не общих) API-вызовов «ресурс:действие», произведенных во время задачи, выведя множество в ключ resource_actions в результатах задачи. Используйте обратный вызов aws_resource_action, чтобы вывести в полный список, созданный во время выполнения playbook. Переменная среды ANSIBLE_DEBUG_BOTOCORE_LOGS также может быть использована. |
| deletion_protection логическое значение |
| Указывает, включена ли защита от удаления для ELB. |
| ec2_url строка | URL для подключения к EC2 или облаку Eucalyptus (по умолчанию модуль использует адреса EC2). Игнорируется для модулей, где требуется регион. Должен быть указан для всех других модулей, если регион не используется. Если не задан, используется значение переменной среды EC2_URL, если таковое имеется. | |
| listeners - | Список словарей, содержащих слушателей, которые необходимо подключить к ELB. Подробнее см. примеры для подробного описания требуемого словаря. Обратите внимание, что ключи слушателей используют CamelCase. | |
| name - / обязательно | Имя балансировщика. Это имя должно быть уникальным в пределах вашей учетной записи AWS, может содержать не более 32 символов, содержать только буквенно-цифровые символы или дефисы, и не должно начинаться или заканчиваться дефисом. | |
| profile строка | Использует профиль boto. Работает только с boto >= 2.24.0. | |
| purge_listeners логическое значение |
| Если да, существующие слушатели будут очищены из ELB, чтобы точно соответствовать параметру listeners. Если параметр listeners не задан, слушатели не будут изменены |
| 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 | |
| scheme - |
| Балансировщик нагрузки с внешним или внутренним доступом. Схему ELB нельзя изменить после создания. |
| security_token строка | AWS STS-токен безопасности. Если не задан, используется значение переменной среды AWS_SECURITY_TOKEN или EC2_SECURITY_TOKEN. Псевдонимы: access_token | |
| state - / обязательно |
| Создание или удаление балансировщика. |
| 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_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 строка | при наличии состояния | Общедоступное доменное имя балансировщика нагрузки. Пример: 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. [community]
Авторы
- 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.8/modules/elb_network_lb_module.html