community.aws.aws_application_scaling_policy – Управление политиками масштабирования Application Auto Scaling
Примечание
Этот плагин является частью коллекции community.aws (версия 1.3.0).
Для его установки используйте: ansible-galaxy collection install community.aws.
Чтобы использовать его в playbook, укажите: 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 путь | Расположение файла с корневыми сертификатами для проверки SSL-сертификатов. Используется только для модулей, основанных на boto3. Примечание: Файл с корневыми сертификатами читается со стороны модуля и, возможно, потребует явного копирования с контроллера, если он не используется локально. | ||
| 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_actions результатов задачи. Используйте обратный вызов aws_resource_action для вывода полного списка, выполненного во время выполнения playbook. Переменная окружения ANSIBLE_DEBUG_BOTOCORE_LOGS также может быть использована. | |
| ec2_url строка | URL для подключения к EC2 или Eucalyptus облаку (по умолчанию модуль использует конечные точки 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/en/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/en/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 Пример: Average, Minimum, Maximum | ||
| 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–2021 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.11/collections/community/aws/aws_application_scaling_policy_module.html