Модуль amazon.aws.autoscaling_group – Создание или удаление групп Auto Scaling AWS (ASGs)
Примечание
Этот модуль является частью коллекции amazon.aws (версия 8.2.1).
У вас, возможно, уже установлена эта коллекция, если вы используете пакет ansible. Она не включена в ansible-core. Чтобы проверить установку, выполните ansible-galaxy collection list.
Для установки используйте: ansible-galaxy collection install amazon.aws. Для использования этого модуля требуются дополнительные зависимости. Подробности см. в разделе Требования.
Для использования в книге задач укажите: amazon.aws.autoscaling_group.
Добавлена в amazon.aws 5.0.0
Обзор
- Может создавать или удалять группы Auto Scaling AWS.
- Может использоваться с модулем community.aws.autoscaling_launch_config для управления конфигурациями запуска.
- До версии 5.0.0 этот модуль назывался community.aws.ec2_asg. Использование не изменилось.
- Этот модуль был первоначально добавлен в
community.awsв версии 1.0.0.
Псевдонимы: ec2_asg
Требования
Ниже приведены требования к хосту, на котором выполняется этот модуль.
- python >= 3.6
- boto3 >= 1.26.0
- botocore >= 1.29.0
Параметры
Параметр | Комментарии |
|---|---|
access_key aliases: aws_access_key_id, aws_access_key, ec2_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 для согласованности с SDK AWS botocore. Псевдоним ec2_access_key устарел и будет удален в релизе после 2024-12-01. Поддержка переменной среды |
availability_zones list / elements=string | Список имен зон доступности, в которых будет создана группа. По умолчанию используются все зоны доступности в регионе, если |
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 | Использовать Переменная среды Варианты:
|
decrement_desired_capacity boolean добавлено в community.aws 3.2.0 | Указывает, уменьшает ли AutoScalingGroup значение желаемой емкости на количество отключенных экземпляров. Варианты:
|
default_cooldown integer | Количество секунд после завершения действия масштабирования, прежде чем можно будет начать другое. По умолчанию: |
desired_capacity integer | Требуемое количество экземпляров в группе, если не указано, будет использоваться текущее значение группы. |
detach_instances list / elements=string добавлено в community.aws 3.2.0 | Удаляет один или несколько экземпляров из указанной группы AutoScalingGroup. Если флаг Если к AutoScalingGroup подключен классический балансировщик нагрузки, экземпляры также отменяются с балансировщика нагрузки. Если к AutoScalingGroup подключены целевые группы, экземпляры также отменяются с целевых групп. По умолчанию: |
endpoint_url aliases: ec2_url, aws_endpoint_url, s3_url string | URL для подключения вместо стандартных конечных точек AWS. Хотя это можно использовать для подключения к другим совместимым с AWS службам, коллекции amazon.aws и community.aws тестируются только с AWS. Переменные среды Псевдонимы ec2_url и s3_url устарели и будут удалены в релизе после 2024-12-01. Поддержка переменной среды |
health_check_period integer | Продолжительность в секундах после того, как новый экземпляр EC2 вступает в строй, Auto Scaling начинает проверять его работоспособность. По умолчанию: |
health_check_type string | Сервис, от которого вы хотите получить состояние работоспособности, Amazon EC2 или Elastic Load Balancer. Варианты:
|
launch_config_name string | Имя конфигурации запуска, используемой для группы. См. модуль community.aws.autoscaling_launch_config для управления ими. Если не указано, будет использоваться текущее значение группы. Необходимо указать один из параметров |
launch_template dictionary | Словарь, описывающий используемый шаблон запуска |
|
launch_template_id string |
Идентификатор шаблона запуска. Необходимо указать только один из параметров |
|
launch_template_name string |
Имя шаблона запуска. Требуется только одно из |
|
version string |
Номер версии шаблона запуска для использования. По умолчанию используется последняя версия, если не указано иначе. |
lc_check boolean | Проверка, чтобы экземпляры, которые заменяются с помощью Варианты:
|
load_balancers list / elements=string | Список имен ELB для использования в группе. Используется для классических балансировщиков нагрузки. |
lt_check boolean | Проверка, чтобы экземпляры, которые заменяются с помощью Варианты:
|
max_instance_lifetime integer | Максимальное время (в секундах), в течение которого экземпляр может находиться в службе. Максимальное время жизни экземпляра должно быть равно Значение |
max_size integer | Максимальное количество экземпляров в группе. Если не указано, используется текущее значение для группы. |
metrics_collection boolean | Включить сборку метрик ASG. Варианты:
|
metrics_granularity string | Если это По умолчанию: |
metrics_list list / elements=string | Список метрик автомасштабирования, которые нужно собирать, если По умолчанию: |
min_size integer | Минимальное количество экземпляров в группе. Если не указано, используется текущее значение для группы. |
mixed_instances_policy dictionary | Политика смешанных экземпляров для использования в ASG. Используется только при конфигурировании ASG с использованием шаблона запуска ( |
|
instance_types list / elements=string |
Список типов экземпляров. |
|
instances_distribution dictionary added in community.aws 1.5.0 |
Указывает распределение экземпляров On-Demand и Spot, максимальную цену для Spot-экземпляров и то, как группа Auto Scaling распределяет типы экземпляров для выполнения емкости On-Demand и Spot. См. также https://docs.aws.amazon.com/autoscaling/ec2/APIReference/API_InstancesDistribution.html |
|
on_demand_allocation_strategy string added in community.aws 1.5.0 |
Указывает, как распределять типы экземпляров для выполнения емкости On-Demand. |
|
on_demand_base_capacity integer added in community.aws 1.5.0 |
Минимальное количество емкости группы Auto Scaling, которое должно быть обеспечено экземплярами On-Demand. Эта базовая часть предоставляется в первую очередь при масштабировании группы. По умолчанию, если не задано, |
|
on_demand_percentage_above_base_capacity integer added in community.aws 1.5.0 |
Управляет процентами экземпляров On-Demand и Spot для дополнительной емкости сверх По умолчанию, если не задано, Допустимый диапазон: от |
|
spot_allocation_strategy string added in community.aws 1.5.0 |
Указывает, как распределять экземпляры в пулах Spot-экземпляров. |
|
spot_instance_pools целое число добавлено в community.aws 1.5.0 |
Количество пулов Spot Instance, по которым следует распределять ваши Spot-инстансы. Пулы Spot определяются по различным типам экземпляров в массиве Overrides LaunchTemplate. Значение по умолчанию, если параметр не указан, — Используется только при стратегии распределения Spot — lowest-price. Допустимый диапазон: минимальное значение |
|
spot_max_price строка добавлено в community.aws 1.5.0 |
Максимальная цена за час использования Spot-инстанса. Если значение этого параметра не указано (по умолчанию), максимальная цена Spot устанавливается на уровне цены On-Demand. Чтобы удалить ранее заданное значение, укажите параметр, но оставьте значение пустым. |
name строка / обязательный | Уникальное имя создаваемой или удаляемой группы. |
notification_topic строка | ARN темы SNS для отправки уведомлений о масштабировании. |
notification_types список / элементы=строка | Список событий масштабирования, которые должны вызывать уведомления. Значение по умолчанию: |
placement_group строка | Физическое расположение группы размещения вашего кластера, созданной в Amazon EC2. |
profile псевдонимы: aws_profile строка | Используемый именованный профиль AWS для аутентификации. Дополнительную информацию об именованных профилях см. в документации AWS https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-profiles.html. Также может использоваться переменная среды Параметр profile взаимоисключает параметры aws_access_key, aws_secret_key и security_token. |
purge_tags логическое значение добавлено в community.aws 3.2.0 | |
region псевдонимы: aws_region, ec2_region строка | Регион AWS для использования. Для глобальных служб, таких как IAM, Route53 и CloudFront, region игнорируется. Также могут использоваться переменные среды Дополнительную информацию см. в документации Amazon AWS http://docs.aws.amazon.com/general/latest/gr/rande.html#ec2_region. Псевдоним Поддержка переменной среды |
replace_all_instances логическое значение | В режиме постепенного обновления замещает все экземпляры, которые использовали старый конфигурационный шаблон, на экземпляры из нового конфигурационного шаблона. Увеличивает размер ASG на Варианты:
|
replace_batch_size целое число | Количество экземпляров, которые необходимо заменить за один раз. Используется с Значение по умолчанию: |
replace_instances список / элементы=строка | Список идентификаторов экземпляров, принадлежащих указанной группе AutoScalingGroup, которые нужно остановить и заменить экземплярами, соответствующими текущему конфигурационному шаблону. Значение по умолчанию: |
secret_key псевдонимы: aws_secret_access_key, aws_secret_key, ec2_secret_key строка | Секретный ключ доступа 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 для согласованности с SDK AWS botocore. Псевдоним ec2_secret_key устарел и будет удален в релизе после 2024-12-01. Поддержка переменной среды |
session_token aliases: aws_session_token, security_token, aws_security_token, access_token string | Сеансовый токен AWS STS для использования с временными учетными данными. См. документацию AWS для получения дополнительной информации о токенах доступа https://docs.aws.amazon.com/general/latest/gr/aws-sec-cred-types.html#access-keys-and-secret-access-keys. Переменные среды Параметры security_token и profile являются взаимоисключающими. Псевдонимы aws_session_token и session_token были добавлены в релизе 3.2.0, а параметр был переименован из security_token в session_token в релизе 6.0.0. Псевдонимы security_token, aws_security_token и access_token устарели и будут удалены в релизе после 2024-12-01. Поддержка переменных среды |
state string | Зарегистрировать или отменить регистрацию экземпляра. Варианты:
|
suspend_processes list / elements=string | Список процессов масштабирования для приостановки. Допустимые значения включают:
Полная документация по допустимым значениям находится в документации AWS: https://docs.aws.amazon.com/autoscaling/ec2/userguide/as-suspend-resume-processes.html По умолчанию: |
tags list / elements=dictionary | Список тегов для добавления в группу автомасштабирования. Необязательный ключ — Когда По умолчанию: |
target_group_arns list / elements=string | Список ARN целевых групп для использования в группе. Используется для балансировщиков нагрузки приложений. |
termination_policies list / elements=string | Упорядоченный список критериев, используемых для выбора экземпляров, которые будут удалены из группы автомасштабирования при уменьшении емкости. Использование Допустимые значения включают: Полная документация по допустимым значениям находится в документации AWS: По умолчанию: |
validate_certs boolean | Когда установлено значение Установка validate_certs=false настоятельно не рекомендуется, в качестве альтернативы рассмотрите возможность установки aws_ca_bundle. Варианты:
|
vpc_zone_identifier list / elements=string | Список подсетей VPC для использования |
wait_for_instances boolean | Ожидать, пока экземпляры ASG не перейдут в готовое состояние, прежде чем завершать работу. Если экземпляры находятся за ELB, он будет ждать, пока ELB не определит, что у всех экземпляров lifecycle_state равен «InService» и health_status равен «Healthy». Варианты:
|
wait_timeout integer | Как долго ждать, пока экземпляры не станут работоспособными при замене. Если вы столкнулись с ошибкой «Waited too long for ELB instances to be healthy», попробуйте увеличить это значение. По умолчанию: |
Примечания
Примечание
- Внимание: Для модулей переменные среды и конфигурационные файлы считываются из контекста Ansible «хост», а не из контекста «контроллер». Таким образом, файлы могут нуждаться в явном копировании на «хост». Для плагинов поиска и подключения переменные среды и конфигурационные файлы считываются из контекста Ansible «контроллер», а не из контекста «хост».
- SDK AWS (boto3), который использует Ansible, также может считывать значения по умолчанию для учетных данных и других параметров, таких как регион, из своих конфигурационных файлов в контексте Ansible «хост» (обычно
~/.aws/credentials). См. https://boto3.amazonaws.com/v1/documentation/api/latest/guide/credentials.html для получения дополнительной информации.
Примеры
# Basic configuration with Launch Configuration
- amazon.aws.autoscaling_group:
name: special
load_balancers: ['lb1', 'lb2']
availability_zones: ['eu-west-1a', 'eu-west-1b']
launch_config_name: 'lc-1'
min_size: 1
max_size: 10
desired_capacity: 5
vpc_zone_identifier: ['subnet-abcd1234', 'subnet-1a2b3c4d']
tags:
- environment: production
propagate_at_launch: false
# Rolling ASG Updates
# Below is an example of how to assign a new launch config to an ASG and terminate old instances.
#
# All instances in "myasg" that do not have the launch configuration named "my_new_lc" will be terminated in
# a rolling fashion with instances using the current launch configuration, "my_new_lc".
#
# This could also be considered a rolling deploy of a pre-baked AMI.
#
# If this is a newly created group, the instances will not be replaced since all instances
# will have the current launch configuration.
- name: create launch config
community.aws.autoscaling_launch_config:
name: my_new_lc
image_id: ami-lkajsf
key_name: mykey
region: us-east-1
security_groups: sg-23423
instance_type: m1.small
assign_public_ip: true
- amazon.aws.autoscaling_group:
name: myasg
launch_config_name: my_new_lc
health_check_period: 60
health_check_type: ELB
replace_all_instances: true
min_size: 5
max_size: 5
desired_capacity: 5
region: us-east-1
# To only replace a couple of instances instead of all of them, supply a list
# to "replace_instances":
- amazon.aws.autoscaling_group:
name: myasg
launch_config_name: my_new_lc
health_check_period: 60
health_check_type: ELB
replace_instances:
- i-b345231
- i-24c2931
min_size: 5
max_size: 5
desired_capacity: 5
region: us-east-1
# Basic Configuration with Launch Template
- amazon.aws.autoscaling_group:
name: special
load_balancers: ['lb1', 'lb2']
availability_zones: ['eu-west-1a', 'eu-west-1b']
launch_template:
version: '1'
launch_template_name: 'lt-example'
launch_template_id: 'lt-123456'
min_size: 1
max_size: 10
desired_capacity: 5
vpc_zone_identifier: ['subnet-abcd1234', 'subnet-1a2b3c4d']
tags:
- environment: production
propagate_at_launch: false
# Basic Configuration with Launch Template using mixed instance policy
- amazon.aws.autoscaling_group:
name: special
load_balancers: ['lb1', 'lb2']
availability_zones: ['eu-west-1a', 'eu-west-1b']
launch_template:
version: '1'
launch_template_name: 'lt-example'
launch_template_id: 'lt-123456'
mixed_instances_policy:
instance_types:
- t3a.large
- t3.large
- t2.large
instances_distribution:
on_demand_percentage_above_base_capacity: 0
spot_allocation_strategy: capacity-optimized
min_size: 1
max_size: 10
desired_capacity: 5
vpc_zone_identifier: ['subnet-abcd1234', 'subnet-1a2b3c4d']
tags:
- environment: production
propagate_at_launch: false
Возвращаемые значения
Общие возвращаемые значения описаны здесь, следующие поля уникальны для этого модуля:
Ключ | Описание |
|---|---|
auto_scaling_group_arn string | Уникальный ARN группы автомасштабирования Возвращается: успех Пример: |
auto_scaling_group_name string | Уникальное имя группы автомасштабирования Возвращается: успех Пример: |
availability_zones list / elements=string | Зоны доступности для группы автомасштабирования Возвращается: успех Пример: |
created_time string | Метка времени создания группы автомасштабирования Возвращается: успех Пример: |
default_cooldown integer | Время ожидания по умолчанию в секундах. Возвращается: успех Пример: |
desired_capacity integer | Количество экземпляров EC2, которые должны работать в этой группе. Возвращается: успех Пример: |
healthcheck_period integer | Продолжительность в секундах после ввода нового экземпляра EC2 в эксплуатацию, когда Auto Scaling начинает проверять его работоспособность. Возвращается: успех Пример: |
healthcheck_type string | Сервис, из которого вы хотите получить состояние работоспособности, один из «EC2» или «ELB». Возвращается: успех Пример: |
healthy_instances integer | Количество экземпляров в работоспособном состоянии Возвращается: успех Пример: |
in_service_instances integer | Количество экземпляров в работе Возвращается: успех Пример: |
instance_facts dictionary | Словарь экземпляров EC2 и их состояния относительно ASG. Возвращается: успех Пример: |
instances list / elements=string | Список ID экземпляров в ASG Возвращается: успех Пример: |
launch_config_name string | Имя конфигурации запуска, связанной с ASG. То же самое, что и launch_configuration_name, предоставлено для совместимости с модулем amazon.aws.autoscaling_group. Возвращается: успех Пример: |
load_balancers list / elements=string | Список имен балансировщиков нагрузки, прикрепленных к ASG. Возвращается: успех Пример: |
max_instance_lifetime integer | Максимальное время работы экземпляра в секундах. Возвращается: успех Пример: |
max_size integer | Максимальный размер группы Возвращается: успех Пример: |
metrics_collection список / элементы=строка | Список включённых метрик AutosSalingGroup Возвращаемое значение: успех Пример: |
min_size целое число | Минимальный размер группы Возвращаемое значение: успех Пример: |
mixed_instances_policy список / элементы=строка | Возвращает список типов экземпляров, если задана политика смешанных экземпляров. Возвращаемое значение: успех Пример: |
mixed_instances_policy_full словарь | Возвращает полное представление словаря политики смешанных экземпляров, если она задана. Возвращаемое значение: успех Пример: |
pending_instances целое число | Количество экземпляров в состоянии ожидания Возвращаемое значение: успех Пример: |
tags список / элементы=строка | Список тегов для ASG и то, распространяются ли эти теги на экземпляры при запуске. Возвращаемое значение: успех Пример: |
target_group_arns список / элементы=строка | Список ARNs целевых групп, которые заполняет ASG. Возвращаемое значение: успех Пример: |
target_group_names список / элементы=строка | Список имён целевых групп, которые заполняет ASG. Возвращаемое значение: успех Пример: |
termination_policies список / элементы=строка | Список политик завершения для группы. Возвращаемое значение: успех Пример: |
unhealthy_instances целое число | Количество экземпляров в нездоровом состоянии Возвращаемое значение: успех Пример: |
viable_instances целое число | Количество экземпляров в жизнеспособном состоянии Возвращаемое значение: успех Пример: |
vpc_zone_identifier строка | ИД зоны VPC / ID подсети для группы автоматического масштабирования Возвращаемое значение: успех Пример: |
Ссылки на коллекцию
© 2012–2018 Michael DeHaan
© 2018–2024 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/latest/collections/amazon/aws/autoscaling_group_module.html