community.aws.elb_classic_lb – Создаёт или удаляет Amazon ELB.
Примечание
Этот плагин входит в коллекцию community.aws (версия 1.3.0).
Для его установки используйте: ansible-galaxy collection install community.aws.
Для использования в плейбуке укажите: community.aws.elb_classic_lb.
Новое в версии 1.0.0: из community.aws
Обзор
- Возвращает информацию о балансировщике нагрузки.
- Будет помечен как изменённый только при изменении состояния.
Требования
Ниже перечислены требования, необходимые на хосте, на котором выполняется этот модуль.
- python >= 2.6
- boto
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии |
|---|---|---|
| access_logs словарь | Ассоциативный массив параметров конфигурации журналов доступа (см. пример). | |
| aws_access_key строка | Ключ доступа AWS. Если не указан, используется значение переменной окружения AWS_ACCESS_KEY_ID, AWS_ACCESS_KEY или EC2_ACCESS_KEY. Если установлен параметр profile, этот параметр игнорируется. Передача параметров aws_access_key и profile одновременно устарела и будет сделана взаимоисключающей после 2022-06-01. алиасы: ec2_access_key, access_key | |
| aws_ca_bundle путь | Расположение файла с корневыми сертификатами для проверки SSL-сертификатов. Используется только для модулей, основанных на boto3. Примечание: Файл с сертификатами читается со стороны модуля и может потребоваться его явное копирование с контроллера, если он не используется локально. | |
| aws_config словарь | Словарь для модификации конфигурации botocore. Параметры можно найти по адресу https://botocore.amazonaws.com/v1/documentation/api/latest/reference/config.html#botocore.config.Config. Для boto-модулей используется только ключ 'user_agent'. См. http://boto.cloudhackers.com/en/latest/boto_config_tut.html#boto для получения дополнительной информации о конфигурации boto. | |
| aws_secret_key строка | Секретный ключ AWS. Если не указан, используется значение переменной окружения AWS_SECRET_ACCESS_KEY, AWS_SECRET_KEY или EC2_SECRET_KEY. Если установлен параметр profile, этот параметр игнорируется. Передача параметров aws_secret_key и profile одновременно устарела и будет сделана взаимоисключающей после 2022-06-01. алиасы: ec2_secret_key, secret_key | |
| connection_draining_timeout целое число | Ожидание указанного таймаута для завершения подключений перед завершением работы экземпляра. | |
| cross_az_load_balancing булево |
| Распределение нагрузки по всем настроенным зонам доступности. По умолчанию false. |
| debug_botocore_endpoint_logs булево |
| Используйте логирования botocore.endpoint для анализа уникальных (а не общих) вызовов API "resource:action" во время задачи, выводя набор в ключ resource_actions результатов задачи. Используйте обратный вызов aws_resource_action для вывода в полный список, созданный во время плейбука. Также может быть использована переменная среды ANSIBLE_DEBUG_BOTOCORE_LOGS. |
| ec2_url строка | URL для подключения к EC2 или Eucalyptus cloud (по умолчанию модуль будет использовать конечные точки EC2). Игнорируется для модулей, где требуется регион. Должен быть указан для всех остальных модулей, если регион не используется. Если не установлен, используется значение переменной окружения EC2_URL, если она есть. алиасы: aws_endpoint_url, endpoint_url | |
| health_check словарь | Ассоциативный массив параметров конфигурации проверки работоспособности (см. пример). | |
| idle_timeout целое число | Подключения ELB от клиентов и к серверам отключаются по истечении этого времени. | |
| instance_ids список / элементы=строка | Список идентификаторов экземпляров для подключения к этому ELB. | |
| listeners список / элементы=словарь | Список портов/протоколов для прослушивания этим ELB (см. пример). | |
| name строка / обязательно | Имя ELB. | |
| profile строка | Использует профиль boto. Работает только с boto >= 2.24.0. Использование profile переопределяет aws_access_key, aws_secret_key и security_token, а поддержка их передачи одновременно с profile устарела. aws_access_key, aws_secret_key и security_token будут сделаны взаимоисключающими с profile после 2022-06-01. алиасы: aws_profile | |
| purge_instance_ids булево |
| Очистить существующие идентификаторы экземпляров на 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, используйте internal.Если вы выберете обновление схемы другим значением, ELB будет удалён и пересоздан. Для обновления схемы необходимо установить wait=true. |
| security_group_ids список / элементы=строка | Список идентификаторов групп безопасности для применения к ELB. | |
| security_group_names список / элементы=строка | Список имён групп безопасности для применения к ELB. | |
| security_token строка | AWS STS security token. Если не указан, используется значение переменной окружения AWS_SECURITY_TOKEN или EC2_SECURITY_TOKEN. Если установлен параметр profile, этот параметр игнорируется. Передача параметров security_token и profile одновременно устарела и будет сделана взаимоисключающей после 2022-06-01. алиасы: aws_security_token, access_token | |
| state строка / обязательно |
| Создать или удалить ELB. |
| stickiness словарь | Ассоциативный массив параметров политики прилипания. Политика будет применена ко всем слушателям (см. пример). | |
| subnets список / элементы=строка | Список подсетей VPC для использования при создании ELB. Зоны должны быть пусты, если используется этот параметр. | |
| tags словарь | Ассоциативный массив тегов. Для удаления всех тегов, передайте пустой словарь. | |
| validate_certs булево |
| Когда установлено false, SSL-сертификаты не будут проверены для версий boto >= 2.6.0. |
| wait булево |
| При указании Ansible проверит состояние балансировщика нагрузки, чтобы убедиться, что он был успешно удалён из AWS. |
| wait_timeout целое число | Значение по умолчанию: 60 | Используется в сочетании с wait. Количество секунд ожидания завершения ELB. Максимально разрешено 600 секунд (10 минут). |
| zones список / элементы=строка | Список зон доступности для включения на этом ELB. |
Примечания
Примечание
- Если параметры не установлены в модуле, следующие переменные среды могут использоваться в порядке убывания приоритета
AWS_URLилиEC2_URL,AWS_PROFILEилиAWS_DEFAULT_PROFILE,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,AWS_CA_BUNDLE - 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)
- community.aws.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
- community.aws.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
- community.aws.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
- community.aws.elb_classic_lb:
name: "test-please-delete"
state: absent
delegate_to: localhost
# Ensure ELB is gone and wait for check (for default timeout)
- community.aws.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
- community.aws.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
- community.aws.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
- community.aws.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.
- community.aws.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
- community.aws.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
- community.aws.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
- community.aws.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
- community.aws.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
- community.aws.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
Авторы
- Джим Дальтон (@jsdalton)
© 2012–2018 Michael DeHaan
© 2018–2021 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.11/collections/community/aws/elb_classic_lb_module.html