Spec-Zone.ru › Ansible 2.7

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
boolean
    Варианты:
  • no
  • yes
Включает или отключает логи доступа. При значении true, необходимо указать access_logs_s3_bucket.
access_logs_s3_bucket
-
Имя S3-ведра для логов доступа. Требуется, если включены логи доступа в Amazon S3. Ведро должно находиться в том же регионе, что и балансировщик нагрузки, и иметь политику ведра, предоставляющую Elastic Load Balancing разрешение на запись в ведро.
access_logs_s3_prefix
-
Префикс для расположения в S3-ведре. Если префикс не указан, логи доступа хранятся в корневом каталоге ведра.
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
deletion_protection
boolean
    Варианты:
  • no ←
  • yes
Указывает, включена ли защита от удаления для ELB.
ec2_url
-
URL для подключения к EC2 или вашему облаку Eucalyptus (по умолчанию модуль использует конечные точки EC2). Игнорируется для модулей, где регион требуется. Должен быть указан для всех других модулей, если регион не используется. Если не указан, используется значение переменной окружения EC2_URL.
http2
boolean
добавлено в 2.6
    Варианты:
  • no ←
  • yes
Указывает, включить ли маршрутизацию HTTP2.
idle_timeout
-
По умолчанию:
60
Количество секунд ожидания перед закрытием неактивного соединения.
listeners
-
Список словарей, содержащих слушателей для подключения к ELB. Подробности словаря см. в примерах. Обратите внимание, что ключи слушателей используют CamelCase.
name
- / обязательно
Имя балансировщика нагрузки. Это имя должно быть уникальным в вашем аккаунте AWS, может иметь максимальную длину 32 символа, содержать только буквенно-цифровые символы или дефисы, и не должно начинаться или заканчиваться дефисом.
profile
-
добавлено в 1.6
Использует профиль boto. Работает только с boto >= 2.24.0.
purge_listeners
boolean
    Варианты:
  • no
  • yes ←
Если yes, существующие слушатели будут удалены из ELB, чтобы точно соответствовать параметрам listeners. Если параметр listeners не задан, слушатели не будут изменены.
purge_rules
boolean
добавлено в 2.7
    Варианты:
  • no
  • yes ←
Если no, сохраняйте существующие правила балансировщика нагрузки. Будут изменены и добавлены, но не удалены.
purge_tags
boolean
    Варианты:
  • no
  • yes ←
Если yes, существующие теги будут удалены из ресурса, чтобы точно соответствовать параметрам 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
-
    Варианты:
  • internet-facing ←
  • internal
Балансировщик нагрузки интернет-ориентированный или внутренний. Схема ELB не может быть изменена после создания.
security_groups
-
По умолчанию:
[]
Список имён или ID групп безопасности, которые следует назначить балансировщику нагрузки. Требуется, если state=present.
security_token
-
добавлено в 1.6
AWS STS токен безопасности. Если не указан, используется значение переменной окружения AWS_SECURITY_TOKEN или EC2_SECURITY_TOKEN.

Псевдонимы: access_token
state
-
    Варианты:
  • present ←
  • absent
Создать или уничтожить балансировщик нагрузки.
subnets
-
Список ID подсетей, которые нужно подключить к балансировщику нагрузки. Можно указать только одну подсеть на зону доступности. Необходимо указать подсети как минимум из двух зон доступности. Требуется, если state=present.
tags
-
Словарь одного или нескольких тегов для назначения балансировщику нагрузки.
validate_certs
boolean
добавлено в 1.5
    Варианты:
  • no
  • yes ←
Если «no», сертификаты SSL не будут проверяться для версий boto >= 2.6.0.
wait
boolean
добавлено в 2.6
    Варианты:
  • no ←
  • yes
Подождать, пока состояние балансировщика нагрузки не станет 'active', прежде чем завершить. Проверка статуса выполняется каждые 15 секунд до достижения успешного состояния. Ошибка возвращается после 40 неудачных проверок.
wait_timeout
-
добавлено в 2.6
Время в секундах для использования в сочетании с wait.

Примечания

Примечание

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

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

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

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

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

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

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

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

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

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

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

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

Пример:
arn:aws:elasticloadbalancing:ap-southeast-2:0123456789:loadbalancer/app/my-elb/001122334455
load_balancer_name
строка
при наличии состояния
Название балансировщика нагрузки.

Пример:
my-elb
routing_http2_enabled
строка
при наличии состояния
Указывает, включен ли HTTP/2.

Пример:
True
scheme
строка
при наличии состояния
Интернет-ориентированный или внутренний балансировщик нагрузки.

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

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

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

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

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

Пример:
vpc-0011223344


Состояние

  • Этот модуль не гарантирует обратной совместимости интерфейса. [превью]
  • Этот модуль поддерживается сообществом Ansible. [community]

Авторы

  • Rob White (@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.7/modules/elb_application_lb_module.html

Spec-Zone.ru

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