community.aws.ec2_scaling_policy – Создание или удаление политик масштабирования AWS для групп Autoscaling
Примечание
Этот плагин входит в состав коллекции community.aws (версия 1.3.0).
Для его установки используйте: ansible-galaxy collection install community.aws.
Для использования в книге задач укажите: community.aws.ec2_scaling_policy.
Новое в версии 1.0.0: коллекции community.aws
Обзор
- Может создавать или удалять политики масштабирования для групп autoscaling.
- Ссылающиеся на группы autoscaling должны уже существовать.
Требования
Ниже приведены требования, необходимые на хосте, на котором выполняется этот модуль.
- python >= 2.6
- boto
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии | |
|---|---|---|---|
| adjustment_type строка |
| Тип изменения емкости группы autoscaling. Требуется, если state равно present. | |
| asg_name строка | Имя связанной группы autoscaling. Требуется, если state равно present. | ||
| aws_access_key строка | Ключ доступа AWS. Если не задан, используется значение переменной окружения AWS_ACCESS_KEY_ID, AWS_ACCESS_KEY или EC2_ACCESS_KEY. Если задан параметр profile, этот параметр игнорируется. Одновременное указание параметров aws_access_key и profile устарело и после 2022-06-01 эти параметры будут взаимно исключающими. псевдонимы: ec2_access_key, access_key | ||
| aws_ca_bundle путь | Расположение пакета сертификатов CA для проверки SSL-сертификатов. Используется только для модулей, основанных на boto3. Примечание: пакет CA считывается со стороны модуля и может потребоваться его явное копирование с контроллера, если он не запускается локально. | ||
| aws_config словарь | Словарь для изменения конфигурации botocore. Параметры можно найти по адресу https://botocore.amazonaws.com/v1/documentation/api/latest/reference/config.html#botocore.config.Config. Для модулей boto используется только ключ 'user_agent'. См. http://boto.cloudhackers.com/en/latest/boto_config_tut.html#boto для получения дополнительной информации о конфигурации boto. | ||
| aws_secret_key строка | Секретный ключ AWS. Если не задан, используется значение переменной окружения AWS_SECRET_ACCESS_KEY, AWS_SECRET_KEY или EC2_SECRET_KEY. Если задан параметр profile, этот параметр игнорируется. Одновременное указание параметров aws_secret_key и profile устарело и после 2022-06-01 эти параметры будут взаимно исключающими. псевдонимы: ec2_secret_key, secret_key | ||
| cooldown целое число | Минимальный период времени (в секундах) между выполнением действий масштабирования. Используется только при policy_type равно SimpleScaling. | ||
| debug_botocore_endpoint_logs булево |
| Использовать логгер botocore.endpoint для анализа уникальных (а не общих) вызовов API «ресурс:действие» во время задачи, выводить набор в ключ resource_actions в результатах задачи. Используйте обратный вызов aws_resource_action для вывода полного списка, сделанного во время книги задач. Переменная среды ANSIBLE_DEBUG_BOTOCORE_LOGS также может быть использована. | |
| ec2_url строка | URL-адрес для подключения к EC2 или облаку Eucalyptus (по умолчанию модуль будет использовать конечные точки EC2). Игнорируется для модулей, где требуется регион. Должен быть указан для всех остальных модулей, если регион не используется. Если не указан, используется значение переменной среды EC2_URL, если таковое имеется. псевдонимы: aws_endpoint_url, endpoint_url | ||
| estimated_instance_warmup целое число | Приблизительное время (в секундах) до того, как недавно запущенная машина сможет внести вклад в метрики CloudWatch. | ||
| metric_aggregation строка |
| Тип агрегации для метрик CloudWatch. Используется только при policy_type не равно SimpleScaling. | |
| min_adjustment_step целое число | Минимальное количество корректировки при срабатывании политики. Используется только при adjustment_type равно PercentChangeInCapacity. | ||
| name строка / требуется | Уникальное имя для политики масштабирования. | ||
| policy_type строка |
| Политика автоматического масштабирования. | |
| profile строка | Использует профиль boto. Работает только с boto >= 2.24.0. Использование profile переопределит aws_access_key, aws_secret_key и security_token, а поддержка одновременного указания их вместе с profile устарела.
aws_access_key, aws_secret_key и security_token будут взаимно исключающими с profile после 2022-06-01. псевдонимы: aws_profile | ||
| region строка | AWS-регион для использования. Если не указан, используется значение переменной среды AWS_REGION или EC2_REGION, если таковая имеется. См. http://docs.aws.amazon.com/general/latest/gr/rande.html#ec2_region
псевдонимы: aws_region, ec2_region | ||
| scaling_adjustment целое число | Величина корректировки группы autoscaling политикой. Отрицательное число приводит к уменьшению ASG. Единицы — количество экземпляров для ExactCapacity или ChangeInCapacity или процент от существующих экземпляров для PercentChangeInCapacity.Требуется при policy_type равно SimpleScaling. | ||
| security_token строка | AWS STS-токен безопасности. Если не задан, используется значение переменной окружения AWS_SECURITY_TOKEN или EC2_SECURITY_TOKEN. Если задан параметр profile, этот параметр игнорируется. Одновременное указание параметров security_token и profile устарело и после 2022-06-01 эти параметры будут взаимно исключающими. псевдонимы: aws_security_token, access_token | ||
| 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. | ||
| validate_certs булево |
| При значении «нет» SSL-сертификаты не будут проверяться для версий boto >= 2.6.0. | |
Примечания
Примечание
- Если параметры не заданы в модуле, можно использовать следующие переменные среды в порядке убывания приоритета
AWS_URLилиEC2_URL,AWS_PROFILEилиAWS_DEFAULT_PROFILE,AWS_ACCESS_KEY_IDилиAWS_ACCESS_KEYилиEC2_ACCESS_KEY,AWS_SECRET_ACCESS_KEYилиAWS_SECRET_KEYилиEC2_SECRET_KEY,AWS_SECURITY_TOKENилиEC2_SECURITY_TOKEN,AWS_REGIONилиEC2_REGION,AWS_CA_BUNDLE - Ansible использует файл конфигурации boto (обычно ~/.boto), если учетные данные не предоставлены. См. https://boto.readthedocs.io/en/latest/boto_config_tut.html
-
AWS_REGIONилиEC2_REGIONобычно используются для указания региона AWS, когда это необходимо, но это также можно настроить в файле конфигурации boto
Примеры
- name: Simple Scale Down policy
community.aws.ec2_scaling_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.ec2_scaling_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"
Значения возврата
Общие значения возврата описаны здесь, следующие поля уникальны для этого модуля:
| Ключ | Возвращаемое значение | Описание | |
|---|---|---|---|
| adjustment_type строка | всегда | Тип корректировки политики масштабирования Пример: PercentChangeInCapacity | |
| alarms сложное | всегда | Связанные с политикой оповещения Cloudwatch | |
| alarm_arn строка | всегда | ARN оповещения Cloudwatch Пример: arn:aws:cloudwatch:us-east-2:1234567890:alarm:cpu-very-high | |
| alarm_name строка | всегда | Имя оповещения Cloudwatch Пример: cpu-very-high | |
| arn строка | всегда | ARN политики масштабирования. Приведен для обратной совместимости, значение такое же, как policy_arn
Пример: arn:aws:autoscaling:us-east-2:123456789012:scalingPolicy:59e37526-bd27-42cf-adca-5cd3d90bc3b9:autoScalingGroupName/app-asg:policyName/app-policy | |
| as_name строка | всегда | Имя группы автоматического масштабирования. Приведен для обратной совместимости, значение такое же, как auto_scaling_group_name
Пример: app-asg | |
| auto_scaling_group_name строка | всегда | Имя группы автоматического масштабирования Пример: app-asg | |
| metric_aggregation_type строка | при policy_type является StepScaling
| Метод агрегирования метрик Пример: Maximum | |
| name строка | всегда | Имя политики масштабирования. Приведен для обратной совместимости, значение такое же, как policy_name
Пример: app-policy | |
| policy_arn строка | всегда | ARN политики масштабирования. Пример: arn:aws:autoscaling:us-east-2:123456789012:scalingPolicy:59e37526-bd27-42cf-adca-5cd3d90bc3b9:autoScalingGroupName/app-asg:policyName/app-policy | |
| policy_name строка | всегда | Имя политики масштабирования Пример: app-policy | |
| policy_type строка | всегда | Тип политики автоматического масштабирования Пример: StepScaling | |
| scaling_adjustment целое число | при policy_type является SimpleScaling
| Корректировка, выполняемая при срабатывании оповещения Пример: 1 | |
| step_adjustments сложное | всегда | Список корректировок шагов | |
| metric_interval_lower_bound вещественное число | если шаг имеет нижнюю границу | Нижняя граница интервала метрики Пример: 20.0 | |
| metric_interval_upper_bound вещественное число | если шаг имеет верхнюю границу | Верхняя граница интервала метрики Пример: 40.0 | |
| scaling_adjustment целое число | всегда | Корректировка, выполняемая, если достигнут данный шаг Пример: 50 | |
Авторы
- Zacharie Eakin (@zeekin)
- Will Thames (@willthames)
© 2012–2018 Michael DeHaan
© 2018–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.10/collections/community/aws/ec2_scaling_policy_module.html