Spec-Zone.ru › Ansible 2.6

elb_classic_lb - Создаёт или удаляет Amazon ELB.

Новая версия с 1.5.

  • Обзор
    • Требования
  • Параметры
  • Примечания
  • Примеры
  • Статус
  • Техническое обслуживание
    • Автор

Обзор

  • Возвращает информацию о балансировщике нагрузки.
  • Будет помечен как изменённый только в том случае, если состояние изменилось.

Требования

Ниже перечислены требования к хосту, на котором будет выполняться этот модуль.

  • 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
(добавлен в 1.8)
Ожидание указанного таймаута, позволяя соединениям завершиться, прежде чем завершать работу экземпляра
cross_az_load_balancing
bool

(добавлен в 1.8)
    Варианты:
  • нет ←
  • да
Распределение нагрузки по всем настроенным зонам доступности
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
(добавлен в 1.6)
Использует профиль boto. Работает только с boto >= 2.24.0.
purge_instance_ids
bool

(добавлен в 2.1)
    Варианты:
  • нет ←
  • да
Очистка существующих идентификаторов экземпляров в ELB, которые не найдены в instance_ids
purge_listeners
bool
    Варианты:
  • нет
  • да ←
Очистка существующих слушателей в ELB, которые не найдены в listeners
purge_subnets
bool

(добавлен в 1.7)
    Варианты:
  • нет ←
  • да
Очистка существующих подсетей ELB, которые не найдены в subnets
purge_zones
bool
    Варианты:
  • нет ←
  • да
Очистка существующих зон доступности 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)
    Варианты:
  • internal
  • интернет-ориентированный ←
Схема для использования при создании ELB. Для частного ELB, видимого в VPC, используйте 'internal'. Если вы выберете обновление схемы с другим значением, ELB будет удалён и пересоздан. Для обновления схемы необходимо использовать опцию wait.
security_group_ids
(добавлен в 1.6)
Список идентификаторов групп безопасности, которые нужно применить к elb
security_group_names
(добавлен в 2.0)
Список имён групп безопасности, которые нужно применить к elb
security_token
(добавлен в 1.6)
Токен безопасности AWS STS. Если не задан, используется значение переменной окружения AWS_SECURITY_TOKEN или EC2_SECURITY_TOKEN.

Псевдонимы: access_token
state
обязательно
    Варианты:
  • present
  • absent
Создать или удалить ELB
stickiness
(добавлен в 2.0)
Ассоциативный массив параметров политики прилипания. Политика будет применена ко всем слушателям (см. пример)
subnets
(добавлен в 1.7)
Список подсетей VPC, которые нужно использовать при создании ELB. Зоны должны быть пустыми, если используется этот параметр.
tags
(добавлен в 2.1)
Ассоциативный массив тегов. Чтобы удалить все теги, укажите пустой словарь.
validate_certs
bool

(добавлен в 1.5)
    Варианты:
  • нет
  • да ←
При установке в no, сертификаты SSL для boto версий >= 2.6.0 не будут проверены.
wait
bool

(добавлен в 2.1)
    Варианты:
  • нет ←
  • да
При указании Ansible проверит состояние балансировщика нагрузки, чтобы убедиться, что он был успешно удалён из AWS.
wait_timeout
(добавлен в 2.1)
Значение по умолчанию:
60
Используется совместно с wait. Количество секунд ожидания завершения работы elb. Максимальное значение 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), если учетные данные не предоставлены. См. http://boto.readthedocs.org/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)

- 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

Статус

Этот модуль помечен как предварительный просмотр, что означает, что его интерфейс не гарантированно будет обратной совместимостью.

Техническое обслуживание

Этот модуль помечен как сертифицированный, что означает, что он поддерживается партнёром Ansible. Подробнее см. Техническое обслуживание и поддержка модулей.

Список других модулей, которые также поддерживаются партнёром Ansible, см. здесь.

Автор

  • Джим Дальтон (@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.6/modules/elb_classic_lb_module.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API