Spec-Zone.ru › Ansible

Модуль 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_ID или AWS_ACCESS_KEY в порядке убывания приоритета.

Параметры aws_access_key и profile взаимоисключающие.

Псевдоним aws_access_key_id добавлен в выпуске 5.1.0 для единообразия с SDK AWS botocore.

adjustment_type

строка

Тип изменения емкости группы Auto Scaling.

Обязателен, если state имеет значение present.

Варианты:

  • "ChangeInCapacity"
  • "ExactCapacity"
  • "PercentChangeInCapacity"

asg_name

строка

Имя связанной группы Auto Scaling.

Обязателен, если state имеет значение present.

aws_ca_bundle

путь

Путь к пакету CA, который используется для проверки SSL-сертификатов.

Также можно использовать переменную окружения AWS_CA_BUNDLE.

aws_config

словарь

Словарь для изменения конфигурации botocore.

Параметры описаны в документации AWS: https://botocore.amazonaws.com/v1/documentation/api/latest/reference/config.html#botocore.config.Config.

cooldown

целое число

Минимальный интервал времени (в секундах) между действиями масштабирования.

Используется только, если policy_type имеет значение SimpleScaling.

debug_botocore_endpoint_logs

логическое значение

Использовать регистратор botocore.endpoint для анализа уникальных (а не общего числа) вызовов API "resource:action", выполненных во время задачи, и выводить их набор в ключ resource_actions результатов задачи. Используйте обработчик обратного вызова aws_resource_action, чтобы вывести общий список вызовов, выполненных в ходе плейбука.

Также можно использовать переменную окружения ANSIBLE_DEBUG_BOTOCORE_LOGS.

Варианты:

  • false ← (по умолчанию)
  • true

endpoint_url

псевдонимы: aws_endpoint_url

строка

URL для подключения вместо конечных точек AWS по умолчанию. Его можно использовать для подключения к другим сервисам, совместимым с AWS, однако коллекции amazon.aws и community.aws тестируются только с AWS.

Также можно использовать переменную окружения AWS_URL.

estimated_instance_warmup

целое число

Ожидаемое время в секундах, через которое запущенный экземпляр сможет участвовать в формировании метрик CloudWatch.

metric_aggregation

строка

Тип агрегации метрик CloudWatch.

Используется только, если policy_type не имеет значения SimpleScaling.

Варианты:

  • "Minimum"
  • "Maximum"
  • "Average" ← (по умолчанию)

min_adjustment_step

целое число

Минимальная величина изменения при срабатывании политики.

Используется только, если adjustment_type имеет значение PercentChangeInCapacity.

name

строка / обязательный

Уникальное имя политики масштабирования.

policy_type

строка

Политика изменения масштаба Auto Scaling.

Варианты:

  • "StepScaling"
  • "SimpleScaling" ← (по умолчанию)
  • "TargetTrackingScaling"

profile

псевдонимы: aws_profile

строка

Именованный профиль AWS для аутентификации.

Дополнительные сведения об именованных профилях см. в документации AWS: https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-profiles.html.

Также можно использовать переменную окружения AWS_PROFILE.

Параметр profile несовместим с параметрами aws_access_key, aws_secret_key и session_token.

region

псевдонимы: aws_region

строка

Регион AWS, который следует использовать.

Для глобальных сервисов, таких как IAM, Route53 и CloudFront, параметр region игнорируется.

Также можно использовать переменную окружения AWS_REGION.

Дополнительные сведения см. в документации Amazon AWS: http://docs.aws.amazon.com/general/latest/gr/rande.html#ec2_region.

scaling_adjustment

целое число

Величина, на которую политика изменяет масштаб группы Auto Scaling.

Отрицательное число уменьшает масштаб группы ASG.

Единицы измерения: количество экземпляров для ExactCapacity или ChangeInCapacity либо процент от существующих экземпляров для PercentChangeInCapacity.

Обязателен, если policy_type имеет значение SimpleScaling.

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.

Также можно использовать переменные окружения AWS_SECRET_ACCESS_KEY или AWS_SECRET_KEY в порядке убывания приоритета.

Параметры 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.

Также можно использовать переменную окружения AWS_SESSION_TOKEN.

Параметры session_token и profile взаимоисключающие.

state

строка

Зарегистрировать или отменить регистрацию политики.

Варианты:

  • "present" ← (по умолчанию)
  • "absent"

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

словарь

Укажите словарь, который будет передан в вызов TargetTrackingConfiguration.

dimensions

список / элементы=словарь

Измерения метрики. Элемент списка должен быть словарем.

metric_name

строка / обязательный

Имя метрики.

namespace

строка / обязательный

Пространство имен метрики.

statistic

строка / обязательный

Статистика метрики.

Варианты:

  • "Average"
  • "Minimum"
  • "Maximum"
  • "SampleCount"
  • "Sum"

unit

строка

Единица измерения метрики. Допустимые единицы см. в справочнике API AmazonCloudWatch.

disable_scalein

логическое значение

Указывает, отключено ли уменьшение масштаба политикой отслеживания целевого значения.

Варианты:

  • false
  • true

predefined_metric_spec

словарь

Укажите словарь, который будет передан в вызов TargetTrackingConfiguration.

predefined_metric_type

строка / обязательный

Обязателен, если используется predefined_metric_spec.

Варианты:

  • "ASGAverageCPUUtilization"
  • "ASGAverageNetworkIn"
  • "ASGAverageNetworkOut"
  • "ALBRequestCountPerTarget"

resource_label

строка

Уникально идентифицирует целевую группу ALB, по которой определяется среднее количество запросов, обрабатываемых вашей группой Auto Scaling.

Метка ресурса указывается только в том случае, если целевая группа подключена к группе Auto Scaling.

target_value

число с плавающей запятой / обязательный

Укажите целевую утилизацию в виде числа с плавающей запятой.

Обязателен, если указан target_tracking_config.

validate_certs

логическое значение

Если задано значение false, SSL-сертификаты при взаимодействии с API AWS проверяться не будут.

Настоятельно не рекомендуется задавать validate_certs=false; вместо этого рассмотрите возможность указать aws_ca_bundle.

Варианты:

  • false
  • true ← (по умолчанию)

Примечания

Примечание

  • Внимание: Для модулей переменные окружения и файлы конфигурации считываются в контексте «узла» 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

Тип корректировки политики масштабирования.

Возвращается: всегда

Пример: "PercentChangeInCapacity"

alarms

complex

Связанные с политикой сигналы тревоги CloudWatch.

Возвращается: всегда

alarm_arn

string

ARN сигнала тревоги CloudWatch.

Возвращается: всегда

Пример: "arn:aws:cloudwatch:us-east-2:1234567890:alarm:cpu-very-high"

alarm_name

string

Имя сигнала тревоги CloudWatch.

Возвращается: всегда

Пример: "cpu-very-high"

arn

string

ARN политики масштабирования. Поле предоставлено для обратной совместимости; его значение совпадает со значением policy_arn.

Возвращается: всегда

Пример: "arn:aws:autoscaling:us-east-2:123456789012:scalingPolicy:59e37526-bd27-42cf-adca-5cd3d90bc3b9:autoScalingGroupName/app-asg:policyName/app-policy"

as_name

string

Имя группы Auto Scaling. Поле предоставлено для обратной совместимости; его значение совпадает со значением auto_scaling_group_name.

Возвращается: всегда

Пример: "app-asg"

auto_scaling_group_name

string

Имя группы Auto Scaling.

Возвращается: всегда

Пример: "app-asg"

metric_aggregation_type

string

Способ агрегирования метрик.

Возвращается: если policy_type имеет значение StepScaling

Пример: "Maximum"

name

string

Имя политики масштабирования. Поле предоставлено для обратной совместимости; его значение совпадает со значением policy_name.

Возвращается: всегда

Пример: "app-policy"

policy_arn

string

ARN политики масштабирования.

Возвращается: всегда

Пример: "arn:aws:autoscaling:us-east-2:123456789012:scalingPolicy:59e37526-bd27-42cf-adca-5cd3d90bc3b9:autoScalingGroupName/app-asg:policyName/app-policy"

policy_name

string

Имя политики масштабирования.

Возвращается: всегда

Пример: "app-policy"

policy_type

string

Тип политики автоматического масштабирования.

Возвращается: всегда

Пример: "StepScaling"

scaling_adjustment

integer

Корректировка, выполняемая при срабатывании сигнала тревоги.

Возвращается: если policy_type имеет значение SimpleScaling

Пример: 1

step_adjustments

complex

Список пошаговых корректировок.

Возвращается: всегда

metric_interval_lower_bound

float

Нижняя граница интервала метрики.

Возвращается: если у шага задана нижняя граница

Пример: 20.0

metric_interval_upper_bound

float

Верхняя граница интервала метрики.

Возвращается: если у шага задана верхняя граница

Пример: 40.0

scaling_adjustment

integer

Корректировка, выполняемая при достижении этого шага.

Возвращается: всегда

Пример: 50

Авторы

  • Zacharie Eakin (@zeekin)
  • Will Thames (@willthames)

Ссылки на коллекцию

  • Отслеживание проблем
  • Репозиторий (исходный код)
  • Связь

© 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

Spec-Zone.ru

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