Spec-Zone.ru › Ansible 2.5

elb_application_lb - Управление балансировщиком нагрузки приложений

Новое в версии 2.4.

  • Обзор
    • Требования
  • Параметры
  • Примечания
  • Примеры
  • Возвращаемые значения
  • Статус
    • Автор

Обзор

  • Управление балансировщиком нагрузки Elastic Load Balancing для приложений AWS. Подробности см. на странице https://aws.amazon.com/blogs/aws/new-aws-application-load-balancer/.

Требования

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

  • boto
  • boto3
  • python >= 2.6

Параметры

Параметр Варианты/Значения по умолчанию Комментарии
access_logs_enabled
    Варианты:
  • да
  • нет
Включить или выключить логи доступа. При значении «да» необходимо указать access_logs_s3_bucket.
access_logs_s3_bucket
Имя S3-бакета для логов доступа. Обязательно, если включены логи доступа в Amazon S3. Бакет должен находиться в том же регионе, что и балансировщик нагрузки, и иметь политику ведра, которая предоставляет балансировщику нагрузки разрешение на запись в ведро.
access_logs_s3_prefix
Префикс для расположения в S3-бакете. Если префикс не указан, логи доступа хранятся в корневом каталоге ведра.
aws_access_key Значение по умолчанию:
None
Ключ доступа AWS. Если не задан, используется значение переменной среды AWS_ACCESS_KEY_ID, AWS_ACCESS_KEY или EC2_ACCESS_KEY.

Псевдонимы: ec2_access_key, access_key
aws_secret_key Значение по умолчанию:
None
Секретный ключ AWS. Если не задан, используется значение переменной среды AWS_SECRET_ACCESS_KEY, AWS_SECRET_KEY или EC2_SECRET_KEY.

Псевдонимы: ec2_secret_key, secret_key
deletion_protection
    Варианты:
  • да
  • нет ←
Указывает, включена ли защита от удаления для ELB.
ec2_url Значение по умолчанию:
None
URL для подключения к EC2 или вашему облаку Eucalyptus (по умолчанию модуль будет использовать конечные точки EC2). Игнорируется для модулей, где требуется регион. Должен быть указан для всех других модулей, если регион не используется. Если не задан, используется значение переменной среды EC2_URL, если таковая имеется.
idle_timeout Значение по умолчанию:
60
Количество секунд ожидания перед закрытием неактивного соединения.
listeners
Список словарей, содержащих слушатели, которые необходимо подключить к ELB. Подробности см. в примерах. Обратите внимание, что ключи слушателей записаны с использованием CamelCase.
name
обязательно
Имя балансировщика нагрузки. Это имя должно быть уникальным в рамках вашей учетной записи AWS, может содержать не более 32 символов, содержать только буквенно-цифровые символы или дефисы и не должно начинаться или заканчиваться дефисом.
profile
(добавлен в 1.6)
Значение по умолчанию:
None
Использует профиль boto. Работает только с boto >= 2.24.0.
purge_listeners
    Варианты:
  • да ←
  • нет
Если «да», существующие слушатели будут удалены из ELB, чтобы точно соответствовать параметру listeners. Если параметр listeners не задан, слушатели не будут изменены.
purge_tags
    Варианты:
  • да ←
  • нет
Если «да», существующие метки будут удалены из ресурса, чтобы точно соответствовать параметру 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
    Варианты:
  • интерфейс-интернет ←
  • внутренний
Балансировщик нагрузки, обращенный к интернету или внутренний. Схема ELB не может быть изменена после создания.
security_groups Значение по умолчанию:
[]
Список имен или идентификаторов групп безопасности, которые необходимо назначить балансировщику нагрузки. Требуется, если state=present.
security_token
(добавлен в 1.6)
Значение по умолчанию:
None
Токен безопасности AWS STS. Если не задан, используется значение переменной среды AWS_SECURITY_TOKEN или EC2_SECURITY_TOKEN.

Псевдонимы: access_token
state
обязательно
    Варианты:
  • present
  • absent
Создать или уничтожить балансировщик нагрузки.
subnets
Список идентификаторов подсетей, которые необходимо подключить к балансировщику нагрузки. Вы можете указать только одну подсеть на зону доступности. Вы должны указать подсети как минимум из двух зон доступности. Требуется, если state=present.
tags
Словарь одной или нескольких меток для назначения балансировщику нагрузки.
validate_certs
(добавлен в 1.5)
    Варианты:
  • нет
  • да ←
При значении «нет» сертификаты SSL не будут проверяться для версий boto >= 2.6.0.

Примечания

Примечание

  • Слушатели сопоставляются по порту. Если порт слушателя изменяется, будет создан новый слушатель.
  • Правила слушателей сопоставляются по приоритету. Если приоритет правила изменяется, будет создано новое правило.
  • Если параметры не заданы в модуле, могут использоваться следующие переменные среды в порядке убывания приоритета 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: 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
сложное
при наличии состояния
Информация о слушателях.

default_actions
строка
при наличии состояния
Действия по умолчанию для слушателя.

target_group_arn
строка
при наличии состояния
Amazon Resource Name (ARN) целевой группы.

type
строка
при наличии состояния
Тип действия.

listener_arn
строка
при наличии состояния
Amazon Resource Name (ARN) слушателя.

protocol
строка
при наличии состояния
Протокол для соединений от клиентов к балансировщику нагрузки.

Пример:
HTTPS
ssl_policy
строка
при наличии состояния
Политика безопасности, определяющая, какие шифры и протоколы поддерживаются.

certificates
сложное
при наличии состояния
Сертификат SSL сервера.

certificate_arn
строка
при наличии состояния
Amazon Resource Name (ARN) сертификата.

load_balancer_arn
строка
при наличии состояния
Amazon Resource Name (ARN) балансировщика нагрузки.

port
целое число
при наличии состояния
Порт, на котором слушает балансировщик нагрузки.

Пример:
80
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
строка
при наличии состояния
Балансировщик нагрузки — ориентированный на Интернет или внутренний.

Пример:
internal
security_groups
список
при наличии состояния
Идентификаторы групп безопасности для балансировщика нагрузки.

Пример:
['sg-0011223344']
state
словарь
при наличии состояния
Состояние балансировщика нагрузки.

Пример:
{'code': 'active'}
tags
словарь
при наличии состояния
Теги, прикреплённые к балансировщику нагрузки.

Пример:
{ 'Tag': 'Пример' }
type
строка
при наличии состояния
Тип балансировщика нагрузки.

Пример:
приложение
vpc_id
строка
при наличии состояния
Идентификатор VPC для балансировщика нагрузки.

Пример:
vpc-0011223344


Статус

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

Автор

  • Роб Уайт (@wimnat)

Подсказка

Если вы заметили какие-либо проблемы в этой документации, вы можете отредактировать этот документ, чтобы улучшить его.

© 2012–2018 Michael DeHaan
© 2018–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.5/modules/elb_application_lb_module.html

Spec-Zone.ru

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