Модуль amazon.aws.autoscaling_group — создание или удаление групп AWS Auto Scaling (ASG)
Примечание
Этот модуль входит в коллекцию amazon.aws (версия 11.3.0).
Возможно, эта коллекция уже установлена, если вы используете пакет ansible. Она не включена в ansible-core. Чтобы проверить, установлена ли она, выполните команду ansible-galaxy collection list.
Чтобы установить её, используйте: ansible-galaxy collection install amazon.aws. Для использования этого модуля необходимы дополнительные компоненты; подробности см. в разделе Требования.
Чтобы использовать модуль в плейбуке, укажите: amazon.aws.autoscaling_group.
Добавлено в amazon.aws 5.0.0
Краткое описание
- Позволяет создавать и удалять группы AWS Auto Scaling.
- Можно использовать вместе с модулем community.aws.autoscaling_launch_config для управления конфигурациями запуска.
- До выпуска версии 5.0.0 этот модуль назывался community.aws.ec2_asg. Способ использования не изменился.
- Этот модуль впервые появился в
community.awsв выпуске 1.0.0.
Псевдонимы: ec2_asg
Требования
Перечисленные ниже компоненты должны быть установлены на узле, на котором выполняется этот модуль.
- 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. |
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: aws_endpoint_url string | URL для подключения вместо конечных точек AWS по умолчанию. Его можно использовать для подключения к другим совместимым с AWS службам, однако коллекции amazon.aws и community.aws тестируются только с AWS. Также можно использовать переменную окружения |
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. При создании новой группы AutoScaling необходимо указать ровно один из параметров Примечание Amazon объявила об отказе от поддержки конфигураций запуска AutoScaling в пользу шаблонов запуска EC2. Дополнительные сведения см. по адресу https://docs.aws.amazon.com/autoscaling/ec2/userguide/launch-configurations.html. |
launch_template dictionary | Словарь с описанием используемого шаблона запуска. При создании новой группы AutoScaling необходимо указать ровно один из параметров |
|
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 добавлено в 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 добавлено в community.aws 1.5.0 |
Указывает, как распределять типы экземпляров для обеспечения емкости On-Demand. |
|
on_demand_base_capacity integer добавлено в community.aws 1.5.0 |
Минимальная часть емкости группы Auto Scaling, которая должна обеспечиваться экземплярами On-Demand. При масштабировании группы эта базовая часть выделяется в первую очередь. Если параметр не задан, используется значение |
|
on_demand_percentage_above_base_capacity integer добавлено в community.aws 1.5.0 |
Управляет процентным соотношением экземпляров On-Demand и Spot для дополнительной емкости сверх Если параметр не задан, используется значение Допустимый диапазон: от |
|
spot_allocation_strategy string добавлено в community.aws 1.5.0 |
Указывает, как распределять экземпляры между пулами экземпляров Spot. |
|
spot_instance_pools integer добавлено в community.aws 1.5.0 |
Количество пулов экземпляров Spot, между которыми распределяются экземпляры Spot. Пулы Spot определяются на основе разных типов экземпляров в массиве Overrides объекта LaunchTemplate. Если параметр не задан, используется значение Используется только при стратегии распределения Spot lowest-price. Допустимый диапазон: минимальное значение |
|
spot_max_price string добавлено в community.aws 1.5.0 |
Максимальная цена за час использования экземпляра Spot, которую вы готовы платить. Если оставить значение этого параметра пустым (по умолчанию), максимальная цена Spot устанавливается равной цене On-Demand. Чтобы удалить ранее заданное значение, укажите параметр, оставив его значение пустым. |
name aliases: group_name string / обязательный | Уникальное имя создаваемой или удаляемой группы. |
notification_topic string | ARN темы SNS для отправки уведомлений об автомасштабировании. |
notification_types list / elements=string | Список событий автомасштабирования, при наступлении которых отправляются уведомления. По умолчанию: |
placement_group string | Физическое расположение группы размещения кластера, созданной в Amazon EC2. |
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. |
protected_from_scale_in boolean добавлено в amazon.aws 11.1.0 | Если задано При создании новой AutoScaling Group по умолчанию используется значение Варианты:
|
purge_tags boolean добавлено в community.aws 3.2.0 |
region aliases: aws_region string | Регион AWS для использования. Для глобальных сервисов, таких как IAM, Route53 и CloudFront, параметр region игнорируется. Также можно использовать переменную окружения Дополнительные сведения см. в документации Amazon AWS: http://docs.aws.amazon.com/general/latest/gr/rande.html#ec2_region. |
replace_all_instances boolean | Поддержка параметра Заменяет все экземпляры, использовавшие старую конфигурацию запуска, на экземпляры с новой конфигурацией запуска поэтапно. Размер ASG увеличивается на Варианты:
|
replace_batch_size integer | Поддержка параметров Количество экземпляров, которые требуется заменять за один раз. Используется вместе с По умолчанию: |
replace_instances list / elements=string | Поддержка параметра Список идентификаторов экземпляров, принадлежащих указанной группе AutoScalingGroup, которые требуется завершить и заменить экземплярами с текущей конфигурацией запуска. По умолчанию: |
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 SDK botocore. |
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 | Зарегистрировать или отменить регистрацию экземпляра. Варианты:
|
suspend_processes list / elements=string | Список процессов масштабирования, которые требуется приостановить. Допустимые значения:
Полный список допустимых значений приведен в документации AWS: https://docs.aws.amazon.com/autoscaling/ec2/userguide/as-suspend-resume-processes.html По умолчанию: |
tags list / elements=dictionary | Список тегов для добавления в группу Auto Scale. Необязательный ключ — Если По умолчанию: |
target_group_arns list / elements=string | Список ARN целевых групп для использования в группе. Используется с балансировщиками нагрузки приложений. |
termination_policies list / elements=string | Упорядоченный список критериев для выбора экземпляров, которые следует удалить из группы Auto Scaling при уменьшении емкости. При изменении существующей группы AutoScalingGroup использование Допустимые значения: Полный список допустимых значений приведен в документации 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 | Время ожидания готовности замененных экземпляров. Если возникает ошибка «Слишком долго ожидали готовности экземпляров ELB», попробуйте увеличить это значение. По умолчанию: |
Примечания
Примечание
- Внимание: Для модулей переменные окружения и файлы конфигурации считываются из контекста «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.
Примеры
# Basic configuration with Launch Template
- name: Create an autoscaling group using launch template
amazon.aws.autoscaling_group:
name: example_asg
load_balancers: ['lb1', 'lb2']
availability_zones: ['eu-west-1a', 'eu-west-1b']
launch_template:
launch_template_name: 'template-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 template to an ASG and replace old instances.
# By setting max_healthy_percentage to a value over 100 the old rolling-replacement behaviour of
# scaling up before scaling in can be maintained.
- name: Update autoscaling group with new template - instances are not replaced
amazon.aws.autoscaling_group:
name: example_asg
launch_template:
launch_template_name: template-2
health_check_period: 60
health_check_type: ELB
min_size: 2
max_size: 13
desired_capacity: 6
region: us-east-1
- name: Replace 2 instances based on EC2 Instance ID by marking them for termination
amazon.aws.autoscaling_instance:
group_name: example_asg
state: terminated
instance_ids:
- i-b345231
- i-24c2931
decrement_desired_capacity: false
wait: true
- name: Trigger rolling replacement of all instances that do not match the current configuration.
amazon.aws.autoscaling_instance_refresh:
group_name: example_asg
state: started
strategy: Rolling
preferences:
skip_matching: true
max_healthy_percentage: 125 # scale out before terminating instances during replacement
# Basic Configuration with Launch Template
- name: Example autoscaling group creation with a launch template
amazon.aws.autoscaling_group:
name: example_with_template
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
- name: Example autoscaling group creation with a mixed instance policy
amazon.aws.autoscaling_group:
name: example_with_policy
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 | Список идентификаторов экземпляров в 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 list / elements=string | Список включенных метрик AutosSalingGroup Возвращается: при успехе Пример: |
min_size integer | Минимальный размер группы Возвращается: при успехе Пример: |
mixed_instances_policy list / elements=string | Возвращает список типов экземпляров, если задана политика смешанных экземпляров. Возвращается: при успехе Пример: |
mixed_instances_policy_full dictionary | Возвращает полное представление политики смешанных экземпляров в виде словаря, если такая политика задана. Возвращается: при успехе Пример: |
pending_instances integer | Количество экземпляров в состоянии ожидания Возвращается: при успехе Пример: |
tags list / elements=string | Список тегов ASG с указанием того, распространяется ли каждый тег на экземпляры при запуске. Возвращается: при успехе Пример: |
target_group_arns list / elements=string | Список ARN целевых групп, в которые ASG добавляет экземпляры Возвращается: при успехе Пример: |
target_group_names list / elements=string | Список имен целевых групп, в которые ASG добавляет экземпляры Возвращается: при успехе Пример: |
termination_policies list / elements=string | Список политик завершения работы для группы. Возвращается: при успехе Пример: |
unhealthy_instances integer | Количество экземпляров в неработоспособном состоянии Возвращается: при успехе Пример: |
viable_instances integer | Количество экземпляров в работоспособном состоянии Возвращается: при успехе Пример: |
vpc_zone_identifier string | Идентификатор зоны VPC / подсети для группы автомасштабирования Возвращается: при успехе Пример: |
Ссылки на коллекцию
© 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/autoscaling_group_module.html