aws_application_scaling_policy – Управление политиками масштабирования Application Auto Scaling
Новая в версии 2.5.
Описание
- Создаёт, обновляет или удаляет политику масштабирования.
Требования
Ниже приведены требования к хосту, на котором выполняется этот модуль.
- boto
- boto3
- botocore
- json
- python >= 2.6
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии |
|---|---|---|
| aws_access_key - | Ключ доступа AWS. Если не задан, используется значение переменной среды AWS_ACCESS_KEY_ID, AWS_ACCESS_KEY или EC2_ACCESS_KEY. Псевдонимы: ec2_access_key, access_key | |
| aws_secret_key - | Секретный ключ AWS. Если не задан, используется значение переменной среды AWS_SECRET_ACCESS_KEY, AWS_SECRET_KEY или EC2_SECRET_KEY. Псевдонимы: ec2_secret_key, secret_key | |
| ec2_url - | URL для подключения к EC2 или вашему облаку Eucalyptus (по умолчанию модуль использует конечные точки EC2). Игнорируется для модулей, где регион обязателен. Должен быть указан для всех других модулей, если регион не используется. Если не указан, используется значение переменной среды EC2_URL, если она существует. | |
| maximum_tasks - добавлено в 2.6 | Максимальное значение масштабирования в ответ на событие масштабирования "вверх". Этот параметр требуется, если вы создаёте новую политику для указанной службы. | |
| minimum_tasks - добавлено в 2.6 | Минимальное значение масштабирования в ответ на событие масштабирования "вниз". Этот параметр требуется, если вы создаёте новую политику для указанной службы. | |
| override_task_capacity boolean добавлено в 2.6 |
| Предоставлять возможность перезаписи значений минимального и/или максимального количества задач, если они уже заданы. |
| policy_name - / обязательно | Имя политики масштабирования. | |
| policy_type - / обязательно |
| Тип политики. |
| profile - добавлено в 1.6 | Использует профиль boto. Работает только с boto >= 2.24.0. | |
| 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 - добавлено в 1.6 | Токен безопасности AWS STS. Если не задан, используется значение переменной среды AWS_SECURITY_TOKEN или EC2_SECURITY_TOKEN. Псевдонимы: access_token | |
| service_namespace - / обязательно |
| Пространство имён AWS-службы. |
| step_scaling_policy_configuration - | Политика масштабирования "шагами". Этот параметр требуется, если вы создаёте политику и тип политики - StepScaling. | |
| target_tracking_scaling_policy_configuration - | Политика масштабирования по целевому показателю. Этот параметр требуется, если вы создаёте новую политику и тип политики - TargetTrackingScaling. | |
| validate_certs boolean добавлено в 1.5 |
| Если установлено "нет", сертификаты 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_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 - 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
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
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
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 сложный | при наличии состояния | Список связанных с политикой масштабирования сигналов CloudWatch | ||
| alarm_arn строка | при наличии состояния | Amazon Resource Name (ARN) сигнала | ||
| alarm_name строка | при наличии состояния | Название сигнала | ||
| creation_time строка | при наличии состояния | Маркер Unix времени создания масштабируемой цели. Пример: 2017-09-28T08:22:51.881000-03:00 | ||
| max_capacity целое число | при наличии состояния | Максимальное значение для масштабирования в ответ на событие масштабирования. Требуется, если состояние — present. Пример: 2 | ||
| min_capacity целое число | при наличии состояния | Минимальное значение для масштабирования в ответ на событие уменьшения масштаба. Требуется, если состояние — present.Пример: 1 | ||
| policy_arn строка | при наличии состояния | Amazon Resource Name (ARN) политики масштабирования. | ||
| policy_name строка | при наличии состояния | Название политики масштабирования. | ||
| policy_type строка | при наличии состояния | Тип политики. | ||
| resource_id строка | при наличии состояния | Идентификатор ресурса, связанного с масштабируемой целью. Пример: service/cluster-name/service-name | ||
| role_arn строка | при наличии состояния | ARN роли IAM, которая позволяет Application Auto Scaling изменять масштабируемую цель от вашего имени. Требуется, если состояние — present. Пример: arn:aws:iam::123456789123:role/roleName | ||
| scalable_dimension строка | при наличии состояния | Масштабируемое измерение, связанное с масштабируемой целью. Пример: ecs:service:DesiredCount | ||
| service_namespace строка | при наличии состояния | Пространство имен AWS сервиса. Пример: ecs | ||
| step_scaling_policy_configuration сложный | при наличии состояния и типа политики StepScaling | Политика ступенчатого масштабирования. | ||
| adjustment_type строка | при наличии состояния и типа политики StepScaling | Тип изменения Пример: ChangeInCapacity, PercentChangeInCapacity, ExactCapacity | ||
| cooldown целое число | при наличии состояния и типа политики StepScaling | Время в секундах после завершения операции масштабирования, в течение которого предыдущие операции масштабирования, связанные со срабатыванием триггера, могут повлиять на будущие операции масштабирования. Пример: 60 | ||
| metric_aggregation_type строка | при наличии состояния и типа политики StepScaling | Тип агрегирования метрик CloudWatch Пример: Среднее, Минимальное, Максимальное | ||
| step_adjustments список сложных объектов | при наличии состояния и типа политики StepScaling | Набор настроек, которые позволяют масштабировать ресурсы в зависимости от степени нарушения сигнала | ||
| target_tracking_scaling_policy_configuration сложный | при наличии состояния и типа политики TargetTrackingScaling | Политика отслеживания целей. | ||
| predefined_metric_specification сложный | при наличии состояния и типа политики TargetTrackingScaling | Предварительно определенная метрика | ||
| predefined_metric_type строка | при наличии состояния и типа политики TargetTrackingScaling | Тип метрики Пример: ECSServiceAverageCPUUtilization, ECSServiceAverageMemoryUtilization | ||
| resource_label строка | при типе метрики ALBRequestCountPerTarget | Идентифицирует ресурс, связанный с типом метрики | ||
| scale_in_cooldown целое число | при наличии состояния и типа политики TargetTrackingScaling | Время в секундах после завершения операции уменьшения масштаба, перед тем как можно будет запустить следующую операцию уменьшения масштаба. Пример: 60 | ||
| scale_out_cooldown целое число | при наличии состояния и типа политики TargetTrackingScaling | Время в секундах после завершения операции увеличения масштаба, перед тем как можно будет запустить следующую операцию увеличения масштаба. Пример: 60 | ||
| target_value целое число | при наличии состояния и типа политики TargetTrackingScaling | Целевое значение для метрики Пример: 70 | ||
Статус
- Данный модуль не гарантирует обратной совместимости интерфейса. [preview]
- Данный модуль поддерживается сообществом Ansible. [community]
Авторы
- 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.7/modules/aws_application_scaling_policy_module.html