elb_application_lb - Управление балансировщиком нагрузки приложений
Новое в версии 2.4.
- Краткое описание
- Требования (к хосту, на котором выполняется модуль)
- Параметры
- Примеры
- Значения возврата
- Примечания
Краткое описание
- Управление балансировщиком нагрузки приложений AWS. Подробнее см. https://aws.amazon.com/blogs/aws/new-aws-application-load-balancer/.
Требования (к хосту, на котором выполняется модуль)
- python >= 2.6
- boto
Параметры
| параметр | обязательный | значение по умолчанию | выбор | комментарии |
|---|---|---|---|---|
| access_logs_enabled | нет |
| Включить или выключить логи доступа. Если значение true, то необходимо установить access_logs_s3_bucket. | |
| access_logs_s3_bucket | нет | Имя S3-бакета для логов доступа. Этот параметр обязателен, если включены логи доступа в Amazon S3. Бакет должен находиться в той же области, что и балансировщик нагрузки, и иметь политику ведра, которая предоставляет Elastic Load Balancing разрешение на запись в ведро. | ||
| access_logs_s3_prefix | нет | Префикс для расположения в S3-бакете. Если вы не укажете префикс, логи доступа будут храниться в корневом каталоге бакета. | ||
| 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 | ||
| deletion_protection | нет |
| Указывает, включена ли защита от удаления для ELB. | |
| ec2_url | нет | URL для подключения к EC2 или вашему облаку Eucalyptus (по умолчанию модуль будет использовать конечные точки EC2). Игнорируется для модулей, где область требуется. Должен быть указан для всех других модулей, если область не используется. Если не задан, используется значение переменной среды EC2_URL, если таковое имеется. | ||
| idle_timeout | нет | 60 | Количество секунд ожидания перед закрытием неактивного соединения. | |
| listeners | нет | Список словарей, содержащих слушателей для подключения к ELB. Подробнее о необходимом словаре см. примеры. Обратите внимание, что ключи слушателей используют CamelCase. | ||
| name | да | Имя балансировщика нагрузки. Это имя должно быть уникальным в вашем аккаунте AWS, может иметь максимальную длину 32 символа, должно содержать только буквенно-цифровые символы или дефисы, и не должно начинаться или заканчиваться дефисом. | ||
| profile (добавлен в 1.6)
| нет | Использует профиль boto. Работает только с boto >= 2.24.0. | ||
| purge_listeners | нет | True |
| Если да, существующие слушатели будут удалены из ELB, чтобы точно соответствовать параметру listeners. Если параметр listeners не задан, слушатели не будут изменены |
| 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 | нет | internet-facing |
| Балансировщик нагрузки — Интернет-ориентированный или внутренний. Схема ELB не может быть изменена после создания. |
| security_groups | нет | Список имен или идентификаторов групп безопасности, которые необходимо назначить балансировщику нагрузки. Требуется, если state=present. | ||
| security_token (добавлен в 1.6)
| нет | AWS STS security token. Если не задан, то используется значение переменной среды AWS_SECURITY_TOKEN или EC2_SECURITY_TOKEN. псевдонимы: access_token | ||
| state | да |
| Создать или уничтожить балансировщик нагрузки. | |
| subnets | нет | Список идентификаторов подсетей, которые необходимо подключить к балансировщику нагрузки. Можно указать только одну подсеть на одну зону доступности. Необходимо указать подсети из как минимум двух зон доступности. Требуется, если state=present. | ||
| tags | нет | Словарь с одним или несколькими тегами для назначения балансировщику нагрузки. | ||
| validate_certs (добавлен в 1.5)
| нет | да |
| Если установлено «нет», сертификаты SSL для boto версий >= 2.6.0 не будут проверяться. |
Примеры
# Note: These examples do not set authentication details, see the AWS Guide for details.
# Create an ELB and attach a listener
- elb_application_lb:
name: myelb
security_groups:
- sg-12345678
- my-sec-group
subnets:
- subnet-012345678
- subnet-abcdef000
listeners:
- Protocol: HTTP # Required. The protocol for connections from clients to the load balancer (HTTP or HTTPS) (case-sensitive).
Port: 80 # Required. The port on which the load balancer is listening.
# The security policy that defines which ciphers and protocols are supported. The default is the current predefined security policy.
SslPolicy: ELBSecurityPolicy-2015-05
Certificates: # The ARN of the certificate (only one certficate ARN should be provided)
- CertificateArn: arn:aws:iam::12345678987:server-certificate/test.domain.com
DefaultActions:
- Type: forward # Required. Only 'forward' is accepted at this time
TargetGroupName: # Required. The name of the target group
state: present
# Create an ELB and attach a listener with logging enabled
- elb_application_lb:
access_logs_enabled: yes
access_logs_s3_bucket: mybucket
access_logs_s3_prefix: "/logs"
name: myelb
security_groups:
- sg-12345678
- my-sec-group
subnets:
- subnet-012345678
- subnet-abcdef000
listeners:
- Protocol: HTTP # Required. The protocol for connections from clients to the load balancer (HTTP or HTTPS) (case-sensitive).
Port: 80 # Required. The port on which the load balancer is listening.
# The security policy that defines which ciphers and protocols are supported. The default is the current predefined security policy.
SslPolicy: ELBSecurityPolicy-2015-05
Certificates: # The ARN of the certificate (only one certficate ARN should be provided)
- CertificateArn: arn:aws:iam::12345678987:server-certificate/test.domain.com
DefaultActions:
- Type: forward # Required. Only 'forward' is accepted at this time
TargetGroupName: # Required. The name of the target group
state: present
# Create an ALB with listeners and rules
- elb_application_lb:
name: test-alb
subnets:
- subnet-12345678
- subnet-87654321
security_groups:
- sg-12345678
scheme: internal
listeners:
- Protocol: HTTPS
Port: 443
DefaultActions:
- Type: forward
TargetGroupName: test-target-group
Certificates:
- CertificateArn: arn:aws:iam::12345678987:server-certificate/test.domain.com
SslPolicy: ELBSecurityPolicy-2015-05
Rules:
- Conditions:
- Field: path-pattern
Values:
- '/test'
Priority: '1'
Actions:
- TargetGroupName: test-target-group
Type: forward
state: present
# Remove an ELB
- elb_application_lb:
name: myelb
state: absent
Значения возврата
Общие значения возврата описаны здесь Значения возврата, следующие поля уникальны для этого модуля:
| название | описание | возвращаемое значение | тип | пример | ||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| access_logs_s3_bucket | Имя ведра S3 для журналов доступа. | при наличии состояния | строка | mys3bucket | ||||||||||||||||||||||||||||||||||||||||
| access_logs_s3_enabled | Указывает, включены ли журналы доступа, хранящиеся в Amazon S3. | при наличии состояния | строка | True | ||||||||||||||||||||||||||||||||||||||||
| access_logs_s3_prefix | Префикс для расположения в ведре S3. | при наличии состояния | строка | /my/logs | ||||||||||||||||||||||||||||||||||||||||
| availability_zones | Доступные зоны для балансировщика нагрузки. | при наличии состояния | список | [{'subnet_id': 'subnet-aabbccddff', 'zone_name': 'ap-southeast-2a'}] | ||||||||||||||||||||||||||||||||||||||||
| 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 | Информация о слушателях. | при наличии состояния | сложный тип | |||||||||||||||||||||||||||||||||||||||||
| contains: |
| |||||||||||||||||||||||||||||||||||||||||||
| load_balancer_arn | Amazon Resource Name (ARN) балансировщика нагрузки. | при наличии состояния | строка | arn:aws:elasticloadbalancing:ap-southeast-2:0123456789:loadbalancer/app/my-elb/001122334455 | ||||||||||||||||||||||||||||||||||||||||
| load_balancer_name | Имя балансировщика нагрузки. | при наличии состояния | строка | my-elb | ||||||||||||||||||||||||||||||||||||||||
| scheme | Балансировщик нагрузки — внешний или внутренний. | при наличии состояния | строка | внутренний | ||||||||||||||||||||||||||||||||||||||||
| security_groups | Идентификаторы групп безопасности для балансировщика нагрузки. | при наличии состояния | список | ['sg-0011223344'] | ||||||||||||||||||||||||||||||||||||||||
| state | Состояние балансировщика нагрузки. | при наличии состояния | словарь | {'code': 'active'} | ||||||||||||||||||||||||||||||||||||||||
| tags | Теги, прикрепленные к балансировщику нагрузки. | при наличии состояния | словарь | { 'Tag': 'Пример' } | ||||||||||||||||||||||||||||||||||||||||
| type | Тип балансировщика нагрузки. | при наличии состояния | строка | приложения | ||||||||||||||||||||||||||||||||||||||||
| vpc_id | Идентификатор VPC для балансировщика нагрузки. | при наличии состояния | строка | vpc-0011223344 | ||||||||||||||||||||||||||||||||||||||||
Примечания
Примечание
- Слушатели сопоставляются по порту. Если порт слушателя изменен, будет создан новый слушатель.
- Правила слушателя сопоставляются по приоритету. Если приоритет правила изменен, будет создано новое правило.
- Если параметры не заданы в модуле, можно использовать следующие переменные среды в порядке убывания приоритета
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
Состояние
Этот модуль помечен как превью, что означает, что гарантии обратной совместимости интерфейса нет.
Для помощи в разработке модулей, если вы заинтересованы, ознакомьтесь со статьей Информация о сообществе и вклад, Тестирование Ansible и Разработка модулей.
© 2012–2018 Michael DeHaan
© 2018–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.4/elb_application_lb_module.html