Spec-Zone.ru › AWS CLI v2

[ aws . application-autoscaling ]

put-scaling-policy

Описание

Создаёт или обновляет политику масштабирования для масштабируемого целевого объекта Application Auto Scaling.

Каждый масштабируемый целевой объект определяется пространством имён службы, идентификатором ресурса и измеримым параметром масштабирования. Политика масштабирования применяется к масштабируемому целевому объекту, определяемому этими тремя атрибутами. Вы не можете создать политику масштабирования, пока не зарегистрируете ресурс в качестве масштабируемого целевого объекта.

Для одного и того же масштабируемого целевого объекта может быть активна несколько политик масштабирования одновременно. Вы можете иметь одну или несколько политик масштабирования с отслеживанием целевых значений, одну или несколько политик масштабирования шагами или оба типа. Однако существует вероятность, что несколько политик могут конфликтовать, указывая масштабируемому целевому объекту одновременно масштабироваться в сторону увеличения или уменьшения. Application Auto Scaling отдаёт предпочтение политике, которая обеспечивает наибольшую ёмкость для масштабирования как в сторону увеличения, так и в сторону уменьшения. Например, если одна политика увеличивает ёмкость на 3, другая политика увеличивает ёмкость на 200 процентов, а текущая ёмкость составляет 10, Application Auto Scaling использует политику с наивысшей вычисленной ёмкостью (200% от 10 = 20) и масштабирует её до 30.

Однако мы рекомендуем проявлять осторожность при использовании политик масштабирования с отслеживанием целевых значений совместно с политиками масштабирования шагами, поскольку конфликты между этими политиками могут привести к нежелательному поведению. Например, если политика масштабирования шагами инициирует процесс уменьшения масштаба до того, как политика масштабирования с отслеживанием целевых значений готова к такому уменьшению масштаба, процесс уменьшения масштаба не будет заблокирован. После завершения уменьшения масштаба политика масштабирования с отслеживанием целевых значений может снова указать масштабируемому целевому объекту масштабироваться в сторону увеличения.

Дополнительную информацию см. в руководстве пользователя Application Auto Scaling в разделах Политики масштабирования с отслеживанием целевых значений, Политики масштабирования шагами и Прогнозирующие политики масштабирования.

Примечание

Если масштабируемый целевой объект дерегистрирован, он больше не доступен для использования политик масштабирования. Любые политики масштабирования, которые были указаны для масштабируемого целевого объекта, удаляются.

См. также: Документацию API AWS

Синтаксис

  put-scaling-policy
--policy-name <value>
--service-namespace <value>
--resource-id <value>
--scalable-dimension <value>
[--policy-type <value>]
[--step-scaling-policy-configuration <value>]
[--target-tracking-scaling-policy-configuration <value>]
[--predictive-scaling-policy-configuration <value>]
[--cli-input-json | --cli-input-yaml]
[--generate-cli-skeleton <value>]
[--debug]
[--endpoint-url <value>]
[--no-verify-ssl]
[--no-paginate]
[--output <value>]
[--query <value>]
[--profile <value>]
[--region <value>]
[--version <value>]
[--color <value>]
[--no-sign-request]
[--ca-bundle <value>]
[--cli-read-timeout <value>]
[--cli-connect-timeout <value>]
[--cli-binary-format <value>]
[--no-cli-pager]
[--cli-auto-prompt]
[--no-cli-auto-prompt]

Параметры

--policy-name (строка)

Имя политики масштабирования.

Вы не можете изменить имя политики масштабирования, но можете удалить исходную политику масштабирования и создать новую политику масштабирования с теми же параметрами и другим именем.

--service-namespace (строка)

Пространство имён Amazon Web Services службы, предоставляющей ресурс. Для ресурса, предоставленного вашим собственным приложением или службой, используйте custom-resource вместо.

Возможные значения:

  • ecs
  • elasticmapreduce
  • ec2
  • appstream
  • dynamodb
  • rds
  • sagemaker
  • custom-resource
  • comprehend
  • lambda
  • cassandra
  • kafka
  • elasticache
  • neptune
  • workspaces

--resource-id (строка)

Идентификатор ресурса, связанного с политикой масштабирования. Эта строка состоит из типа ресурса и уникального идентификатора.

  • Служба ECS — тип ресурса — service, а уникальный идентификатор — имя кластера и имя службы. Пример: service/my-cluster/my-service.
  • Spot Fleet — тип ресурса — spot-fleet-request, а уникальный идентификатор — идентификатор запроса Spot Fleet. Пример: spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE.
  • Кластер EMR — тип ресурса — instancegroup, а уникальный идентификатор — идентификатор кластера и идентификатор группы экземпляров. Пример: instancegroup/j-2EEZNYKUA1NTV/ig-1791Y4E1L8YI0.
  • Флот AppStream 2.0 — тип ресурса — fleet, а уникальный идентификатор — имя флота. Пример: fleet/sample-fleet.
  • Таблица DynamoDB — тип ресурса — table, а уникальный идентификатор — имя таблицы. Пример: table/my-table.
  • Глобальный вторичный индекс DynamoDB — тип ресурса — index, а уникальный идентификатор — имя индекса. Пример: table/my-table/index/my-table-index.
  • Кластер Aurora DB — тип ресурса — cluster, а уникальный идентификатор — имя кластера. Пример: cluster:my-db-cluster.
  • Вариант экземпляра конечной точки SageMaker — тип ресурса — variant, а уникальный идентификатор — идентификатор ресурса. Пример: endpoint/my-end-point/variant/KMeansClustering.
  • С пользовательскими ресурсами тип ресурса не поддерживается. Этот параметр должен указывать OutputValue из стека шаблона CloudFormation, используемого для доступа к ресурсам. Уникальный идентификатор определяется поставщиком службы. Дополнительная информация доступна в нашем репозитории GitHub.
  • Конечная точка классификации документов Amazon Comprehend — тип ресурса и уникальный идентификатор указываются с использованием ARN конечной точки. Пример: arn:aws:comprehend:us-west-2:123456789012:document-classifier-endpoint/EXAMPLE.
  • Конечная точка распознавания сущностей Amazon Comprehend — тип ресурса и уникальный идентификатор указываются с использованием ARN конечной точки. Пример: arn:aws:comprehend:us-west-2:123456789012:entity-recognizer-endpoint/EXAMPLE.
  • Предоставленная параллельность Lambda — тип ресурса — function, а уникальный идентификатор — имя функции с суффиксом версии функции или псевдонима, который не является $LATEST. Пример: function:my-function:prod или function:my-function:1.
  • Таблица Amazon Keyspaces — тип ресурса — table, а уникальный идентификатор — имя таблицы. Пример: keyspace/mykeyspace/table/mytable.
  • Кластер Amazon MSK — тип ресурса и уникальный идентификатор указываются с использованием ARN кластера. Пример: arn:aws:kafka:us-east-1:123456789012:cluster/demo-cluster-1/6357e0b2-0e6a-4b86-a0b4-70df934c2e31-5.
  • Группа репликации Amazon ElastiCache — тип ресурса — replication-group, а уникальный идентификатор — имя группы репликации. Пример: replication-group/mycluster.
  • Кластер кеша Amazon ElastiCache — тип ресурса — cache-cluster, а уникальный идентификатор — имя кластера кеша. Пример: cache-cluster/mycluster.
  • Кластер Neptune — тип ресурса — cluster, а уникальный идентификатор — имя кластера. Пример: cluster:mycluster.
  • Сервисная конечная точка SageMaker — тип ресурса — variant, а уникальный идентификатор — идентификатор ресурса. Пример: endpoint/my-end-point/variant/KMeansClustering.
  • Компонент вывода SageMaker — тип ресурса — inference-component, а уникальный идентификатор — идентификатор ресурса. Пример: inference-component/my-inference-component.
  • Пул WorkSpaces — тип ресурса — workspacespool, а уникальный идентификатор — идентификатор пула. Пример: workspacespool/wspool-123456.

--scalable-dimension (строка)

Измеримый параметр масштабирования. Эта строка состоит из пространства имён службы, типа ресурса и свойства масштабирования.

  • ecs:service:DesiredCount — количество задач службы ECS.
  • elasticmapreduce:instancegroup:InstanceCount — количество экземпляров группы экземпляров EMR.
  • ec2:spot-fleet-request:TargetCapacity — целевая ёмкость Spot Fleet.
  • appstream:fleet:DesiredCapacity — ёмкость флота AppStream 2.0.
  • dynamodb:table:ReadCapacityUnits — предоставленная ёмкость чтения для таблицы DynamoDB.
  • dynamodb:table:WriteCapacityUnits — предоставленная ёмкость записи для таблицы DynamoDB.
  • dynamodb:index:ReadCapacityUnits — предоставленная ёмкость чтения для глобального вторичного индекса DynamoDB.
  • dynamodb:index:WriteCapacityUnits — предоставленная ёмкость записи для глобального вторичного индекса DynamoDB.
  • rds:cluster:ReadReplicaCount — количество Aurora Replicas в кластере Aurora DB. Доступно для версии Aurora MySQL и версии Aurora PostgreSQL.
  • sagemaker:variant:DesiredInstanceCount — количество экземпляров EC2 для варианта конечной точки модели SageMaker.
  • custom-resource:ResourceType:Property — измеримый параметр масштабирования для пользовательского ресурса, предоставляемого вашим собственным приложением или службой.
  • comprehend:document-classifier-endpoint:DesiredInferenceUnits — количество единиц вывода для конечной точки классификации документов Amazon Comprehend.
  • comprehend:entity-recognizer-endpoint:DesiredInferenceUnits — количество единиц вывода для конечной точки распознавания сущностей Amazon Comprehend.
  • lambda:function:ProvisionedConcurrency — предоставленная параллельность функции Lambda.
  • cassandra:table:ReadCapacityUnits — предоставленная ёмкость чтения для таблицы Amazon Keyspaces.
  • cassandra:table:WriteCapacityUnits — предоставленная ёмкость записи для таблицы Amazon Keyspaces.
  • kafka:broker-storage:VolumeSize — размер предоставленного объёма (в Гбайт) для брокеров в кластере Amazon MSK.
  • elasticache:cache-cluster:Nodes — количество узлов для кластера кеша Amazon ElastiCache.
  • elasticache:replication-group:NodeGroups — количество групп узлов для группы репликации Amazon ElastiCache.
  • elasticache:replication-group:Replicas — количество реплик на группу узлов для группы репликации Amazon ElastiCache.
  • neptune:cluster:ReadReplicaCount — количество реплик чтения в кластере Amazon Neptune.
  • sagemaker:variant:DesiredProvisionedConcurrency — предоставленная параллельность для безсерверной конечной точки SageMaker.
  • sagemaker:inference-component:DesiredCopyCount — количество копий по всей конечной точке для компонента вывода SageMaker.
  • workspaces:workspacespool:DesiredUserSessions — количество пользовательских сеансов для WorkSpaces в пуле.

Возможные значения:

  • ecs:service:DesiredCount
  • ec2:spot-fleet-request:TargetCapacity
  • elasticmapreduce:instancegroup:InstanceCount
  • appstream:fleet:DesiredCapacity
  • dynamodb:table:ReadCapacityUnits
  • dynamodb:table:WriteCapacityUnits
  • dynamodb:index:ReadCapacityUnits
  • dynamodb:index:WriteCapacityUnits
  • rds:cluster:ReadReplicaCount
  • sagemaker:variant:DesiredInstanceCount
  • custom-resource:ResourceType:Property
  • comprehend:document-classifier-endpoint:DesiredInferenceUnits
  • comprehend:entity-recognizer-endpoint:DesiredInferenceUnits
  • lambda:function:ProvisionedConcurrency
  • cassandra:table:ReadCapacityUnits
  • cassandra:table:WriteCapacityUnits
  • kafka:broker-storage:VolumeSize
  • elasticache:cache-cluster:Nodes
  • elasticache:replication-group:NodeGroups
  • elasticache:replication-group:Replicas
  • neptune:cluster:ReadReplicaCount
  • sagemaker:variant:DesiredProvisionedConcurrency
  • sagemaker:inference-component:DesiredCopyCount
  • workspaces:workspacespool:DesiredUserSessions

--policy-type (строка)

Тип политики масштабирования. Этот параметр обязателен при создании политики масштабирования.

Поддерживаются следующие типы политики:

TargetTrackingScaling — не поддерживается для Amazon EMR.

StepScaling — не поддерживается для DynamoDB, Amazon Comprehend, Lambda, Amazon Keyspaces, Amazon MSK, Amazon ElastiCache или Neptune.

PredictiveScaling — поддерживается только для Amazon ECS.

Дополнительную информацию см. в руководстве пользователя Application Auto Scaling в разделах Политики масштабирования с отслеживанием целевых значений, Политики масштабирования шагами и Прогнозирующие политики масштабирования.

Возможные значения:

  • StepScaling
  • TargetTrackingScaling
  • PredictiveScaling

--step-scaling-policy-configuration (структура)

Политика масштабирования шагами.

Этот параметр требуется, если вы создаёте политику, и тип политики равен StepScaling .

AdjustmentType -> (строка)

Указывает, как интерпретируется значение ScalingAdjustment в StepAdjustment (например, как абсолютное число или процент). Допустимые значения — ChangeInCapacity , ExactCapacity и PercentChangeInCapacity .

AdjustmentType требуется, если вы добавляете новую конфигурацию политики масштабирования шагами.

StepAdjustments -> (список)

Набор настроек, позволяющий масштабировать ресурсы на основе величины нарушения сигнализации.

При добавлении новой конфигурации политики масштабирования шагами требуется хотя бы одна настройка шага.

(структура)

Представляет настройку шага для StepScalingPolicyConfiguration. Описывает настройку, основанную на разнице между значением агрегированного метрического показателя CloudWatch и порогом нарушения, определённым для сигнализации.

В следующих примерах предположим, что у вас есть сигнализация с порогом нарушения 50:

  • Чтобы инициировать настройку, когда метрика больше или равна 50 и меньше 60, укажите нижнюю границу 0 и верхнюю границу 10 .
  • Чтобы инициировать настройку, когда метрика больше 40 и меньше или равна 50, укажите нижнюю границу -10 и верхнюю границу 0 .

Есть несколько правил для настроек шагов вашей политики:

  • Диапазоны ваших настроек шагов не должны перекрываться или иметь разрывы.
  • Максимум одна настройка шага может иметь нулевую нижнюю границу. Если одна настройка шага имеет отрицательную нижнюю границу, то должна быть настройка шага с нулевой нижней границей.
  • Максимум одна настройка шага может иметь нулевую верхнюю границу. Если одна настройка шага имеет положительную верхнюю границу, то должна быть настройка шага с нулевой верхней границей.
  • Верхняя и нижняя границы не могут быть одновременно нулевыми в одной настройке шага.

MetricIntervalLowerBound -> (двойное значение)

Нижняя граница разницы между порогом сигнализации и метрическим показателем CloudWatch. Если значение метрики выше порога нарушения, нижняя граница включительно (метрика должна быть больше или равна порогу плюс нижней границе). В противном случае — исключающая (метрика должна быть больше порога плюс нижней границе). Нулевое значение означает минус бесконечность.

MetricIntervalUpperBound -> (двойное значение)

Верхняя граница разницы между порогом сигнализации и метрическим показателем CloudWatch. Если значение метрики выше порога нарушения, верхняя граница исключающая (метрика должна быть меньше порога плюс верхней границе). В противном случае — включительно (метрика должна быть меньше или равна порогу плюс верхней границе). Нулевое значение означает плюс бесконечность.

Верхняя граница должна быть больше нижней.

ScalingAdjustment -> (целое число)

Величина масштабирования, основанная на указанном типе настройки. Положительное значение добавляет к текущей ёмкости, а отрицательное — уменьшает текущую ёмкость. Для точной ёмкости необходимо указать неотрицательное значение.

MinAdjustmentMagnitude -> (целое число)

Минимальное значение для масштабирования, когда тип настройки равен PercentChangeInCapacity . Например, предположим, что вы создаёте политику масштабирования шагами, чтобы масштабировать Amazon ECS-сервис на 25 процентов, и вы указываете MinAdjustmentMagnitude 2. Если у сервиса 4 задачи и выполняется политика масштабирования, 25 процентов от 4 — 1. Однако, поскольку вы указали MinAdjustmentMagnitude 2, Application Auto Scaling масштабирует сервис на 2 задачи.

Cooldown -> (целое число)

Время в секундах, которое необходимо подождать, чтобы предыдущая операция масштабирования вступила в силу. Если не указано, используется значение по умолчанию — 300. Дополнительную информацию см. в разделе «Период охлаждения» в руководстве пользователя Application Auto Scaling.

MetricAggregationType -> (строка)

Тип агрегации метрик CloudWatch. Допустимые значения — Minimum , Maximum и Average . Если тип агрегации равен null, значение обрабатывается как Average .

Сокращенная синтаксическая запись:

AdjustmentType=string,StepAdjustments=[{MetricIntervalLowerBound=double,MetricIntervalUpperBound=double,ScalingAdjustment=integer},{MetricIntervalLowerBound=double,MetricIntervalUpperBound=double,ScalingAdjustment=integer}],MinAdjustmentMagnitude=integer,Cooldown=integer,MetricAggregationType=string

Синтаксис JSON:

{
  "AdjustmentType": "ChangeInCapacity"|"PercentChangeInCapacity"|"ExactCapacity",
  "StepAdjustments": [
    {
      "MetricIntervalLowerBound": double,
      "MetricIntervalUpperBound": double,
      "ScalingAdjustment": integer
    }
    ...
  ],
  "MinAdjustmentMagnitude": integer,
  "Cooldown": integer,
  "MetricAggregationType": "Average"|"Minimum"|"Maximum"
}

--target-tracking-scaling-policy-configuration (структура)

Политика масштабирования с отслеживанием целевого значения. Поддерживает предварительно определенные или настраиваемые метрики.

Этот параметр необходим при создании политики, если тип политики — TargetTrackingScaling.

TargetValue -> (double)

Целевое значение метрики. Хотя этот параметр принимает числа типа Double, он не примет значения, которые слишком малы или слишком велики. Значения должны быть в диапазоне от -2^360 до 2^360. Значение должно быть действительным числом, соответствующим выбранной метрике. Например, если метрика — использование процессора, целевое значение — процентное значение, представляющее ту часть процессора, которую можно использовать перед масштабированием.

Примечание

Если политика масштабирования определяет предварительно заданную метрику ALBRequestCountPerTarget, укажите целевое использование как оптимальное среднее количество обращений к целевому объекту за любой интервал в одну минуту.

PredefinedMetricSpecification -> (структура)

Предварительно определенная метрика. Можно указать либо предварительно определенную, либо настраиваемую метрику.

PredefinedMetricType -> (строка)

Тип метрики. Тип метрики ALBRequestCountPerTarget применяется только к Spot Fleet и службам ECS.

ResourceLabel -> (строка)

Идентифицирует ресурс, связанный с типом метрики. Вы не можете указать метку ресурса, если тип метрики не ALBRequestCountPerTarget и нет группы целевых объектов, присоединённой к Spot Fleet или службе ECS.

Вы создаёте метку ресурса, объединив конечную часть ARN балансировщика нагрузки и конечную часть ARN группы целевых объектов в одно значение, разделённое слешем (/). Формат метки ресурса:

app/my-alb/778d41231b141a0f/targetgroup/my-alb-target-group/943f017f100becff.

Где:

  • app/<load-balancer-name>/<load-balancer-id> — конечная часть ARN балансировщика нагрузки
  • targetgroup/<target-group-name>/<target-group-id> — конечная часть ARN группы целевых объектов.

Для поиска ARN балансировщика приложений используйте операцию API DescribeLoadBalancers. Для поиска ARN группы целевых объектов используйте операцию API DescribeTargetGroups.

CustomizedMetricSpecification -> (структура)

Настраиваемая метрика. Можно указать либо предварительно определенную, либо настраиваемую метрику.

MetricName -> (строка)

Имя метрики. Для получения точного имени метрики, пространства имён и измерений, просмотрите объект Metric, возвращённый вызовом ListMetrics.

Namespace -> (строка)

Пространство имён метрики.

Dimensions -> (список)

Измерения метрики.

Условие: если вы опубликовали метрику с измерениями, вы должны указать те же измерения в своей политике масштабирования.

(структура)

Описывает имена и значения измерений, связанные с метрикой.

Name -> (строка)

Имя измерения.

Value -> (строка)

Значение измерения.

Statistic -> (строка)

Статистика метрики.

Unit -> (строка)

Единица измерения метрики. Полный список единиц измерения, поддерживаемых CloudWatch, см. в типе данных MetricDatum в Справочном руководстве по API Amazon CloudWatch.

Metrics -> (список)

Метрики, которые следует включить в политику масштабирования с отслеживанием целевого значения, в качестве запроса данных по метрике. Это может включать как исходные метрики, так и выражения математических вычислений над метриками.

(структура)

Данные метрики, подлежащие возврату. Также определяет, возвращает ли этот вызов данные только для одной метрики или выполняет ли он математическое выражение над значениями возвращаемых статистических данных метрики для создания новой временной серии. Временная серия — это последовательность точек данных, каждая из которых связана со временем.

Дополнительную информацию и примеры см. в разделе Создание политики масштабирования с отслеживанием целевого значения для Application Auto Scaling с использованием математических выражений над метриками в Руководстве пользователя Application Auto Scaling.

Expression -> (строка)

Выражение математического вычисления, которое необходимо выполнить над возвращаемыми данными, если этот объект выполняет математическое выражение. Это выражение может использовать Id других метрик для ссылки на эти метрики и также может использовать Id других выражений для использования результата этих выражений.

Условие: в каждом объекте TargetTrackingMetricDataQuery необходимо указать либо Expression, либо MetricStat, но не оба.

Id -> (строка)

Короткое имя, которое идентифицирует результаты объекта в ответе. Это имя должно быть уникальным для всех объектов MetricDataQuery, указанных для одной политики масштабирования. Если вы выполняете математические выражения над этим набором данных, это имя представляет эти данные и может служить переменной в математическом выражении. Допустимые символы — буквы, цифры и символы подчеркивания. Первый символ должен быть строчной буквой.

Label -> (строка)

Читабельное для человека описание метрики или выражения. Это особенно полезно, если это математическое выражение, чтобы вы знали, что оно представляет.

MetricStat -> (структура)

Информация о возвращаемых данных метрики.

Условие: в каждом объекте MetricDataQuery необходимо указать либо Expression, либо MetricStat, но не оба.

Metric -> (структура)

Данные метрики CloudWatch, включая имя метрики, пространство имён и измерения. Для получения точного имени метрики, пространства имён и измерений, просмотрите объект Metric, возвращённый вызовом ListMetrics.

Dimensions -> (список)

Измерения для метрики. Список доступных измерений см. в документации Amazon Web Services, доступной из таблицы в сервисах Amazon Web Services, публикующих метрики CloudWatch, в Руководстве пользователя Amazon CloudWatch.

Условие: если вы опубликовали метрику с измерениями, вы должны указать те же измерения в своей политике масштабирования.

(структура)

Описывает измерение метрики.

Name -> (строка)

Имя измерения.

Value -> (строка)

Значение измерения.

MetricName -> (строка)

Имя метрики.

Namespace -> (строка)

Пространство имён метрики. Дополнительную информацию см. в таблице сервисов Amazon Web Services, публикующих метрики CloudWatch, в Руководстве пользователя Amazon CloudWatch.

Stat -> (строка)

Статистика для возврата. Она может включать любые статистические данные CloudWatch или расширенную статистику. Список допустимых значений см. в таблице Статистики в Руководстве пользователя Amazon CloudWatch.

Наиболее часто используемая метрика для масштабирования — Average.

Unit -> (строка)

Единица измерения для возвращаемых точек данных. Полный список единиц измерения, поддерживаемых CloudWatch, см. в типе данных MetricDatum в Справочном руководстве по API Amazon CloudWatch.

ReturnData -> (булево)

Указывает, следует ли возвращать временные метки и исходные значения данных этой метрики.

Если вы используете математические выражения, укажите true для этого значения только для конечного математического выражения, на котором основано задание метрики. Вы должны указать false для ReturnData всех других метрик и выражений, используемых в задании метрики.

Если вы только получаете метрики и не выполняете математических выражений, не указывайте ничего для ReturnData. Это установит его по умолчанию (true).

ScaleOutCooldown -> (целое число)

Время ожидания в секундах до выполнения предыдущего масштабирования. Дополнительную информацию и значения по умолчанию см. в разделе Определение периодов ожидания в Руководстве пользователя Application Auto Scaling.

ScaleInCooldown -> (целое число)

Время в секундах после завершения масштабирования, необходимое для начала нового масштабирования.

DisableScaleIn -> (булево)

Указывает, отключено ли масштабирование в политике масштабирования с отслеживанием целевого значения. Если значение равно true, масштабирование отключено, и политика масштабирования не удалит ресурсы со масштабируемого целевого объекта. В противном случае масштабирование включено, и политика масштабирования может удалить ресурсы со масштабируемого целевого объекта. Значение по умолчанию — false.

Синтаксис JSON:

{
  "TargetValue": double,
  "PredefinedMetricSpecification": {
    "PredefinedMetricType": "DynamoDBReadCapacityUtilization"|"DynamoDBWriteCapacityUtilization"|"ALBRequestCountPerTarget"|"RDSReaderAverageCPUUtilization"|"RDSReaderAverageDatabaseConnections"|"EC2SpotFleetRequestAverageCPUUtilization"|"EC2SpotFleetRequestAverageNetworkIn"|"EC2SpotFleetRequestAverageNetworkOut"|"SageMakerVariantInvocationsPerInstance"|"ECSServiceAverageCPUUtilization"|"ECSServiceAverageMemoryUtilization"|"AppStreamAverageCapacityUtilization"|"ComprehendInferenceUtilization"|"LambdaProvisionedConcurrencyUtilization"|"CassandraReadCapacityUtilization"|"CassandraWriteCapacityUtilization"|"KafkaBrokerStorageUtilization"|"ElastiCacheEngineCPUUtilization"|"ElastiCacheDatabaseMemoryUsagePercentage"|"ElastiCachePrimaryEngineCPUUtilization"|"ElastiCacheReplicaEngineCPUUtilization"|"ElastiCacheDatabaseMemoryUsageCountedForEvictPercentage"|"NeptuneReaderAverageCPUUtilization"|"SageMakerVariantProvisionedConcurrencyUtilization"|"ElastiCacheDatabaseCapacityUsageCountedForEvictPercentage"|"SageMakerInferenceComponentInvocationsPerCopy"|"WorkSpacesAverageUserSessionsCapacityUtilization"|"SageMakerInferenceComponentConcurrentRequestsPerCopyHighResolution"|"SageMakerVariantConcurrentRequestsPerModelHighResolution",
    "ResourceLabel": "string"
  },
  "CustomizedMetricSpecification": {
    "MetricName": "string",
    "Namespace": "string",
    "Dimensions": [
      {
        "Name": "string",
        "Value": "string"
      }
      ...
    ],
    "Statistic": "Average"|"Minimum"|"Maximum"|"SampleCount"|"Sum",
    "Unit": "string",
    "Metrics": [
      {
        "Expression": "string",
        "Id": "string",
        "Label": "string",
        "MetricStat": {
          "Metric": {
            "Dimensions": [
              {
                "Name": "string",
                "Value": "string"
              }
              ...
            ],
            "MetricName": "string",
            "Namespace": "string"
          },
          "Stat": "string",
          "Unit": "string"
        },
        "ReturnData": true|false
      }
      ...
    ]
  },
  "ScaleOutCooldown": integer,
  "ScaleInCooldown": integer,
  "DisableScaleIn": true|false
}

--predictive-scaling-policy-configuration (структура)

Конфигурация политики прогнозируемого масштабирования.

MetricSpecifications -> (список)

Эта структура включает метрики и целевую загрузку для использования при прогнозируемом масштабировании.

Это массив, но в настоящее время мы поддерживаем только одну спецификацию метрики. То есть, вы можете указать целевое значение и одну пару метрик или целевое значение и одну метрику масштабирования и одну метрику нагрузки.

(структура)

Эта структура определяет метрики и настройки целевой загрузки для политики прогнозируемого масштабирования.

Вы должны указать либо пару метрик, либо метрику нагрузки и метрику масштабирования индивидуально. Указание пары метрик вместо отдельных метрик предоставляет более простой способ настройки метрик для политики масштабирования. Вы выбираете пару метрик, и политика автоматически знает, какие значения суммы и среднего значения использовать для метрики нагрузки и метрики масштабирования.

TargetValue -> (число с плавающей точкой)

Указывает целевую загрузку.

PredefinedMetricPairSpecification -> (структура)

Спецификация предопределенной пары метрик, которая определяет соответствующую метрику масштабирования и метрику нагрузки для использования.

PredefinedMetricType -> (строка)

Указывает, какие метрики использовать. Для каждого типа метрик существуют два разных типа метрик: одна — метрика нагрузки, а другая — метрика масштабирования.

ResourceLabel -> (строка)

Метка, которая однозначно идентифицирует определенную целевую группу, для определения общего и среднего значения количества запросов.

PredefinedScalingMetricSpecification -> (структура)

Спецификация предопределенной метрики масштабирования.

PredefinedMetricType -> (строка)

Тип метрики.

ResourceLabel -> (строка)

Метка, которая однозначно идентифицирует определенную целевую группу для определения среднего количества запросов.

PredefinedLoadMetricSpecification -> (структура)

Спецификация предопределенной метрики нагрузки.

PredefinedMetricType -> (строка)

Тип метрики.

ResourceLabel -> (строка)

Метка, которая однозначно идентифицирует целевую группу.

CustomizedScalingMetricSpecification -> (структура)

Спецификация настраиваемой метрики масштабирования.

MetricDataQueries -> (список)

Один или несколько запросов к данным метрики для предоставления точек данных для спецификации метрики.

(структура)

Данные метрики для возврата. Также определяет, возвращает ли этот вызов данные только для одной метрики или выполняет ли он математическое выражение над значениями возвращаемых статистических данных метрики для создания новой временной серии. Временная серия — это последовательность точек данных, каждая из которых связана со временем.

Id -> (строка)

Короткое имя, которое идентифицирует результаты объекта в ответе. Это имя должно быть уникальным среди всех MetricDataQuery объектов, указанных для одной политики масштабирования. Если вы выполняете математические выражения над этим набором данных, это имя представляет эти данные и может служить переменной в математическом выражении. Допустимые символы — буквы, цифры и символы нижнего подчеркивания. Первый символ должен быть строчной буквой.

Expression -> (строка)

Математическое выражение, которое выполняется над возвращаемыми данными, если этот объект выполняет математическое выражение. Это выражение может использовать Id других метрик для ссылки на эти метрики, а также может использовать Id других выражений для использования результата этих выражений.

Условие: Внутри каждого MetricDataQuery объекта вы должны указать либо Expression, либо MetricStat, но не оба.

MetricStat -> (структура)

Информация о данных метрики для возврата.

Условие: Внутри каждого MetricDataQuery объекта вы должны указать либо Expression, либо MetricStat, но не оба.

Metric -> (структура)

Метрика CloudWatch для возврата, включая имя метрики, пространство имен и измерения. Чтобы получить точное имя метрики, пространство имен и измерения, проверьте объект Metric, возвращаемый вызовом ListMetrics.

Dimensions -> (список)

Описывает измерения метрики.

(структура)

Описание измерения метрики.

Name -> (строка)

Имя измерения.

Value -> (строка)

Значение измерения.

MetricName -> (строка)

Имя метрики.

Namespace -> (строка)

Пространство имен метрики.

Stat -> (строка)

Статистика для возврата. Она может включать любую статистику CloudWatch или расширенную статистику. Список допустимых значений см. в таблице в разделе Статистики в руководстве пользователя Amazon CloudWatch.

Наиболее часто используемые метрики для прогнозируемого масштабирования — это Average и Sum.

Unit -> (строка)

Единица измерения для возвращаемых точек данных. Полный список единиц измерения, поддерживаемых CloudWatch, см. в типе данных MetricDatum в справке по API Amazon CloudWatch.

Label -> (строка)

Человекочитаемая метка для этой метрики или выражения. Это особенно полезно, если это математическое выражение, чтобы вы знали, что оно представляет.

ReturnData -> (булево)

Указывает, возвращать ли метки времени и исходные значения данных этой метрики.

Если вы используете математические выражения, укажите true для этого значения только для конечного математического выражения, на котором основана спецификация метрики. Вы должны указать false для ReturnData всех других метрик и выражений, используемых в спецификации метрики.

Если вы только получаете метрики и не выполняете никаких математических выражений, не указывайте ничего для ReturnData. Это устанавливает его по умолчанию (true).

CustomizedLoadMetricSpecification -> (структура)

Спецификация настраиваемой метрики нагрузки.

MetricDataQueries -> (список)

Один или несколько запросов к данным метрики для предоставления точек данных для спецификации метрики.

(структура)

Данные метрики для возврата. Также определяет, возвращает ли этот вызов данные только для одной метрики или выполняет ли он математическое выражение над значениями возвращаемых статистических данных метрики для создания новой временной серии. Временная серия — это последовательность точек данных, каждая из которых связана со временем.

Id -> (строка)

Короткое имя, которое идентифицирует результаты объекта в ответе. Это имя должно быть уникальным среди всех MetricDataQuery объектов, указанных для одной политики масштабирования. Если вы выполняете математические выражения над этим набором данных, это имя представляет эти данные и может служить переменной в математическом выражении. Допустимые символы — буквы, цифры и символы нижнего подчеркивания. Первый символ должен быть строчной буквой.

Expression -> (строка)

Математическое выражение, которое выполняется над возвращаемыми данными, если этот объект выполняет математическое выражение. Это выражение может использовать Id других метрик для ссылки на эти метрики, а также может использовать Id других выражений для использования результата этих выражений.

Условие: Внутри каждого MetricDataQuery объекта вы должны указать либо Expression, либо MetricStat, но не оба.

MetricStat -> (структура)

Информация о данных метрики для возврата.

Условие: Внутри каждого MetricDataQuery объекта вы должны указать либо Expression, либо MetricStat, но не оба.

Metric -> (структура)

Метрика CloudWatch для возврата, включая имя метрики, пространство имен и измерения. Чтобы получить точное имя метрики, пространство имен и измерения, проверьте объект Metric, возвращаемый вызовом ListMetrics.

Dimensions -> (список)

Описывает измерения метрики.

(структура)

Описание измерения метрики.

Name -> (строка)

Имя измерения.

Value -> (строка)

Значение измерения.

MetricName -> (строка)

Имя метрики.

Namespace -> (строка)

Пространство имен метрики.

Stat -> (строка)

Статистика для возврата. Она может включать любую статистику CloudWatch или расширенную статистику. Список допустимых значений см. в таблице в разделе Статистики в руководстве пользователя Amazon CloudWatch.

Наиболее часто используемые метрики для прогнозируемого масштабирования — это Average и Sum.

Unit -> (строка)

Единица измерения для возвращаемых точек данных. Полный список единиц измерения, поддерживаемых CloudWatch, см. в типе данных MetricDatum в справке по API Amazon CloudWatch.

Label -> (строка)

Человекочитаемая метка для этой метрики или выражения. Это особенно полезно, если это математическое выражение, чтобы вы знали, что оно представляет.

ReturnData -> (булево)

Указывает, возвращать ли метки времени и исходные значения данных этой метрики.

Если вы используете математические выражения, укажите true для этого значения только для конечного математического выражения, на котором основана спецификация метрики. Вы должны указать false для ReturnData всех других метрик и выражений, используемых в спецификации метрики.

Если вы только получаете метрики и не выполняете никаких математических выражений, не указывайте ничего для ReturnData. Это устанавливает его по умолчанию (true).

CustomizedCapacityMetricSpecification -> (структура)

Спецификация настраиваемого параметра емкости.

MetricDataQueries -> (список)

Один или несколько запросов данных метрики для предоставления точек данных для спецификации метрики.

(структура)

Данные метрики для возврата. Также определяет, возвращает ли этот вызов данные только для одной метрики или выполняет ли он математическое выражение над значениями возвращаемых статистических данных метрики для создания новой временной серии. Временная серия — это серия точек данных, каждая из которых связана со временной меткой.

Id -> (строка)

Короткое имя, которое идентифицирует результаты объекта в ответе. Это имя должно быть уникальным среди всех MetricDataQuery объектов, указанных для одной политики масштабирования. Если вы выполняете математические выражения над этим набором данных, это имя представляет эти данные и может служить переменной в математическом выражении. Допустимые символы — буквы, цифры и символы нижнего подчеркивания. Первый символ должен быть строчной буквой.

Expression -> (строка)

Математическое выражение, которое нужно выполнить над возвращаемыми данными, если этот объект выполняет математическое выражение. В этом выражении можно использовать Id других метрик для ссылки на эти метрики, а также можно использовать Id других выражений для использования результата этих выражений.

Условие: Внутри каждого объекта MetricDataQuery вы должны указать либо Expression, либо MetricStat, но не оба.

MetricStat -> (структура)

Информация о возвращаемых данных метрики.

Условие: Внутри каждого объекта MetricDataQuery вы должны указать либо Expression, либо MetricStat, но не оба.

Metric -> (структура)

Метрика CloudWatch для возврата, включая имя метрики, пространство имен и измерения. Чтобы получить точное имя метрики, пространство имен и измерения, проверьте объект Metric, возвращаемый вызовом ListMetrics.

Dimensions -> (список)

Описание измерений метрики.

(структура)

Описание измерения метрики.

Name -> (строка)

Имя измерения.

Value -> (строка)

Значение измерения.

MetricName -> (строка)

Имя метрики.

Namespace -> (строка)

Пространство имен метрики.

Stat -> (строка)

Статистика для возврата. Она может включать любую статистику CloudWatch или расширенную статистику. Список допустимых значений см. в таблице в разделе Статистики в Руководстве пользователя Amazon CloudWatch.

Наиболее часто используемыми метриками для предсказательного масштабирования являются Average и Sum.

Unit -> (строка)

Единица измерения для возвращаемых точек данных. Полный список поддерживаемых CloudWatch единиц измерения см. в типе данных MetricDatum в Справочнике по API Amazon CloudWatch.

Label -> (строка)

Читабельное описание этой метрики или выражения. Это особенно полезно, если это математическое выражение, чтобы вы понимали, что оно представляет.

ReturnData -> (булево значение)

Указывает, следует ли возвращать временные метки и сырые значения данных этой метрики.

Если вы используете математические выражения, укажите true для этого значения только для конечного математического выражения, на котором основана спецификация метрики. Вы должны указать false для ReturnData всех других метрик и выражений, используемых в спецификации метрики.

Если вы только получаете метрики и не выполняете математических выражений, не указывайте ничего для ReturnData. Это задаст значение по умолчанию (true).

Mode -> (строка)

Режим предсказательного масштабирования. По умолчанию устанавливается в значение ForecastOnly, если не указано иное.

SchedulingBufferTime -> (целое число)

Время в секундах, на которое можно сместить начальную временную метку.

Значение должно быть меньше продолжительности интервала прогноза 3600 секунд (60 минут). По умолчанию устанавливается в 300 секунд, если не указано иное.

MaxCapacityBreachBehavior -> (строка)

Определяет поведение, которое должно применяться, если прогнозируемая емкость приближается к максимальной емкости или превышает ее. По умолчанию устанавливается в HonorMaxCapacity, если не указано иное.

MaxCapacityBuffer -> (целое число)

Размер буфера емкости, который нужно использовать, когда прогнозируемая емкость близка к максимальной емкости или превышает ее. Значение указывается как процент от прогнозируемой емкости. Например, если буфер равен 10, это означает буфер в 10%, так что если прогнозируемая емкость составляет 50, а максимальная емкость — 40, то эффективная максимальная емкость составляет 55.

Требуется, если свойство MaxCapacityBreachBehavior установлено в значение IncreaseMaxCapacity, и не может использоваться в противном случае.

Синтаксис JSON:

{
  "MetricSpecifications": [
    {
      "TargetValue": double,
      "PredefinedMetricPairSpecification": {
        "PredefinedMetricType": "string",
        "ResourceLabel": "string"
      },
      "PredefinedScalingMetricSpecification": {
        "PredefinedMetricType": "string",
        "ResourceLabel": "string"
      },
      "PredefinedLoadMetricSpecification": {
        "PredefinedMetricType": "string",
        "ResourceLabel": "string"
      },
      "CustomizedScalingMetricSpecification": {
        "MetricDataQueries": [
          {
            "Id": "string",
            "Expression": "string",
            "MetricStat": {
              "Metric": {
                "Dimensions": [
                  {
                    "Name": "string",
                    "Value": "string"
                  }
                  ...
                ],
                "MetricName": "string",
                "Namespace": "string"
              },
              "Stat": "string",
              "Unit": "string"
            },
            "Label": "string",
            "ReturnData": true|false
          }
          ...
        ]
      },
      "CustomizedLoadMetricSpecification": {
        "MetricDataQueries": [
          {
            "Id": "string",
            "Expression": "string",
            "MetricStat": {
              "Metric": {
                "Dimensions": [
                  {
                    "Name": "string",
                    "Value": "string"
                  }
                  ...
                ],
                "MetricName": "string",
                "Namespace": "string"
              },
              "Stat": "string",
              "Unit": "string"
            },
            "Label": "string",
            "ReturnData": true|false
          }
          ...
        ]
      },
      "CustomizedCapacityMetricSpecification": {
        "MetricDataQueries": [
          {
            "Id": "string",
            "Expression": "string",
            "MetricStat": {
              "Metric": {
                "Dimensions": [
                  {
                    "Name": "string",
                    "Value": "string"
                  }
                  ...
                ],
                "MetricName": "string",
                "Namespace": "string"
              },
              "Stat": "string",
              "Unit": "string"
            },
            "Label": "string",
            "ReturnData": true|false
          }
          ...
        ]
      }
    }
    ...
  ],
  "Mode": "ForecastOnly"|"ForecastAndScale",
  "SchedulingBufferTime": integer,
  "MaxCapacityBreachBehavior": "HonorMaxCapacity"|"IncreaseMaxCapacity",
  "MaxCapacityBuffer": integer
}

--cli-input-json | --cli-input-yaml (строка) Считывает аргументы из предоставленной строки JSON. Строка JSON соответствует формату, предоставленному --generate-cli-skeleton. Если на командной строке предоставлены другие аргументы, эти значения переопределят значения, предоставленные в JSON. Невозможно передавать произвольные двоичные значения, используя значение, предоставленное в JSON, так как строка будет интерпретироваться буквально. Это не может быть указано вместе с --cli-input-yaml.

--generate-cli-skeleton (строка) Выводит скелет JSON в стандартный вывод без отправки запроса API. Если указано без значения или со значением input, выводит пример входного JSON, который можно использовать в качестве аргумента для --cli-input-json. Аналогично, если указано yaml-input, выведет пример входного YAML, который можно использовать с --cli-input-yaml. Если указано значение output, оно валидирует входные данные команды и возвращает пример выходного JSON для этой команды. Сгенерированный скелет JSON не стабилен между версиями AWS CLI, и нет гарантий обратной совместимости в сгенерированном скелете JSON.

Общие параметры

--debug (булево значение)

Включить отладочную запись журнала.

--endpoint-url (строка)

Переопределить URL по умолчанию команды указанным URL.

--no-verify-ssl (булево значение)

По умолчанию AWS CLI использует SSL при взаимодействии с AWS-сервисами. Для каждого подключения SSL AWS CLI проверяет сертификаты SSL. Этот параметр переопределяет стандартное поведение проверки сертификатов SSL.

--no-paginate (булево значение)

Отключить автоматическую постраничную навигацию. Если автоматическая постраничная навигация отключена, AWS CLI выполнит только один вызов для первой страницы результатов.

--output (строка)

Стиль форматирования для вывода команды.

  • json
  • text
  • table
  • yaml
  • yaml-stream

--query (строка)

Запрос JMESPath для фильтрации данных ответа.

--profile (строка)

Использовать определенный профиль из файла учетных данных.

--region (строка)

Использовать указанный регион. Переопределяет настройки конфигурации/среды.

--version (строка)

Отобразить версию этого инструмента.

--color (строка)

Включить/выключить цветной вывод.

  • on
  • off
  • auto

--no-sign-request (булево значение)

Не подписывать запросы. Учетные данные не будут загружены, если этот аргумент предоставлен.

--ca-bundle (строка)

Файл с набором сертификатов CA для проверки сертификатов SSL. Переопределяет настройки конфигурации/среды.

--cli-read-timeout (целое число)

Максимальное время чтения сокета в секундах. Если значение установлено в 0, чтение сокета будет выполняться блокирующим образом без таймаута. Значение по умолчанию — 60 секунд.

--cli-connect-timeout (целое число)

Максимальное время подключения сокета в секундах. Если значение установлено в 0, подключение сокета будет выполняться блокирующим образом без таймаута. Значение по умолчанию — 60 секунд.

--cli-binary-format (строка)

Стиль форматирования, который будет использоваться для двоичных блоков. Формат по умолчанию — base64. Формат base64 ожидает, что двоичные блоки будут предоставлены как строка, закодированная в base64. Формат raw-in-base64-out сохраняет совместимость с поведением AWS CLI V1, и двоичные значения должны передаваться буквально. При предоставлении содержимого из файла, соответствующего двоичному блоку, fileb:// всегда будет интерпретироваться как двоичный, и будет использоваться содержимое файла напрямую независимо от настройки cli-binary-format. При использовании file:// содержимое файла должно быть должным образом отформатировано для настроенного cli-binary-format.

  • base64
  • raw-in-base64-out

--no-cli-pager (булево значение)

Отключить кли-паджер для вывода.

--cli-auto-prompt (булево значение)

Автоматически запрашивать параметры входных данных CLI.

--no-cli-auto-prompt (булево значение)

Отключить автоматическое запросы параметров входных данных CLI.

Примеры

Примечание

Чтобы использовать следующие примеры, у вас должен быть установлен и настроен AWS CLI. Дополнительную информацию см. в руководстве по началу работы в руководстве пользователя AWS CLI.

Если не указано иное, во всех примерах используются правила цитирования, характерные для систем Unix. Эти примеры необходимо адаптировать к правилам цитирования вашей терминальной среды. См. Использование кавычек с строками в руководстве пользователя AWS CLI.

Пример 1: Создание политики масштабирования по целевому показателю с предопределённым описанием метрики

Следующий пример создаёт политику масштабирования по целевому показателю с предопределённым описанием метрики для сервиса Amazon ECS под названием web-app в стандартном кластере. Политика поддерживает среднее использование ЦП сервиса на уровне 75 процентов с периодами охлаждения при масштабировании в обе стороны по 60 секунд. Вывод содержит ARN и имена двух созданных за вас сигналов тревоги CloudWatch.

aws application-autoscaling put-scaling-policy --service-namespace ecs \
--scalable-dimension ecs:service:DesiredCount \
--resource-id service/default/web-app \
--policy-name cpu75-target-tracking-scaling-policy --policy-type TargetTrackingScaling \
--target-tracking-scaling-policy-configuration file://config.json

Этот пример предполагает, что в текущем каталоге имеется файл config.json со следующим содержимым:

{
     "TargetValue": 75.0,
     "PredefinedMetricSpecification": {
         "PredefinedMetricType": "ECSServiceAverageCPUUtilization"
     },
     "ScaleOutCooldown": 60,
    "ScaleInCooldown": 60
}

Вывод:

{
    "PolicyARN": "arn:aws:autoscaling:us-west-2:012345678910:scalingPolicy:6d8972f3-efc8-437c-92d1-6270f29a66e7:resource/ecs/service/default/web-app:policyName/cpu75-target-tracking-scaling-policy",
    "Alarms": [
        {
            "AlarmARN": "arn:aws:cloudwatch:us-west-2:012345678910:alarm:TargetTracking-service/default/web-app-AlarmHigh-d4f0770c-b46e-434a-a60f-3b36d653feca",
            "AlarmName": "TargetTracking-service/default/web-app-AlarmHigh-d4f0770c-b46e-434a-a60f-3b36d653feca"
        },
        {
            "AlarmARN": "arn:aws:cloudwatch:us-west-2:012345678910:alarm:TargetTracking-service/default/web-app-AlarmLow-1b437334-d19b-4a63-a812-6c67aaf2910d",
            "AlarmName": "TargetTracking-service/default/web-app-AlarmLow-1b437334-d19b-4a63-a812-6c67aaf2910d"
        }
    ]
}

Пример 2: Создание политики масштабирования по целевому показателю с настраиваемым описанием метрики

Следующий пример создаёт политику масштабирования по целевому показателю с настраиваемым описанием метрики для сервиса Amazon ECS под названием web-app в стандартном кластере. Политика поддерживает среднее использование сервиса на уровне 75 процентов с периодами охлаждения при масштабировании в обе стороны по 60 секунд. Вывод содержит ARN и имена двух созданных за вас сигналов тревоги CloudWatch.

aws application-autoscaling put-scaling-policy --service-namespace ecs \
--scalable-dimension ecs:service:DesiredCount \
--resource-id service/default/web-app \
--policy-name cms75-target-tracking-scaling-policy
--policy-type TargetTrackingScaling \
--target-tracking-scaling-policy-configuration file://config.json

Этот пример предполагает, что в текущем каталоге имеется файл config.json со следующим содержимым:

{
    "TargetValue":75.0,
    "CustomizedMetricSpecification":{
        "MetricName":"MyUtilizationMetric",
        "Namespace":"MyNamespace",
        "Dimensions": [
            {
                "Name":"MyOptionalMetricDimensionName",
                "Value":"MyOptionalMetricDimensionValue"
            }
        ],
        "Statistic":"Average",
        "Unit":"Percent"
    },
    "ScaleOutCooldown": 60,
    "ScaleInCooldown": 60
}

Вывод:

{
    "PolicyARN": "arn:aws:autoscaling:us-west-2:012345678910:scalingPolicy: 8784a896-b2ba-47a1-b08c-27301cc499a1:resource/ecs/service/default/web-app:policyName/cms75-target-tracking-scaling-policy",
    "Alarms": [
        {
            "AlarmARN": "arn:aws:cloudwatch:us-west-2:012345678910:alarm:TargetTracking-service/default/web-app-AlarmHigh-9bc77b56-0571-4276-ba0f-d4178882e0a0",
            "AlarmName": "TargetTracking-service/default/web-app-AlarmHigh-9bc77b56-0571-4276-ba0f-d4178882e0a0"
        },
        {
            "AlarmARN": "arn:aws:cloudwatch:us-west-2:012345678910:alarm:TargetTracking-service/default/web-app-AlarmLow-9b6ad934-6d37-438e-9e05-02836ddcbdc4",
            "AlarmName": "TargetTracking-service/default/web-app-AlarmLow-9b6ad934-6d37-438e-9e05-02836ddcbdc4"
        }
    ]
}

Пример 3: Создание политики масштабирования по целевому показателю только для увеличения масштаба

Следующий пример создаёт политику масштабирования по целевому показателю для сервиса Amazon ECS под названием web-app в стандартном кластере. Политика используется для увеличения масштаба сервиса ECS, когда метрика RequestCountPerTarget из Application Load Balancer превышает порог. Вывод содержит ARN и имя созданного за вас сигнала тревоги CloudWatch.

aws application-autoscaling put-scaling-policy \
    --service-namespace ecs \
    --scalable-dimension ecs:service:DesiredCount \
    --resource-id service/default/web-app \
    --policy-name alb-scale-out-target-tracking-scaling-policy \
    --policy-type TargetTrackingScaling \
    --target-tracking-scaling-policy-configuration file://config.json

Содержимое config.json:

{
     "TargetValue": 1000.0,
     "PredefinedMetricSpecification": {
         "PredefinedMetricType": "ALBRequestCountPerTarget",
         "ResourceLabel": "app/EC2Co-EcsEl-1TKLTMITMM0EO/f37c06a68c1748aa/targetgroup/EC2Co-Defau-LDNM7Q3ZH1ZN/6d4ea56ca2d6a18d"
     },
     "ScaleOutCooldown": 60,
    "ScaleInCooldown": 60,
    "DisableScaleIn": true
}

Вывод:

{
    "PolicyARN": "arn:aws:autoscaling:us-west-2:123456789012:scalingPolicy:6d8972f3-efc8-437c-92d1-6270f29a66e7:resource/ecs/service/default/web-app:policyName/alb-scale-out-target-tracking-scaling-policy",
    "Alarms": [
        {
            "AlarmName": "TargetTracking-service/default/web-app-AlarmHigh-d4f0770c-b46e-434a-a60f-3b36d653feca",
            "AlarmARN": "arn:aws:cloudwatch:us-west-2:123456789012:alarm:TargetTracking-service/default/web-app-AlarmHigh-d4f0770c-b46e-434a-a60f-3b36d653feca"
        }
    ]
}

Дополнительную информацию см. в разделе Политики масштабирования по целевому показателю для Application Auto Scaling в руководстве пользователя AWS Application Auto Scaling.

Вывод

PolicyARN -> (строка)

Amazon Resource Name (ARN) результирующей политики масштабирования.

Alarms -> (список)

Сигналы тревоги CloudWatch, созданные для политики масштабирования по целевому показателю.

(структура)

Представляет сигнал тревоги CloudWatch, связанный с политикой масштабирования.

AlarmName -> (строка)

Название сигнала тревоги.

AlarmARN -> (строка)

Amazon Resource Name (ARN) сигнала тревоги.

© Copyright 2025, Amazon Web Services. Created using Sphinx.

END_OF_DOCUMENT_MARKER

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API