Модуль amazon.aws.elb_application_lb — управление балансировщиком нагрузки приложений
Примечание
Этот модуль входит в коллекцию amazon.aws (версия 11.3.0).
Возможно, эта коллекция уже установлена, если вы используете пакет ansible. Она не входит в ansible-core. Чтобы проверить, установлена ли она, выполните ansible-galaxy collection list.
Для установки используйте: ansible-galaxy collection install amazon.aws. Для использования этого модуля требуются дополнительные компоненты; подробности см. в разделе Требования.
Чтобы использовать модуль в плейбуке, укажите: amazon.aws.elb_application_lb.
Добавлено в amazon.aws 5.0.0
Краткое описание
- Управление балансировщиком нагрузки приложений AWS. Подробности см. на странице https://aws.amazon.com/blogs/aws/new-aws-application-load-balancer/.
- Этот модуль был впервые добавлен в
community.awsв выпуске 1.0.0.
Требования
Следующие компоненты должны быть установлены на хосте, на котором выполняется этот модуль.
- python >= 3.6
- boto3 >= 1.35.0
- botocore >= 1.35.0
Параметры
Параметр | Комментарии |
|---|---|
access_key aliases: aws_access_key_id, aws_access_key string | Идентификатор ключа доступа AWS. Дополнительную информацию о токенах доступа см. в документации AWS https://docs.aws.amazon.com/general/latest/gr/aws-sec-cred-types.html#access-keys-and-secret-access-keys. Также можно использовать переменные среды Параметры aws_access_key и profile являются взаимоисключающими. Псевдоним aws_access_key_id добавлен в выпуске 5.1.0 для согласованности с AWS botocore SDK. |
access_logs_enabled boolean | Включить ли журналы доступа. Если задано значение, необходимо также задать Варианты:
|
access_logs_s3_bucket string | Имя бакета S3 для журналов доступа. Бакет должен находиться в том же регионе, что и балансировщик нагрузки, и иметь политику, предоставляющую Elastic Load Balancing разрешение на запись в бакет. Обязательный параметр, если включено сохранение журналов доступа в Amazon S3. Если задано значение, необходимо также задать |
access_logs_s3_prefix string | Префикс пути к журналам в бакете S3. Если префикс не указан, журналы доступа сохраняются в корне бакета. Не может начинаться или заканчиваться косой чертой. |
aws_ca_bundle path | Путь к пакету CA, используемому для проверки сертификатов SSL. Также можно использовать переменную среды |
aws_config dictionary | Словарь для изменения конфигурации botocore. Параметры описаны в документации AWS https://botocore.amazonaws.com/v1/documentation/api/latest/reference/config.html#botocore.config.Config. |
debug_botocore_endpoint_logs boolean | Использовать регистратор Также можно использовать переменную среды Варианты:
|
deletion_protection boolean | Указывает, включена ли защита ALB от удаления. По умолчанию используется Варианты:
|
endpoint_url aliases: aws_endpoint_url string | URL для подключения вместо конечных точек AWS по умолчанию. Хотя его можно использовать для подключения к другим сервисам, совместимым с AWS, коллекции amazon.aws и community.aws тестируются только с AWS. Также можно использовать переменную среды |
http2 boolean | Указывает, следует ли включить маршрутизацию HTTP2. По умолчанию используется Варианты:
|
http_desync_mitigation_mode string добавлено в community.aws 3.2.0 | Определяет, как балансировщик нагрузки обрабатывает запросы, которые могут представлять угрозу безопасности приложения. По умолчанию используется Варианты:
|
http_drop_invalid_header_fields boolean добавлено в community.aws 3.2.0 | Указывает, удаляются ли балансировщиком нагрузки HTTP-заголовки с недопустимыми полями По умолчанию используется Варианты:
|
http_x_amzn_tls_version_and_cipher_suite boolean добавлено в community.aws 3.2.0 | Указывает, добавляются ли два заголовка к запросу клиента перед его отправкой цели. По умолчанию используется Варианты:
|
http_xff_client_port boolean добавлено в community.aws 3.2.0 | Указывает, должен ли заголовок X-Forwarded-For сохранять исходный порт, который клиент использовал для подключения к балансировщику нагрузки. По умолчанию используется Варианты:
|
idle_timeout integer | Количество секунд ожидания перед закрытием неактивного соединения. |
ip_address_type string | Задает тип IP-адресов, используемых подсетями указанного Application Load Balancer. Варианты:
|
listeners list / elements=dictionary | Список словарей, содержащих прослушиватели для подключения к ALB. Подробное описание требуемого словаря см. в примерах. Обратите внимание, что ключи прослушивателей записываются в CamelCase. |
|
Certificates list / elements=dictionary |
Сертификат SSL-сервера. |
|
CertificateArn string |
Имя ресурса Amazon (ARN) сертификата. |
|
DefaultActions list / elements=dictionary / обязательный |
Действия по умолчанию для прослушивателя. |
|
TargetGroupArn string |
Имя ресурса Amazon (ARN) целевой группы. Взаимоисключающий параметр с |
|
TargetGroupName string |
Имя целевой группы. Взаимоисключающий параметр с |
|
Type string |
Тип действия. |
|
Port integer / обязательный |
Порт, на котором прослушивает балансировщик нагрузки. |
|
Protocol string / обязательный |
Протокол соединений между клиентами и балансировщиком нагрузки. |
|
Rules list / elements=dictionary |
Список правил прослушивателя ALB. Полное описание возможных условий и действий см. в документации boto3: Помните, что AWS использует значения по умолчанию для параметров, которые не заданы. Например, для |
|
Actions list / elements=dictionary |
Действия, которые нужно выполнить, если выполнены все условия правила. |
|
Conditions list / elements=dictionary |
Условия, которые должны быть выполнены для применения действий. |
|
Priority integer |
Приоритет правила. |
|
SslPolicy string |
Политика безопасности, определяющая поддерживаемые шифры и протоколы. |
name string / обязательный | Имя балансировщика нагрузки. Это имя должно быть уникальным в учетной записи AWS, содержать не более 32 символов, включать только буквенно-цифровые символы или дефисы и не начинаться и не заканчиваться дефисом. |
profile aliases: aws_profile string | Именованный профиль AWS, используемый для аутентификации. Дополнительную информацию об именованных профилях см. в документации AWS https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-profiles.html. Также можно использовать переменную среды Параметр profile является взаимоисключающим с параметрами aws_access_key, aws_secret_key и session_token. |
purge_listeners boolean | |
purge_rules boolean | Если задано значение Варианты:
|
purge_tags boolean | Если Если параметр Ключи тегов, начинающиеся с Варианты:
|
region aliases: aws_region string | Используемый регион AWS. Для глобальных сервисов, таких как IAM, Route53 и CloudFront, параметр region игнорируется. Также можно использовать переменную среды Дополнительную информацию см. в документации Amazon AWS http://docs.aws.amazon.com/general/latest/gr/rande.html#ec2_region. |
scheme string | Внешний или внутренний балансировщик нагрузки. Схему ALB нельзя изменить после создания. Варианты:
|
secret_key aliases: aws_secret_access_key, aws_secret_key string | Секретный ключ доступа AWS. Дополнительную информацию о токенах доступа см. в документации AWS https://docs.aws.amazon.com/general/latest/gr/aws-sec-cred-types.html#access-keys-and-secret-access-keys. Также можно использовать переменные среды Параметры secret_key и profile являются взаимоисключающими. Псевдоним aws_secret_access_key добавлен в выпуске 5.1.0 для согласованности с AWS botocore SDK. |
security_groups list / elements=string | Список имен или идентификаторов групп безопасности, назначаемых балансировщику нагрузки. Обязательный параметр, если Если |
session_token aliases: aws_session_token string | Токен сеанса AWS STS для использования с временными учетными данными. Дополнительную информацию о токенах доступа см. в документации AWS https://docs.aws.amazon.com/general/latest/gr/aws-sec-cred-types.html#access-keys-and-secret-access-keys. Также можно использовать переменную среды Параметры session_token и profile являются взаимоисключающими. |
state string | Создать или удалить балансировщик нагрузки. Варианты:
|
subnets list / elements=string | Список идентификаторов подсетей, подключаемых к балансировщику нагрузки. Можно указать только одну подсеть для каждой зоны доступности. Необходимо указать подсети как минимум из двух зон доступности. Обязательный параметр, если |
tags aliases: resource_tags dictionary | Словарь тегов, применяемых к ресурсу. Если параметр |
validate_certs boolean | Если задано значение Настоятельно не рекомендуется задавать validate_certs=false; вместо этого рассмотрите возможность задать aws_ca_bundle. Варианты:
|
waf_fail_open boolean добавлено в community.aws 3.2.0 | Указывает, следует ли разрешить балансировщику нагрузки с включённым AWS WAF направлять запросы к целевым объектам, если он не может переслать запрос в AWS WAF. По умолчанию Варианты:
|
wait boolean | Ожидать, пока состояние балансировщика нагрузки не станет «active», прежде чем завершить выполнение. Проверка состояния выполняется каждые 15 секунд до достижения успешного состояния. После 40 неудачных проверок возвращается ошибка. Варианты:
|
wait_timeout integer | Время в секундах, используемое совместно с |
Примечания
Примечание
- Прослушиватели сопоставляются по номеру порта. Если номер порта прослушивателя изменится, будет создан новый прослушиватель.
- Правила прослушивателя сопоставляются по приоритету. Если приоритет правила изменится, будет создано новое правило.
- Внимание: Для модулей переменные среды и файлы конфигурации считываются из контекста «host» Ansible, а не из контекста «controller». Поэтому может потребоваться явно скопировать файлы на «host». Для плагинов поиска и подключения переменные среды и файлы конфигурации считываются из контекста «controller» Ansible, а не из контекста «host».
- Используемый Ansible пакет AWS SDK (boto3) также может считывать значения по умолчанию для учётных данных и других параметров, например региона, из файлов конфигурации в контексте «host» Ansible (обычно
~/.aws/credentials). Дополнительные сведения см. на странице https://boto3.amazonaws.com/v1/documentation/api/latest/guide/credentials.html.
Примеры
# Note: These examples do not set authentication details, see the AWS Guide for details.
# Create an ALB and attach a listener
- amazon.aws.elb_application_lb:
name: myalb
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
- CertificateArn: arn:aws:iam::123456789012:server-certificate/test.domain.com
DefaultActions:
- Type: forward # Required.
TargetGroupName: # Required. The name of the target group
state: present
# Create an ALB and attach a listener with logging enabled
- amazon.aws.elb_application_lb:
access_logs_enabled: true
access_logs_s3_bucket: mybucket
access_logs_s3_prefix: "logs"
name: myalb
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
- CertificateArn: arn:aws:iam::123456789012: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
- amazon.aws.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::123456789012: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
# Create an ALB with a listener having multiple listener certificates
- amazon.aws.elb_application_lb:
name: myalb
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 (first certificate in the list will be set as default certificate)
- CertificateArn: arn:aws:iam::123456789012:server-certificate/test.domain.com
- CertificateArn: arn:aws:iam::123456789012:server-certificate/secondtest.domain.com
- CertificateArn: arn:aws:iam::123456789012:server-certificate/thirdtest.domain.com
DefaultActions:
- Type: forward # Required.
TargetGroupName: # Required. The name of the target group
state: present
# Remove an ALB
- amazon.aws.elb_application_lb:
name: myalb
state: absent
Возвращаемые значения
Общие возвращаемые значения описаны здесь; ниже перечислены поля, уникальные для этого модуля:
Ключ | Описание |
|---|---|
access_logs_s3_bucket string | |
access_logs_s3_enabled string | Указывает, включено ли хранение журналов доступа в Amazon S3. Возвращается: когда Пример: |
access_logs_s3_prefix string | |
availability_zones list / elements=dictionary | Зоны доступности для балансировщика нагрузки. Возвращается: когда Пример: |
|
load_balancer_addresses list / elements=dictionary |
Сведения о статических IP-адресах балансировщика нагрузки. Возвращается: когда |
|
allocation_id string |
Идентификатор выделения эластичного IP-адреса для внутреннего балансировщика нагрузки. Возвращается: когда |
|
ip_address string |
Статический IP-адрес. Возвращается: когда |
|
ipv6_address string |
IPv6-адрес. Возвращается: когда |
|
private_ipv4_address string |
Частный IPv4-адрес внутреннего балансировщика нагрузки. Возвращается: когда |
|
subnet_id string |
Идентификатор подсети. Возвращается: когда |
|
zone_name string |
Название зоны доступности. Возвращается: когда |
canonical_hosted_zone_id string | Идентификатор размещённой зоны Amazon Route 53, связанной с балансировщиком нагрузки. Возвращается: когда Пример: |
changed boolean | Указывает, был ли ALB создан, обновлён или удалён. Возвращается: всегда Пример: |
client_keep_alive_seconds string | Значение времени поддержания активности клиента в секундах. Возвращается: когда Пример: |
connection_logs_s3_bucket string | |
connection_logs_s3_enabled string | Указывает, включено ли ведение журналов подключений. Возвращается: когда Пример: |
connection_logs_s3_prefix string | |
created_time string | Дата и время создания балансировщика нагрузки. Возвращается: когда Пример: |
deletion_protection_enabled string | |
dns_name string | Общедоступное DNS-имя балансировщика нагрузки. Возвращается: когда Пример: |
idle_timeout_timeout_seconds string | |
ip_address_type string | Тип IP-адресов, используемых подсетями балансировщика нагрузки. Возвращается: когда Пример: |
ipv6_deny_all_igw_traffic string | Блокирует доступ интернет-шлюза (IGW) к балансировщику нагрузки. Возвращается: когда Пример: |
listeners list / elements=dictionary | Сведения о слушателях. Возвращается: когда |
|
certificates list / elements=dictionary |
Сертификат SSL-сервера. Возвращается: когда |
|
certificate_arn string |
Имя ресурса Amazon (ARN) сертификата. Возвращается: когда Пример: |
|
default_actions string |
Действия по умолчанию для слушателя. Возвращается: когда Пример: |
|
forward_config dictionary |
Сведения для создания действия, распределяющего запросы между одной или несколькими целевыми группами. Возвращается: когда |
|
target_group_stickiness_config dictionary |
Настройки привязки к целевой группе для правила. Возвращается: когда |
|
enabled boolean |
Указывает, включена ли привязка к целевой группе. Возвращается: когда |
|
target_groups dictionary |
Целевые группы. Возвращается: когда |
|
target_group_arn string |
Имя ресурса Amazon (ARN) целевой группы. Возвращается: когда |
|
weight integer |
Вес. Возвращается: когда |
|
target_group_arn string |
Имя ресурса Amazon (ARN) целевой группы. Возвращается: когда Пример: |
|
type string | |
|
listener_arn string |
Имя ресурса Amazon (ARN) слушателя. Возвращается: когда Пример: |
|
load_balancer_arn string |
Имя ресурса Amazon (ARN) балансировщика нагрузки. Возвращается: когда Пример: |
|
port integer |
Порт, на котором работает слушатель балансировщика нагрузки. Возвращается: когда Пример: |
|
protocol string |
Протокол соединений между клиентами и балансировщиком нагрузки. Возвращается: когда Пример: |
|
rules list / elements=dictionary |
Список правил слушателя. Возвращается: когда |
|
actions list / elements=dictionary |
Действия. Возвращается: когда Пример: |
|
forward_config dictionary |
Сведения для создания действия, распределяющего запросы между одной или несколькими целевыми группами. Возвращается: когда |
|
target_group_stickiness_config dictionary |
Настройки привязки к целевой группе для правила. Возвращается: когда |
|
enabled boolean |
Указывает, включена ли привязка к целевой группе. Возвращается: когда |
|
target_groups dictionary |
Целевые группы. Возвращается: когда |
|
target_group_arn string |
Имя ресурса Amazon (ARN) целевой группы. Возвращается: когда |
|
weight integer |
Вес. Возвращается: когда |
|
target_group_arn string |
Имя ресурса Amazon (ARN) целевой группы. Возвращается: когда |
|
type string |
Тип действия. Возвращается: когда |
|
conditions list / elements=string | |
|
is_default boolean | |
|
priority string | |
|
rule_arn string | |
|
ssl_policy string |
Политика безопасности, определяющая поддерживаемые шифры и протоколы. Возвращается: когда Пример: |
load_balancer_arn string | Имя ресурса Amazon (ARN) балансировщика нагрузки. Возвращается: когда Пример: |
load_balancer_name string | |
load_balancing_cross_zone_enabled string | Указывает, включена ли межзональная балансировка нагрузки. Возвращается: когда Пример: |
routing_http2_enabled string | |
routing_http_desync_mitigation_mode string | Определяет, как балансировщик нагрузки обрабатывает запросы, которые могут представлять угрозу безопасности приложения. Возвращается: когда Пример: |
routing_http_drop_invalid_header_fields_enabled string | Указывает, удаляет ли балансировщик нагрузки HTTP-заголовки с недопустимыми полями (true) или передает их целевым объектам (false). Возвращается: когда Пример: |
routing_http_preserve_host_header_enabled string | Указывает, должен ли Application Load Balancer сохранять заголовок Host в HTTP-запросе и передавать его целевому объекту без изменений. Возвращается: когда Пример: |
routing_http_x_amzn_tls_version_and_cipher_suite_enabled string | Указывает, добавляются ли два заголовка к запросу клиента перед его отправкой целевому объекту. Возвращается: когда Пример: |
routing_http_xff_client_port_enabled string | Указывает, должен ли заголовок X-Forwarded-For сохранять исходный порт, который клиент использовал для подключения к балансировщику нагрузки. Возвращается: когда Пример: |
routing_http_xff_header_processing_mode string | Позволяет изменить, сохранить или удалить заголовок X-Forwarded-For в HTTP-запросе перед тем, как Application Load Balancer отправит запрос целевому объекту. Возвращается: когда Пример: |
scheme string | Балансировщик нагрузки, доступный из Интернета, или внутренний балансировщик нагрузки. Возвращается: когда Пример: |
security_groups list / elements=string | Идентификаторы групп безопасности балансировщика нагрузки. Возвращается: когда Пример: |
state dictionary | |
|
code string |
Код состояния. Возвращается: при успешном выполнении |
|
reason string |
Описание состояния. Возвращается: при наличии |
tags dictionary | Теги, прикрепленные к балансировщику нагрузки. Возвращается: когда Пример: |
type string | |
vpc_id string | Идентификатор VPC балансировщика нагрузки. Возвращается: когда Пример: |
waf_fail_open_enabled string | Указывает, разрешено ли балансировщику нагрузки с включенным AWS WAF направлять запросы целевым объектам, если он не может переслать запрос в AWS WAF. Возвращается: когда Пример: |
Ссылки на коллекцию
© 2012–2018 Michael DeHaan
© 2018–2025 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/projects/ansible/latest/collections/amazon/aws/elb_application_lb_module.html