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 bool (добавлено в 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 bool (добавлено в 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), если учетные данные не предоставлены. См. http://boto.readthedocs.org/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 Пример: Average, Minimum, Maximum | ||
| 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 | ||
Статус
Этот модуль помечен как превью, что означает, что он не гарантирует обратную совместимость интерфейса.
Техническое обслуживание
Этот модуль помечен как сообщество, что означает, что его поддерживает сообщество Ansible. Более подробную информацию см. в разделе Техническое обслуживание и поддержка модулей.
Список других модулей, также поддерживаемых сообществом Ansible, см. в разделе здесь.
Автор
- 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.6/modules/aws_application_scaling_policy_module.html