community.aws.ec2_scaling_policy – Создание или удаление правил масштабирования AWS для групп автоматического масштабирования
Примечание
Этот плагин является частью коллекции community.aws (версия 1.3.0).
Для его установки используйте: ansible-galaxy collection install community.aws.
Для использования в playbook, укажите: community.aws.ec2_scaling_policy.
Новое в версии 1.0.0: of community.aws
Описание
- Может создавать или удалять правила масштабирования для групп автоматического масштабирования.
- Ссылки на группы автоматического масштабирования должны уже существовать.
Требования
Ниже перечислены требования к хосту, на котором будет выполняться данный модуль.
- python >= 2.6
- boto
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии | |
|---|---|---|---|
| adjustment_type строка |
| Тип изменения емкости группы автоматического масштабирования. Требуется, если state равно present. | |
| asg_name строка | Имя связанной группы автоматического масштабирования. Требуется, если 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 логический |
| Использовать logger botocore.endpoint для анализа уникальных (а не общих) API-вызовов «ресурс:действие», произведенных во время задачи, выводя набор в ключ resource_actions результатов задачи. Используйте callback aws_resource_action для вывода полного списка, созданного во время выполнения playbook. Переменная среды 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 целое число | Количество, на которое группа автоматического масштабирования изменяется политикой. Отрицательное число приводит к уменьшению группы. Единицы - число экземпляров для 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. Приводится для обратной совместимости, значение такое же, как auto_scaling_group_name
Пример: app-asg | |
| auto_scaling_group_name строка | всегда | Имя группы Auto Scaling Пример: 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–2021 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.11/collections/community/aws/ec2_scaling_policy_module.html