ec2_elb_lb – Создаёт, обновляет или удаляет Amazon ELB
Описание
- Возвращает информацию о балансировщике нагрузки.
- Будет помечен как изменённый при вызове, только если состояние изменено.
Требования
Ниже перечислены требования к хосту, на котором выполняется этот модуль.
- python >= 2.6
- boto
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии |
|---|---|---|
| access_logs словарь добавлен в 2.0 | Ассоциативный массив настроек регистрации доступа (см. пример) | |
| 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 целое число | Ожидание заданного времени, позволяющего завершить соединения, прежде чем завершать экземпляр | |
| cross_az_load_balancing логическое значение |
| Распределение нагрузки по всем настроенным зонам доступности |
| debug_botocore_endpoint_logs логическое значение добавлен в 2.8 |
| Использование логирования botocore.endpoint для анализа уникальных (а не общих) API-вызовов «ресурс:действие», выполненных во время задачи, вывода набора в ключ resource_actions в результатах задачи. Используйте обратный вызов aws_resource_action для вывода в общий список, выполненный во время выполнения книги. Также может использоваться переменная среды ANSIBLE_DEBUG_BOTOCORE_LOGS. |
| ec2_url строка | URL для подключения к EC2 или облаку Eucalyptus (по умолчанию модуль будет использовать конечные точки EC2). Игнорируется для модулей, где требуется регион. Должен быть указан для всех остальных модулей, если регион не используется. Если не задан, используется значение переменной среды EC2_URL, если таковая есть. | |
| health_check словарь | Ассоциативный массив настроек проверки состояния (см. пример) | |
| idle_timeout целое число добавлен в 2.0 | Подключения ELB от клиентов и к серверам отключаются после указанного времени | |
| instance_ids список добавлен в 2.1 | Список идентификаторов экземпляров, которые нужно подключить к этому ELB | |
| listeners список | Список портов/протоколов для прослушивания этим ELB (см. пример) | |
| name строка / обязательно | Имя ELB | |
| profile строка | Использует профиль boto. Работает только с boto >= 2.24.0. | |
| purge_instance_ids логическое значение добавлен в 2.1 |
| Удалить существующие идентификаторы экземпляров в ELB, которые не найдены в instance_ids |
| purge_listeners логическое значение |
| Удалить существующие прослушиватели в ELB, которые не найдены в listeners |
| purge_subnets логическое значение |
| Удалить существующие подсети в 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 строка |
| Схема, используемая при создании ELB. Для ELB, видимого в частной VPC, используйте «внутренний». Если вы решите обновить схему на другое значение, ELB будет удален и пересоздан. Для обновления схемы необходимо использовать параметр wait. |
| security_group_ids список | Список идентификаторов групп безопасности, которые нужно применить к elb | |
| security_group_names список добавлен в 2.0 | Список имён групп безопасности, которые нужно применить к elb | |
| security_token строка | Токен безопасности AWS STS. Если не задан, используется значение переменной среды AWS_SECURITY_TOKEN или EC2_SECURITY_TOKEN. псевдонимы: access_token | |
| state строка / обязательно |
| Создать или удалить ELB |
| stickiness словарь добавлен в 2.0 | Ассоциативный массив настроек политики прилипания. Политика будет применена ко всем прослушивателям (см. пример) | |
| subnets список | Список подсетей VPC, которые нужно использовать при создании ELB. Зоны должны быть пусты, если вы используете это. | |
| tags словарь добавлен в 2.1 | Ассоциативный массив тегов. Для удаления всех тегов, укажите пустой словарь. | |
| validate_certs логическое значение |
| Когда установлено в no, сертификаты SSL не будут проверены для версий boto >= 2.6.0. |
| wait логическое значение добавлен в 2.1 |
| Если указано, Ansible проверит состояние балансировщика нагрузки, чтобы убедиться, что он был успешно удален из AWS. |
| wait_timeout целое число добавлен в 2.1 | По умолчанию: 60 | Используется совместно с wait. Количество секунд ожидания завершения elb в AWS. Максимально разрешается 600 секунд (10 минут). |
| zones список | Список зон доступности, которые нужно включить в этот ELB |
Примечания
Примечание
- Если параметры не заданы в модуле, следующие переменные окружения могут быть использованы в порядке убывания приоритета
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: 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)
- local_action:
module: ec2_elb_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"
# Internal ELB example
- local_action:
module: ec2_elb_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
# Configure a health check and the access logs
- local_action:
module: ec2_elb_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"
# Ensure ELB is gone
- local_action:
module: ec2_elb_lb
name: "test-please-delete"
state: absent
# Ensure ELB is gone and wait for check (for default timeout)
- local_action:
module: ec2_elb_lb
name: "test-please-delete"
state: absent
wait: yes
# Ensure ELB is gone and wait for check with timeout value
- local_action:
module: ec2_elb_lb
name: "test-please-delete"
state: absent
wait: yes
wait_timeout: 600
# 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
- local_action:
module: ec2_elb_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
# 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
- local_action:
module: ec2_elb_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
# Creates a ELB and assigns a list of subnets to it.
- local_action:
module: ec2_elb_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
# Create an ELB with connection draining, increased idle timeout and cross availability
# zone load balancing
- local_action:
module: ec2_elb_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
# Create an ELB with load balancer stickiness enabled
- local_action:
module: ec2_elb_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
# Create an ELB with application stickiness enabled
- local_action:
module: ec2_elb_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
# Create an ELB and add tags
- local_action:
module: ec2_elb_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"
# Delete all tags from an ELB
- local_action:
module: ec2_elb_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: {}
Статус
- Данный модуль гарантированно не будет содержать обратных несовместимых изменений интерфейса в будущем. [stableinterface]
- Этот модуль поддерживается сообществом Ansible. [community]
Авторы
- Jim Dalton (@jsdalton)
Подсказка
Если вы заметите какие-либо проблемы в этой документации, вы можете отредактировать этот документ, чтобы улучшить его.
© 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/ec2_elb_lb_module.html