elb_classic_lb - Создание или удаление Amazon ELB.
Новое в версии 1.5.
Описание
- Возвращает информацию о балансировщике нагрузки.
- Будет помечен как изменённый только при изменении состояния.
Требования (к хосту, на котором выполняется модуль)
- python >= 2.6
- boto
Параметры
| параметр | обязательно | значение по умолчанию | возможные значения | комментарии |
|---|---|---|---|---|
| access_logs (добавлен в 2.0)
| нет | None | Ассоциативный массив настроек журналов доступа (см. пример) | |
| 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 | ||
| connection_draining_timeout (добавлен в 1.8)
| нет | Ожидать указанное время, позволяя соединениям завершиться, прежде чем завершать экземпляр | ||
| cross_az_load_balancing (добавлен в 1.8)
| нет | нет |
| Распределять нагрузку по всем настроенным зонам доступности |
| ec2_url | нет | URL для подключения к EC2 или вашему облаку Eucalyptus (по умолчанию модуль использует конечные точки EC2). Игнорируется для модулей, где регион необходим. Должен быть указан для всех других модулей, если регион не используется. Если не указан, используется значение переменной окружения EC2_URL, если она задана. | ||
| health_check | нет | None | Ассоциативный массив настроек проверки состояния (см. пример) | |
| idle_timeout (добавлен в 2.0)
| нет | Соединения ELB от клиентов и к серверам отключаются по истечении этого времени | ||
| instance_ids (добавлен в 2.1)
| нет | Список идентификаторов экземпляров, которые необходимо подключить к этому ELB | ||
| listeners | нет | Список портов/протоколов, на которых этот ELB должен прослушивать (см. пример) | ||
| name | да | Имя ELB | ||
| profile (добавлен в 1.6)
| нет | Использует профиль boto. Работает только с boto >= 2.24.0. | ||
| purge_instance_ids (добавлен в 2.1)
| нет | Удалить существующие идентификаторы экземпляров в ELB, которые не найдены в instance_ids | ||
| purge_listeners | нет | True | Удалить существующие слушатели в ELB, которые не найдены в listeners | |
| purge_subnets (добавлен в 1.7)
| нет | Удалить существующие подсети в ELB, которые не найдены в subnets | ||
| purge_zones | нет | Удалить существующие зоны доступности в ELB, которые не найдены в zones | ||
| region | нет | Регион AWS для использования. Если не указан, используется значение переменной окружения AWS_REGION или EC2_REGION, если она задана. См. http://docs.aws.amazon.com/general/latest/gr/rande.html#ec2_region
псевдонимы: aws_region, ec2_region | ||
| scheme (добавлен в 1.7)
| нет | internet-facing |
| Схема для использования при создании ELB. Для ELB, видимого в частной VPC, используйте 'internal'. Если вы решите обновить схему другим значением, ELB будет удалён и пересоздан. Для обновления схемы необходимо использовать параметр wait. |
| security_group_ids (добавлен в 1.6)
| нет | None | Список идентификаторов групп безопасности, которые нужно применить к elb | |
| security_group_names (добавлен в 2.0)
| нет | None | Список имён групп безопасности, которые нужно применить к elb | |
| security_token (добавлен в 1.6)
| нет | Токен безопасности AWS STS. Если не задан, используется значение переменной окружения AWS_SECURITY_TOKEN или EC2_SECURITY_TOKEN. псевдонимы: access_token | ||
| state | да |
| Создать или удалить ELB | |
| stickiness (добавлен в 2.0)
| нет | Ассоциативный массив настроек политики прилипания. Политика будет применена ко всем слушателям (см. пример) | ||
| subnets (добавлен в 1.7)
| нет | None | Список подсетей VPC для использования при создании ELB. Зоны должны быть пустыми, если вы используете это. | |
| tags (добавлен в 2.1)
| нет | Ассоциативный массив тегов. Для удаления всех тегов, передайте пустой словарь. | ||
| validate_certs (добавлен в 1.5)
| нет | да |
| Если установлено "нет", сертификаты SSL не будут проверены для версий boto >= 2.6.0. |
| wait (добавлен в 2.1)
| нет |
| При указании Ansible проверит статус балансировщика нагрузки, чтобы убедиться, что он был успешно удален из AWS. | |
| wait_timeout (добавлен в 2.1)
| нет | 60 | Используется совместно с wait. Количество секунд ожидания завершения работы elb в AWS. Максимальное значение 600 секунд (10 минут). | |
| zones | нет | Список зон доступности для включения в этом ELB |
Примеры
# Note: None of these examples set aws_access_key, aws_secret_key, or region.
# It is assumed that their matching environment variables are set.
# Basic provisioning example (non-VPC)
- elb_classic_lb:
name: "test-please-delete"
state: present
zones:
- us-east-1a
- us-east-1d
listeners:
- protocol: http # options are http, https, ssl, tcp
load_balancer_port: 80
instance_port: 80
proxy_protocol: True
- protocol: https
load_balancer_port: 443
instance_protocol: http # optional, defaults to value of protocol setting
instance_port: 80
# ssl certificate required for https or ssl
ssl_certificate_id: "arn:aws:iam::123456789012:server-certificate/company/servercerts/ProdServerCert"
delegate_to: localhost
# Internal ELB example
- elb_classic_lb:
name: "test-vpc"
scheme: internal
state: present
instance_ids:
- i-abcd1234
purge_instance_ids: true
subnets:
- subnet-abcd1234
- subnet-1a2b3c4d
listeners:
- protocol: http # options are http, https, ssl, tcp
load_balancer_port: 80
instance_port: 80
delegate_to: localhost
# Configure a health check and the access logs
- elb_classic_lb:
name: "test-please-delete"
state: present
zones:
- us-east-1d
listeners:
- protocol: http
load_balancer_port: 80
instance_port: 80
health_check:
ping_protocol: http # options are http, https, ssl, tcp
ping_port: 80
ping_path: "/index.html" # not required for tcp or ssl
response_timeout: 5 # seconds
interval: 30 # seconds
unhealthy_threshold: 2
healthy_threshold: 10
access_logs:
interval: 5 # minutes (defaults to 60)
s3_location: "my-bucket" # This value is required if access_logs is set
s3_prefix: "logs"
delegate_to: localhost
# Ensure ELB is gone
- elb_classic_lb:
name: "test-please-delete"
state: absent
delegate_to: localhost
# Ensure ELB is gone and wait for check (for default timeout)
- elb_classic_lb:
name: "test-please-delete"
state: absent
wait: yes
delegate_to: localhost
# Ensure ELB is gone and wait for check with timeout value
- elb_classic_lb:
name: "test-please-delete"
state: absent
wait: yes
wait_timeout: 600
delegate_to: localhost
# Normally, this module will purge any listeners that exist on the ELB
# but aren't specified in the listeners parameter. If purge_listeners is
# false it leaves them alone
- elb_classic_lb:
name: "test-please-delete"
state: present
zones:
- us-east-1a
- us-east-1d
listeners:
- protocol: http
load_balancer_port: 80
instance_port: 80
purge_listeners: no
delegate_to: localhost
# Normally, this module will leave availability zones that are enabled
# on the ELB alone. If purge_zones is true, then any extraneous zones
# will be removed
- elb_classic_lb:
name: "test-please-delete"
state: present
zones:
- us-east-1a
- us-east-1d
listeners:
- protocol: http
load_balancer_port: 80
instance_port: 80
purge_zones: yes
delegate_to: localhost
# Creates a ELB and assigns a list of subnets to it.
- elb_classic_lb:
state: present
name: 'New ELB'
security_group_ids: 'sg-123456, sg-67890'
region: us-west-2
subnets: 'subnet-123456,subnet-67890'
purge_subnets: yes
listeners:
- protocol: http
load_balancer_port: 80
instance_port: 80
delegate_to: localhost
# Create an ELB with connection draining, increased idle timeout and cross availability
# zone load balancing
- elb_classic_lb:
name: "New ELB"
state: present
connection_draining_timeout: 60
idle_timeout: 300
cross_az_load_balancing: "yes"
region: us-east-1
zones:
- us-east-1a
- us-east-1d
listeners:
- protocol: http
load_balancer_port: 80
instance_port: 80
delegate_to: localhost
# Create an ELB with load balancer stickiness enabled
- elb_classic_lb:
name: "New ELB"
state: present
region: us-east-1
zones:
- us-east-1a
- us-east-1d
listeners:
- protocol: http
load_balancer_port: 80
instance_port: 80
stickiness:
type: loadbalancer
enabled: yes
expiration: 300
delegate_to: localhost
# Create an ELB with application stickiness enabled
- elb_classic_lb:
name: "New ELB"
state: present
region: us-east-1
zones:
- us-east-1a
- us-east-1d
listeners:
- protocol: http
load_balancer_port: 80
instance_port: 80
stickiness:
type: application
enabled: yes
cookie: SESSIONID
delegate_to: localhost
# Create an ELB and add tags
- elb_classic_lb:
name: "New ELB"
state: present
region: us-east-1
zones:
- us-east-1a
- us-east-1d
listeners:
- protocol: http
load_balancer_port: 80
instance_port: 80
tags:
Name: "New ELB"
stack: "production"
client: "Bob"
delegate_to: localhost
# Delete all tags from an ELB
- elb_classic_lb:
name: "New ELB"
state: present
region: us-east-1
zones:
- us-east-1a
- us-east-1d
listeners:
- protocol: http
load_balancer_port: 80
instance_port: 80
tags: {}
delegate_to: localhost
Примечания
Примечание
- Если параметры не установлены в модуле, можно использовать следующие переменные среды в порядке убывания приоритета
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_classic_lb_module.html