Spec-Zone.ru › Ansible 2.9

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

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

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

Обзор

  • Управление балансировщиком нагрузки AWS Application Elastic Load Balancer. Подробности см. на 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
string
Ключ доступа AWS. Если не задан, используется значение переменной окружения AWS_ACCESS_KEY_ID, AWS_ACCESS_KEY или EC2_ACCESS_KEY.

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

псевдонимы: ec2_secret_key, secret_key
debug_botocore_endpoint_logs
boolean
добавлен в 2.8
    Варианты:
  • no ←
  • yes
Используйте логгер botocore.endpoint для анализа уникальных (а не общих) API-вызовов «ресурс:действие», выполненных во время задачи, выводив список в ключ resource_actions в результатах задачи. Используйте обратный вызов aws_resource_action, чтобы вывести полный список, созданный во время выполнения книги сценариев. Переменная окружения ANSIBLE_DEBUG_BOTOCORE_LOGS также может быть использована.
deletion_protection
boolean
    Варианты:
  • no ←
  • yes
Указывает, включена ли защита от удаления для ELB.
ec2_url
string
URL для подключения к EC2 или вашему облаку Eucalyptus (по умолчанию модуль будет использовать конечные точки EC2). Игнорируется для модулей, где требуется область. Должен быть указан для всех других модулей, если область не используется. Если не задан, используется значение переменной окружения EC2_URL, если она есть.
http2
boolean
добавлен в 2.6
    Варианты:
  • no ←
  • yes
Указывает, включить ли маршрутизацию HTTP2.
idle_timeout
-
Значение по умолчанию:
60
Количество секунд ожидания закрытия неактивного соединения.
listeners
-
Список словарей, содержащих слушателей для подключения к ELB. Подробности о требуемом словаре см. в примерах. Обратите внимание, что ключи слушателей написаны с использованием CamelCase.
name
- / требуется
Имя балансировщика нагрузки. Это имя должно быть уникальным в рамках вашей учетной записи AWS, может иметь максимальную длину 32 символа, должно содержать только буквенно-цифровые символы или дефисы и не должно начинаться или заканчиваться дефисом.
profile
string
Использует профиль 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
string
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
-
Значение по умолчанию:
[]
Список имен или идентификаторов групп безопасности, которые необходимо назначить балансировщику нагрузки. Требуется, если state=present.
security_token
string
Токен безопасности AWS STS. Если не задан, используется значение переменной окружения AWS_SECURITY_TOKEN или EC2_SECURITY_TOKEN.

псевдонимы: access_token
state
-
    Варианты:
  • present ←
  • absent
Создать или удалить балансировщик нагрузки.
subnets
-
Список идентификаторов подсетей, которые необходимо подключить к балансировщику нагрузки. Вы можете указать только одну подсеть на одну зону доступности. Вы должны указать подсети как минимум из двух зон доступности. Требуется, если state=present.
tags
-
Словарь одного или нескольких тегов для назначения балансировщику нагрузки.
validate_certs
boolean
    Варианты:
  • 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.
            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.
            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
          - Conditions:
              - Field: path-pattern
                Values:
                  - "/redirect-path/*"
            Priority: '2'
            Actions:
              - Type: redirect
                RedirectConfig:
                  Host: "#{host}"
                  Path: "/example/redir" # or /#{path}
                  Port: "#{port}"
                  Protocol: "#{protocol}"
                  Query: "#{query}"
                  StatusCode: "HTTP_302" # or HTTP_301
          - Conditions:
              - Field: path-pattern
                Values:
                  - "/fixed-response-path/"
            Priority: '3'
            Actions:
              - Type: fixed-response
                FixedResponseConfig:
                  ContentType: "text/plain"
                  MessageBody: "This is the page you're looking for"
                  StatusCode: "200"
          - Conditions:
              - Field: host-header
                Values:
                  - "hostname.domain.com"
                  - "alternate.domain.com"
            Priority: '4'
            Actions:
              - TargetGroupName: test-target-group
                Type: forward
    state: present

# Remove an ELB
- elb_application_lb:
    name: myelb
    state: absent

Значения возврата

Общие значения возврата документированы здесь, следующие являются полями, уникальными для этого модуля:

Ключ Возвращаемое значение Описание
access_logs_s3_bucket
строка
при наличии состояния
Имя ведра Amazon 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.9/modules/elb_application_lb_module.html

Spec-Zone.ru

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