community.aws.aws_application_scaling_policy – Управление политиками масштабирования Application Auto Scaling
Примечание
Этот плагин входит в коллекцию community.aws (версия 1.3.0).
Для его установки используйте: ansible-galaxy collection install community.aws.
Для использования в плейбуке укажите: community.aws.aws_application_scaling_policy.
Новое в версии 1.0.0: из community.aws
Обзор
- Создаёт, обновляет или удаляет политику масштабирования.
Требования
Ниже приведены требования, необходимые на хосте, выполняющем этот модуль.
- boto
- boto3
- botocore
- json
- python >= 2.6
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии | |
|---|---|---|---|
| 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 Bundle считывается со стороны модуля и может потребоваться явное копирование с контроллера, если выполнение не происходит локально. | ||
| aws_config словарь | Словарь для изменения настроек botocore. Параметры можно найти на https://botocore.amazonaws.com/v1/documentation/api/latest/reference/config.html#botocore.config.Config. Для модулей boto используется только ключ 'user_agent'. Подробнее о настройках boto см. http://boto.cloudhackers.com/en/latest/boto_config_tut.html#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 | ||
| debug_botocore_endpoint_logs булево |
| Используйте логгер botocore.endpoint для анализа уникальных (а не общих) API-вызовов "resource:action", совершенных во время задачи, выводя набор в ключ resource_actions результатов задачи. Используйте обратный вызов aws_resource_action для вывода в полный список, выполненный во время плейбука. Также может использоваться переменная окружения ANSIBLE_DEBUG_BOTOCORE_LOGS. | |
| ec2_url строка | URL для подключения к EC2 или Eucalyptus cloud (по умолчанию модуль использует конечные точки EC2). Игнорируется для модулей, где требуется регион. Должен быть указан для всех других модулей, если регион не используется. Если не задан, используется значение переменной окружения EC2_URL, если она задана. псевдонимы: aws_endpoint_url, endpoint_url | ||
| maximum_tasks целое число | Максимальное значение для масштабирования в ответ на событие масштабирования. Этот параметр требуется, если вы создаёте первую новую политику для указанной службы. | ||
| minimum_tasks целое число | Минимальное значение для масштабирования в ответ на событие сокращения масштаба. Этот параметр требуется, если вы создаёте первую новую политику для указанной службы. | ||
| override_task_capacity булево |
| Определяет, переопределять ли значения минимального и/или максимального количества задач, если они уже установлены. По умолчанию false. | |
| policy_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 | ||
| resource_id строка / обязательно | Идентификатор ресурса, связанного с масштабируемой целью. | ||
| scalable_dimension строка / обязательно |
| Изменяемая размерность, связанная с масштабируемой целью. | |
| security_token строка | Токен безопасности AWS STS. Если не задан, используется значение переменной окружения AWS_SECURITY_TOKEN или EC2_SECURITY_TOKEN. Если задан параметр profile, этот параметр игнорируется. Одновременное указание параметров security_token и profile устарело и будет сделано взаимоисключающими после 2022-06-01. псевдонимы: aws_security_token, access_token | ||
| service_namespace строка / обязательно |
| Пространство имен AWS-сервиса. | |
| state строка / обязательно |
| Определяет, должна ли политика быть present или absent. | |
| step_scaling_policy_configuration словарь | Политика пошагового масштабирования. Этот параметр требуется, если вы создаёте политику и policy_type=StepScaling. | ||
| target_tracking_scaling_policy_configuration словарь | Политика отслеживания целевого значения. Этот параметр требуется, если вы создаёте новую политику и policy_type=TargetTrackingScaling. Полное описание подпараметров можно найти в документации API: | ||
| CustomizedMetricSpecification словарь | Метрика, используемая при использовании настраиваемой метрики. | ||
| DisableScaleIn булево |
| Отключает масштабирование "вниз". | |
| PredefinedMetricSpecification словарь | Метрика, используемая при использовании предопределённой метрики. | ||
| ScaleInCooldown целое число | Время (в секундах) ожидания после масштабирования "вниз" до следующего действия масштабирования. | ||
| ScaleOutCooldown целое число | Время (в секундах) ожидания после масштабирования "вверх" до следующего действия масштабирования. | ||
| TargetValue вещественное число | Целевое значение метрики. | ||
| validate_certs булево |
| При значении "нет", SSL-сертификаты не будут проверятся для версий boto >= 2.6.0. | |
Примечания
Примечание
- Подробные сведения о параметрах и возвращаемых значениях см. в http://boto3.readthedocs.io/ru/latest/reference/services/application-autoscaling.html#ApplicationAutoScaling.Client.put_scaling_policy
- Если параметры не установлены в модуле, следующие переменные среды могут использоваться в порядке убывания приоритета
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/ru/latest/boto_config_tut.html
-
AWS_REGIONилиEC2_REGIONобычно используются для указания региона AWS, если это необходимо, но это также можно настроить в файле конфигурации boto
Примеры
# Note: These examples do not set authentication details, see the AWS Guide for details.
# Create step scaling policy for ECS Service
- name: scaling_policy
community.aws.aws_application_scaling_policy:
state: present
policy_name: test_policy
service_namespace: ecs
resource_id: service/poc-pricing/test-as
scalable_dimension: ecs:service:DesiredCount
policy_type: StepScaling
minimum_tasks: 1
maximum_tasks: 6
step_scaling_policy_configuration:
AdjustmentType: ChangeInCapacity
StepAdjustments:
- MetricIntervalUpperBound: 123
ScalingAdjustment: 2
- MetricIntervalLowerBound: 123
ScalingAdjustment: -2
Cooldown: 123
MetricAggregationType: Average
# Create target tracking scaling policy for ECS Service
- name: scaling_policy
community.aws.aws_application_scaling_policy:
state: present
policy_name: test_policy
service_namespace: ecs
resource_id: service/poc-pricing/test-as
scalable_dimension: ecs:service:DesiredCount
policy_type: TargetTrackingScaling
minimum_tasks: 1
maximum_tasks: 6
target_tracking_scaling_policy_configuration:
TargetValue: 60
PredefinedMetricSpecification:
PredefinedMetricType: ECSServiceAverageCPUUtilization
ScaleOutCooldown: 60
ScaleInCooldown: 60
# Remove scalable target for ECS Service
- name: scaling_policy
community.aws.aws_application_scaling_policy:
state: absent
policy_name: test_policy
policy_type: StepScaling
service_namespace: ecs
resource_id: service/cluster-name/service-name
scalable_dimension: ecs:service:DesiredCount
Возвращаемые значения
Общие возвращаемые значения описаны здесь, следующие поля уникальны для данного модуля:
| Ключ | Возвращаемое | Описание | ||
|---|---|---|---|---|
| alarms сложный | при состоянии present | Список CloudWatch-сигнализаций, связанных с политикой масштабирования | ||
| alarm_arn строка | при состоянии present | Amazon Resource Name (ARN) сигнализации | ||
| alarm_name строка | при состоянии present | Имя сигнализации | ||
| creation_time строка | при состоянии present | Отметка времени Unix, когда масштабируемая цель была создана. Пример: 2017-09-28T08:22:51.881000-03:00 | ||
| max_capacity целое число | при состоянии present | Максимальное значение масштабирования в ответ на событие масштабирования. Требуется, если состояние равно present. Пример: 2 | ||
| min_capacity целое число | при состоянии present | Минимальное значение масштабирования в ответ на событие уменьшения масштаба. Требуется, если состояние равно present. Пример: 1 | ||
| policy_arn строка | при состоянии present | Amazon Resource Name (ARN) политики масштабирования. | ||
| policy_name строка | при состоянии present | Имя политики масштабирования. | ||
| policy_type строка | при состоянии present | Тип политики. | ||
| resource_id строка | при состоянии present | Идентификатор ресурса, связанного с масштабируемой целью. Пример: service/cluster-name/service-name | ||
| role_arn строка | при состоянии present | ARN роли IAM, которая позволяет Application Auto Scaling изменять масштабируемую цель от вашего имени. Требуется, если состояние равно present. Пример: arn:aws:iam::123456789123:role/roleName | ||
| scalable_dimension строка | при состоянии present | Масштабируемая размерность, связанная с масштабируемой целью. Пример: ecs:service:DesiredCount | ||
| service_namespace строка | при состоянии present | Пространство имен AWS-службы. Пример: ecs | ||
| step_scaling_policy_configuration сложный | при состоянии present и типе политики StepScaling | Политика пошагового масштабирования. | ||
| adjustment_type строка | при состоянии present и типе политики StepScaling | Тип корректировки Пример: ChangeInCapacity, PercentChangeInCapacity, ExactCapacity | ||
| cooldown целое число | при состоянии present и типе политики StepScaling | Время в секундах после завершения действия масштабирования, в течение которого предыдущие действия масштабирования, связанные с триггером, могут влиять на будущие действия масштабирования. Пример: 60 | ||
| metric_aggregation_type строка | при состоянии present и типе политики StepScaling | Тип агрегирования метрик CloudWatch Пример: Среднее значение, Минимальное значение, Максимальное значение | ||
| step_adjustments список / элементы=словарь | при состоянии present и типе политики StepScaling | Набор корректировок, которые позволяют масштабировать в зависимости от размера нарушения сигнализации | ||
| target_tracking_scaling_policy_configuration сложный | при состоянии present и типе политики TargetTrackingScaling | Политика отслеживания цели. | ||
| predefined_metric_specification сложный | при состоянии present и типе политики TargetTrackingScaling | Предварительно заданная метрика | ||
| predefined_metric_type строка | при состоянии present и типе политики TargetTrackingScaling | Тип метрики Пример: ECSServiceAverageCPUUtilization, ECSServiceAverageMemoryUtilization | ||
| resource_label строка | при типе метрики ALBRequestCountPerTarget | Идентифицирует ресурс, связанный с типом метрики | ||
| scale_in_cooldown целое число | при состоянии present и типе политики TargetTrackingScaling | Время в секундах после завершения действия уменьшения масштаба, прежде чем может начаться другое действие уменьшения масштаба. Пример: 60 | ||
| scale_out_cooldown целое число | при состоянии present и типе политики TargetTrackingScaling | Время в секундах после завершения действия увеличения масштаба, прежде чем может начаться другое действие увеличения масштаба. Пример: 60 | ||
| target_value целое число | при состоянии present и типе политики TargetTrackingScaling | Целевое значение метрики Пример: 70 | ||
Авторы
- Gustavo Maia (@gurumaia)
- Chen Leibovich (@chenl87)
© 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/aws_application_scaling_policy_module.html