Модуль community.aws.autoscaling_policy — создание и удаление политик масштабирования AWS для групп Auto Scaling
Примечание
Этот модуль входит в коллекцию community.aws (версия 10.1.0).
Возможно, эта коллекция уже установлена, если вы используете пакет ansible. Она не входит в ansible-core. Чтобы проверить, установлена ли она, выполните ansible-galaxy collection list.
Для установки используйте: ansible-galaxy collection install community.aws. Для использования этого модуля требуются дополнительные компоненты; подробности см. в разделе Требования.
Чтобы использовать его в плейбуке, укажите: community.aws.autoscaling_policy.
Добавлено в community.aws 1.0.0
Описание
- Может создавать и удалять политики масштабирования для групп Auto Scaling.
- Указанные группы Auto Scaling должны уже существовать.
- До выпуска версии 5.0.0 этот модуль назывался
community.aws.ec2_scaling_policy. Использование не изменилось.
Псевдонимы: ec2_scaling_policy
Требования
На узле, где выполняется этот модуль, необходимы следующие компоненты.
- python >= 3.6
- boto3 >= 1.34.0
- botocore >= 1.34.0
Параметры
Параметр | Комментарии |
|---|---|
access_key псевдонимы: aws_access_key_id, aws_access_key строка | Идентификатор ключа доступа 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. |
adjustment_type строка | Тип изменения емкости группы Auto Scaling. Обязателен, если state имеет значение Варианты:
|
asg_name строка | Имя связанной группы Auto Scaling. Обязателен, если state имеет значение |
aws_ca_bundle путь | Путь к пакету CA, который используется для проверки SSL-сертификатов. Также можно использовать переменную окружения |
aws_config словарь | Словарь для изменения конфигурации botocore. Параметры описаны в документации AWS: https://botocore.amazonaws.com/v1/documentation/api/latest/reference/config.html#botocore.config.Config. |
cooldown целое число | Минимальный интервал времени (в секундах) между действиями масштабирования. Используется только, если policy_type имеет значение |
debug_botocore_endpoint_logs логическое значение | Использовать регистратор Также можно использовать переменную окружения Варианты:
|
endpoint_url псевдонимы: aws_endpoint_url строка | URL для подключения вместо конечных точек AWS по умолчанию. Его можно использовать для подключения к другим сервисам, совместимым с AWS, однако коллекции amazon.aws и community.aws тестируются только с AWS. Также можно использовать переменную окружения |
estimated_instance_warmup целое число | Ожидаемое время в секундах, через которое запущенный экземпляр сможет участвовать в формировании метрик CloudWatch. |
metric_aggregation строка | Тип агрегации метрик CloudWatch. Используется только, если policy_type не имеет значения Варианты:
|
min_adjustment_step целое число | Минимальная величина изменения при срабатывании политики. Используется только, если adjustment_type имеет значение |
name строка / обязательный | Уникальное имя политики масштабирования. |
policy_type строка | Политика изменения масштаба Auto Scaling. Варианты:
|
profile псевдонимы: aws_profile строка | Именованный профиль AWS для аутентификации. Дополнительные сведения об именованных профилях см. в документации AWS: https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-profiles.html. Также можно использовать переменную окружения Параметр profile несовместим с параметрами aws_access_key, aws_secret_key и session_token. |
region псевдонимы: aws_region строка | Регион AWS, который следует использовать. Для глобальных сервисов, таких как IAM, Route53 и CloudFront, параметр region игнорируется. Также можно использовать переменную окружения Дополнительные сведения см. в документации Amazon AWS: http://docs.aws.amazon.com/general/latest/gr/rande.html#ec2_region. |
scaling_adjustment целое число | Величина, на которую политика изменяет масштаб группы Auto Scaling. Отрицательное число уменьшает масштаб группы ASG. Единицы измерения: количество экземпляров для Обязателен, если policy_type имеет значение |
secret_key псевдонимы: aws_secret_access_key, aws_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. |
session_token псевдонимы: aws_session_token строка | Токен сеанса 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 строка | Зарегистрировать или отменить регистрацию политики. Варианты:
|
step_adjustments список / элементы=словарь | Список словарей, содержащих lower_bound, upper_bound и scaling_adjustment. Интервалы не должны пересекаться или иметь промежутки между собой. Не более одного элемента может иметь неопределенное значение lower_bound. Если значение lower_bound какого-либо элемента отрицательное, то один из шагов масштабирования должен иметь неопределенное значение lower_bound. Не более одного элемента может иметь неопределенное значение upper_bound. Если значение upper_bound какого-либо элемента положительное, то один из шагов масштабирования должен иметь неопределенное значение upper_bound. Границы задают величину превышения порога оповещения, при которой будет запущено изменение. Это означает, что для порога оповещения 50 срабатыванию при значении 75 соответствует нижняя граница 25. См. http://docs.aws.amazon.com/AutoScaling/latest/APIReference/API_StepAdjustment.html. |
|
lower_bound целое число |
Нижняя граница разницы между порогом оповещения и метрикой CloudWatch. |
|
scaling_adjustment целое число / обязательный |
Величина изменения масштаба. |
|
upper_bound целое число |
Верхняя граница разницы между порогом оповещения и метрикой CloudWatch. |
target_tracking_config словарь добавлено в community.aws 4.1.0 | Позволяет указать target_tracking_config для политик Auto Scaling в AWS. В target_tracking_config можно передать вложенные словари customized_metric_spec или predefined_metric_spec. Каждая спецификация соответствует своему аналогу в boto3. Обязателен, если указана политика TargetTrackingScaling. |
|
customized_metric_spec словарь |
Укажите словарь, который будет передан в вызов |
|
dimensions список / элементы=словарь |
Измерения метрики. Элемент списка должен быть словарем. |
|
metric_name строка / обязательный |
Имя метрики. |
|
namespace строка / обязательный |
Пространство имен метрики. |
|
statistic строка / обязательный |
Статистика метрики. Варианты:
|
|
unit строка |
Единица измерения метрики. Допустимые единицы см. в справочнике API AmazonCloudWatch. |
|
disable_scalein логическое значение |
Указывает, отключено ли уменьшение масштаба политикой отслеживания целевого значения. Варианты:
|
|
predefined_metric_spec словарь |
Укажите словарь, который будет передан в вызов TargetTrackingConfiguration. |
|
predefined_metric_type строка / обязательный |
Обязателен, если используется Варианты:
|
|
resource_label строка |
Уникально идентифицирует целевую группу ALB, по которой определяется среднее количество запросов, обрабатываемых вашей группой Auto Scaling. Метка ресурса указывается только в том случае, если целевая группа подключена к группе Auto Scaling. |
|
target_value число с плавающей запятой / обязательный |
Укажите целевую утилизацию в виде числа с плавающей запятой. Обязателен, если указан target_tracking_config. |
validate_certs логическое значение | Если задано значение Настоятельно не рекомендуется задавать validate_certs=false; вместо этого рассмотрите возможность указать aws_ca_bundle. Варианты:
|
Примечания
Примечание
- Внимание: Для модулей переменные окружения и файлы конфигурации считываются в контексте «узла» Ansible, а не в контексте «контроллера». Поэтому может потребоваться явно скопировать файлы на «узел». Для плагинов поиска и подключения переменные окружения и файлы конфигурации считываются в контексте «контроллера» Ansible, а не в контексте «узла».
- Используемый Ansible пакет AWS SDK (boto3) также может считывать значения по умолчанию для учетных данных и других параметров, например региона, из файлов конфигурации в контексте «узла» Ansible (обычно
~/.aws/credentials). Дополнительные сведения см. на странице https://boto3.amazonaws.com/v1/documentation/api/latest/guide/credentials.html.
Примеры
- name: Simple Scale Down policy
community.aws.autoscaling_policy:
state: present
region: US-XXX
name: "scaledown-policy"
adjustment_type: "ChangeInCapacity"
asg_name: "application-asg"
scaling_adjustment: -1
min_adjustment_step: 1
cooldown: 300
# For an alarm with a breach threshold of 20, the
# following creates a stepped policy:
# From 20-40 (0-20 above threshold), increase by 50% of existing capacity
# From 41-infinity, increase by 100% of existing capacity
- community.aws.autoscaling_policy:
state: present
region: US-XXX
name: "step-scale-up-policy"
policy_type: StepScaling
metric_aggregation: Maximum
step_adjustments:
- upper_bound: 20
scaling_adjustment: 50
- lower_bound: 20
scaling_adjustment: 100
adjustment_type: "PercentChangeInCapacity"
asg_name: "application-asg"
- name: create TargetTracking predefined policy
community.aws.autoscaling_policy:
name: "predefined-policy-1"
policy_type: TargetTrackingScaling
target_tracking_config:
predefined_metric_spec:
predefined_metric_type: ASGAverageCPUUtilization
target_value: 98.0
asg_name: "asg-test-1"
register: result
- name: create TargetTracking predefined policy with resource_label
community.aws.autoscaling_policy:
name: "predefined-policy-1"
policy_type: TargetTrackingScaling
target_tracking_config:
predefined_metric_spec:
predefined_metric_type: ALBRequestCountPerTarget
resource_label: app/my-alb/778d41231d141a0f/targetgroup/my-alb-target-group/942f017f100becff
target_value: 98.0
asg_name: "asg-test-1"
register: result
- name: create TargetTrackingScaling custom policy
community.aws.autoscaling_policy:
name: "custom-policy-1"
policy_type: TargetTrackingScaling
target_tracking_config:
customized_metric_spec:
metric_name: metric_1
namespace: namespace_1
statistic: Minimum
unit: Gigabits
dimensions: [{'Name': 'dimension1', 'Value': 'value1'}]
disable_scalein: true
target_value: 98.0
asg_name: asg-test-1
register: result
Возвращаемые значения
Общие возвращаемые значения описаны здесь, ниже перечислены поля, уникальные для этого модуля:
Ключ | Описание |
|---|---|
adjustment_type string | Тип корректировки политики масштабирования. Возвращается: всегда Пример: |
alarms complex | Связанные с политикой сигналы тревоги CloudWatch. Возвращается: всегда |
|
alarm_arn string |
ARN сигнала тревоги CloudWatch. Возвращается: всегда Пример: |
|
alarm_name string |
Имя сигнала тревоги CloudWatch. Возвращается: всегда Пример: |
arn string | ARN политики масштабирования. Поле предоставлено для обратной совместимости; его значение совпадает со значением policy_arn. Возвращается: всегда Пример: |
as_name string | Имя группы Auto Scaling. Поле предоставлено для обратной совместимости; его значение совпадает со значением auto_scaling_group_name. Возвращается: всегда Пример: |
auto_scaling_group_name string | Имя группы Auto Scaling. Возвращается: всегда Пример: |
metric_aggregation_type string | Способ агрегирования метрик. Возвращается: если policy_type имеет значение Пример: |
name string | Имя политики масштабирования. Поле предоставлено для обратной совместимости; его значение совпадает со значением policy_name. Возвращается: всегда Пример: |
policy_arn string | ARN политики масштабирования. Возвращается: всегда Пример: |
policy_name string | Имя политики масштабирования. Возвращается: всегда Пример: |
policy_type string | Тип политики автоматического масштабирования. Возвращается: всегда Пример: |
scaling_adjustment integer | Корректировка, выполняемая при срабатывании сигнала тревоги. Возвращается: если policy_type имеет значение Пример: |
step_adjustments complex | Список пошаговых корректировок. Возвращается: всегда |
|
metric_interval_lower_bound float |
Нижняя граница интервала метрики. Возвращается: если у шага задана нижняя граница Пример: |
|
metric_interval_upper_bound float |
Верхняя граница интервала метрики. Возвращается: если у шага задана верхняя граница Пример: |
|
scaling_adjustment integer |
Корректировка, выполняемая при достижении этого шага. Возвращается: всегда Пример: |
Ссылки на коллекцию
© 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/community/aws/autoscaling_policy_module.html