[ aws . autoscaling-планы ]
create-scaling-plan
Описание
Создает план масштабирования.
См. также: Документацию AWS API
Синтаксис
create-scaling-plan
--scaling-plan-name <value>
--application-source <value>
--scaling-instructions <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]
Параметры
--scaling-plan-name (строка)
--application-source (структура)
Стек CloudFormation или набор тегов. Вы можете создать один план масштабирования на один источник приложения.
Дополнительную информацию см. в разделе ApplicationSource в Справочнике по API AWS Auto Scaling.
CloudFormationStackARN -> (строка)
TagFilters -> (список)
Набор тегов (до 50).
(структура)
Представляет тег.
Key -> (строка)
Values -> (список)
Значения тега (от 0 до 20).
(строка)
Синтаксис JSON:
{
"CloudFormationStackARN": "string",
"TagFilters": [
{
"Key": "string",
"Values": ["string", ...]
}
...
]
}
--scaling-instructions (список)
Инструкции по масштабированию.
Дополнительную информацию см. в разделе ScalingInstruction в Справочнике по API AWS Auto Scaling.
(структура)
Описывает инструкцию по масштабированию для масштабируемого ресурса в плане масштабирования. Каждая инструкция по масштабированию применяется к одному ресурсу.
AWS Auto Scaling создает политики масштабирования по отслеживанию целевых значений на основе инструкций по масштабированию. Политики масштабирования по отслеживанию целевых значений корректируют емкость вашего масштабируемого ресурса по мере необходимости, чтобы поддерживать использование ресурсов на целевом значении, которое вы указали.
AWS Auto Scaling также настраивает прогнозируемое масштабирование для ваших групп Amazon EC2 Auto Scaling, используя подмножество параметров, включая метрику нагрузки, метрику масштабирования, целевое значение метрики масштабирования, режим прогнозируемого масштабирования (прогноз и масштабирование или только прогноз) и желаемое поведение, когда прогнозируемая емкость превышает максимальную емкость ресурса. При прогнозируемом масштабировании AWS Auto Scaling генерирует прогнозы с прогнозами трафика на ближайшие два дня и планирует действия по масштабированию, которые проактивно добавляют и удаляют емкость ресурсов, чтобы соответствовать прогнозу.
Предупреждение
Рекомендуется подождать как минимум 24 часа после создания группы Auto Scaling для настройки прогнозируемого масштабирования. Для генерации прогноза необходимо как минимум 24 часа исторических данных. Дополнительную информацию см. в разделе «Рекомендации по использованию AWS Auto Scaling» в Руководстве пользователя AWS Auto Scaling.ServiceNamespace -> (строка)
ResourceId -> (строка)
Идентификатор ресурса. Эта строка состоит из типа ресурса и уникального идентификатора.
- Группа Auto Scaling — тип ресурса
autoScalingGroup, а уникальный идентификатор — имя группы Auto Scaling. Пример:autoScalingGroup/my-asg. - Сервис ECS — тип ресурса
service, а уникальный идентификатор — имя кластера и имя сервиса. Пример:service/default/sample-webapp. - Запрос Spot Fleet — тип ресурса
spot-fleet-request, а уникальный идентификатор — ID запроса Spot Fleet. Пример:spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE. - Таблица DynamoDB — тип ресурса
table, а уникальный идентификатор — идентификатор ресурса. Пример:table/my-table. - Глобальный вторичный индекс DynamoDB — тип ресурса
index, а уникальный идентификатор — идентификатор ресурса. Пример:table/my-table/index/my-table-index. - Кластер баз данных Aurora — тип ресурса
cluster, а уникальный идентификатор — имя кластера. Пример:cluster:my-db-cluster.
ScalableDimension -> (строка)
Масштабируемое измерение, связанное с ресурсом.
-
autoscaling:autoScalingGroup:DesiredCapacity— Желаемая емкость группы Auto Scaling. -
ecs:service:DesiredCount— Желаемое количество задач сервиса ECS. -
ec2:spot-fleet-request:TargetCapacity— Целевая емкость запроса Spot Fleet. -
dynamodb:table:ReadCapacityUnits— Предоставленная емкость чтения для таблицы DynamoDB. -
dynamodb:table:WriteCapacityUnits— Предоставленная емкость записи для таблицы DynamoDB. -
dynamodb:index:ReadCapacityUnits— Предоставленная емкость чтения для глобального вторичного индекса DynamoDB. -
dynamodb:index:WriteCapacityUnits— Предоставленная емкость записи для глобального вторичного индекса DynamoDB. -
rds:cluster:ReadReplicaCount— Количество реплик Aurora в кластере баз данных Aurora. Доступно для Aurora MySQL-совместимого издания и Aurora PostgreSQL-совместимого издания.
MinCapacity -> (целое число)
MaxCapacity -> (целое число)
TargetTrackingConfigurations -> (список)
Конфигурации отслеживания целевых значений (до 10). Каждая из этих структур должна указать уникальную метрику масштабирования и целевое значение для метрики.
(структура)
Описывает конфигурацию отслеживания целевых значений для использования с AWS Auto Scaling. Используется с ScalingInstruction и ScalingPolicy.
PredefinedScalingMetricSpecification -> (структура)
Предопределенная метрика. Вы можете указать либо предопределенную метрику, либо настраиваемую метрику.
PredefinedScalingMetricType -> (строка)
ALBRequestCountPerTarget применяется только к группам Auto Scaling, запросам Spot Fleet и сервисам ECS.ResourceLabel -> (строка)
Идентифицирует ресурс, связанный с типом метрики. Вы не можете указать метку ресурса, если тип метрики — ALBRequestCountPerTarget и нет группы целевых значений для балансировщика приложения Application Load Balancer, подключенного к группе Auto Scaling, запросу Spot Fleet или сервису ECS.
Вы создаете метку ресурса, добавив последнюю часть ARN балансировщика нагрузки и последнюю часть ARN группы целевых значений в одно значение, разделенные косой чертой (/). Формат: app/<имя-балансировщика-нагрузки>/<id-балансировщика-нагрузки>/targetgroup/<имя-группы-целевых-значений>/<id-группы-целевых-значений>, где:
- app/<имя-балансировщика-нагрузки>/<id-балансировщика-нагрузки> — последняя часть ARN балансировщика нагрузки
- targetgroup/<имя-группы-целевых-значений>/<id-группы-целевых-значений> — последняя часть ARN группы целевых значений.
Пример: app/EC2Co-EcsEl-1TKLTMITMM0EO/f37c06a68c1748aa/targetgroup/EC2Co-Defau-LDNM7Q3ZH1ZN/6d4ea56ca2d6a18d.
Для получения ARN балансировщика приложения используйте операцию API DescribeLoadBalancers. Для получения ARN группы целевых значений используйте операцию API DescribeTargetGroups.
CustomizedScalingMetricSpecification -> (структура)
Настраиваемая метрика. Вы можете указать либо предопределенную метрику, либо настраиваемую метрику.
MetricName -> (строка)
Namespace -> (строка)
Dimensions -> (список)
Измерения метрики.
Условие: если вы опубликовали метрику с измерениями, вы должны указать те же измерения в своей настраиваемой спецификации метрики масштабирования.
(структура)
Представляет измерение для настраиваемой метрики.
Name -> (строка)
Value -> (строка)
Statistic -> (строка)
Unit -> (строка)
TargetValue -> (двойное значение)
DisableScaleIn -> (булево)
Указывает, отключено ли масштабирование вниз политикой масштабирования по отслеживанию целевых значений. Если значение равно true, масштабирование вниз отключено, и политика масштабирования по отслеживанию целевых значений не удаляет емкость из масштабируемого ресурса. В противном случае масштабирование вниз включено, и политика масштабирования по отслеживанию целевых значений может удалять емкость из масштабируемого ресурса.
Значение по умолчанию — false.
ScaleOutCooldown -> (целое число)
Количество времени в секундах, необходимое для ожидания действия предыдущего масштабирования в сторону увеличения емкости. Этот параметр не используется, если масштабируемым ресурсом является группа Auto Scaling.
С периодом охлаждения при масштабировании в сторону увеличения емкости намерением является непрерывное (но не чрезмерное) масштабирование в сторону увеличения емкости. После успешного масштабирования в сторону увеличения емкости с помощью политики масштабирования по отслеживанию целевых значений AWS Auto Scaling начинает вычислять время охлаждения. Политика масштабирования не увеличит желаемую емкость снова, если не будет вызвано большее масштабирование в сторону увеличения емкости или период охлаждения не закончится.
ScaleInCooldown -> (целое число)
Количество времени в секундах после завершения действия масштабирования в сторону уменьшения емкости, прежде чем можно начать другое действие масштабирования в сторону уменьшения емкости. Этот параметр не используется, если масштабируемым ресурсом является группа Auto Scaling.
С периодом охлаждения при масштабировании в сторону уменьшения емкости целью является консервативное масштабирование в сторону уменьшения емкости для защиты доступности вашего приложения, поэтому действия масштабирования в сторону уменьшения емкости блокируются до истечения периода охлаждения. Однако, если другое событие запускает масштабирование в сторону увеличения емкости в течение периода охлаждения при масштабировании в сторону уменьшения емкости, AWS Auto Scaling сразу же масштабирует целевое значение в сторону увеличения емкости. В этом случае период охлаждения при масштабировании в сторону уменьшения емкости прекращается и не завершается.
EstimatedInstanceWarmup -> (целое число)
PredefinedLoadMetricSpecification -> (структура)
Предопределенная метрика нагрузки, используемая для прогнозируемого масштабирования. Этот параметр или CustomizedLoadMetricSpecification обязателен при настройке прогнозируемого масштабирования и не может быть использован в ином случае.
PredefinedLoadMetricType -> (строка)
ResourceLabel -> (строка)
Идентифицирует ресурс, связанный с типом метрики. Вы не можете указать метку ресурса, если тип метрики — ALBTargetGroupRequestCount и нет группы целевых значений для балансировщика приложения Application Load Balancer, подключенного к группе Auto Scaling.
Вы создаете метку ресурса, добавив последнюю часть ARN балансировщика нагрузки и последнюю часть ARN группы целевых значений в одно значение, разделенные косой чертой (/). Формат: app/<имя-балансировщика-нагрузки>/<id-балансировщика-нагрузки>/targetgroup/<имя-группы-целевых-значений>/<id-группы-целевых-значений>, где:
- app/<имя-балансировщика-нагрузки>/<id-балансировщика-нагрузки> — последняя часть ARN балансировщика нагрузки
- targetgroup/<имя-группы-целевых-значений>/<id-группы-целевых-значений> — последняя часть ARN группы целевых значений.
Пример: app/EC2Co-EcsEl-1TKLTMITMM0EO/f37c06a68c1748aa/targetgroup/EC2Co-Defau-LDNM7Q3ZH1ZN/6d4ea56ca2d6a18d.
Для получения ARN балансировщика приложения используйте операцию API DescribeLoadBalancers. Для получения ARN группы целевых значений используйте операцию API DescribeTargetGroups.
CustomizedLoadMetricSpecification -> (структура)
Настраиваемая метрика нагрузки, используемая для прогнозируемого масштабирования. Этот параметр или PredefinedLoadMetricSpecification обязателен при настройке прогнозируемого масштабирования и не может быть использован в ином случае.
MetricName -> (строка)
Namespace -> (строка)
Dimensions -> (список)
Измерения метрики.
Условие: если вы опубликовали метрику с измерениями, вы должны указать те же измерения в своей настраиваемой спецификации метрики нагрузки.
(структура)
Представляет измерение для настраиваемой метрики.
Name -> (строка)
Value -> (строка)
Statistic -> (строка)
Sum.Unit -> (строка)
ScheduledActionBufferTime -> (целое число)
Количество времени в секундах, необходимое для буферизации времени выполнения запланированных действий масштабирования при масштабировании вверх. Например, если прогноз указывает на добавление ресурсов в 10:00 утра, а время буфера составляет 5 минут, то время выполнения соответствующего запланированного действия масштабирования будет 9:55 утра. Цель состоит в том, чтобы дать ресурсам время на предоставление. Например, для запуска экземпляра EC2 может потребоваться несколько минут. Фактическое необходимое время зависит от нескольких факторов, таких как размер экземпляра и наличие скриптов запуска для завершения.
Значение должно быть меньше, чем продолжительность интервала прогноза 3600 секунд (60 минут). По умолчанию значение равно 300 секундам.
Действительно только при настройке предсказательного масштабирования.
PredictiveScalingMaxCapacityBehavior -> (строка)
Определяет поведение, которое должно применяться, если прогнозируемая емкость приближается к или превышает максимальную емкость, указанную для ресурса. Значение по умолчанию — SetForecastCapacityToMaxCapacity .
Возможные значения:
-
SetForecastCapacityToMaxCapacity— AWS Auto Scaling не может увеличить емкость ресурсов выше максимальной емкости. Максимальная емкость применяется как жёсткий лимит. -
SetMaxCapacityToForecastCapacity— AWS Auto Scaling может увеличить емкость ресурсов выше максимальной емкости, чтобы она соответствовала, но не превышала прогнозируемую емкость. -
SetMaxCapacityAboveForecastCapacity— AWS Auto Scaling может увеличить емкость ресурсов выше максимальной емкости на определенное значение буфера. Цель состоит в том, чтобы предоставить политике масштабирования по отслеживанию целевых значений дополнительную емкость в случае возникновения непредвиденного трафика.
Действительно только при настройке предсказательного масштабирования.
PredictiveScalingMaxCapacityBuffer -> (целое число)
Размер буфера емкости, который следует использовать, когда прогнозируемая емкость близка к или превышает максимальную емкость. Значение указывается как процент от прогнозируемой емкости. Например, если буфер равен 10, это означает 10-процентный буфер, так что если прогнозируемая емкость составляет 50, а максимальная емкость — 40, то эффективная максимальная емкость равна 55.
Действительно только при настройке предсказательного масштабирования. Требуется, если PredictiveScalingMaxCapacityBehavior задан как SetMaxCapacityAboveForecastCapacity , и не может быть использован в противном случае.
Диапазон: 1–100.
PredictiveScalingMode -> (строка)
ForecastAndScale . В противном случае AWS Auto Scaling прогнозирует емкость, но не создаёт никаких запланированных действий масштабирования на основе прогноза емкости.ScalingPolicyUpdateBehavior -> (строка)
Управляет тем, сохраняются или заменяются внешние политики масштабирования ресурса.
Значение по умолчанию — KeepExternalPolicies . Если параметр установлен в ReplaceExternalPolicies , любые политики масштабирования, которые внешние для AWS Auto Scaling, удаляются, а новые политики масштабирования по отслеживанию целевых значений создаются.
Действительно только при настройке динамического масштабирования.
Условие: Количество существующих политик, которые необходимо заменить, должно быть меньше или равно 50. Если политик для замены больше 50, AWS Auto Scaling сохраняет все существующие политики и не создаёт новые.
DisableDynamicScaling -> (булево)
Управляет тем, отключено ли динамическое масштабирование AWS Auto Scaling. При включенном динамическом масштабировании AWS Auto Scaling создаёт политики масштабирования по отслеживанию целевых значений на основе указанных настроек отслеживания целевых значений.
По умолчанию включено (false).
Синтаксис JSON:
[
{
"ServiceNamespace": "autoscaling"|"ecs"|"ec2"|"rds"|"dynamodb",
"ResourceId": "string",
"ScalableDimension": "autoscaling:autoScalingGroup:DesiredCapacity"|"ecs:service:DesiredCount"|"ec2:spot-fleet-request:TargetCapacity"|"rds:cluster:ReadReplicaCount"|"dynamodb:table:ReadCapacityUnits"|"dynamodb:table:WriteCapacityUnits"|"dynamodb:index:ReadCapacityUnits"|"dynamodb:index:WriteCapacityUnits",
"MinCapacity": integer,
"MaxCapacity": integer,
"TargetTrackingConfigurations": [
{
"PredefinedScalingMetricSpecification": {
"PredefinedScalingMetricType": "ASGAverageCPUUtilization"|"ASGAverageNetworkIn"|"ASGAverageNetworkOut"|"DynamoDBReadCapacityUtilization"|"DynamoDBWriteCapacityUtilization"|"ECSServiceAverageCPUUtilization"|"ECSServiceAverageMemoryUtilization"|"ALBRequestCountPerTarget"|"RDSReaderAverageCPUUtilization"|"RDSReaderAverageDatabaseConnections"|"EC2SpotFleetRequestAverageCPUUtilization"|"EC2SpotFleetRequestAverageNetworkIn"|"EC2SpotFleetRequestAverageNetworkOut",
"ResourceLabel": "string"
},
"CustomizedScalingMetricSpecification": {
"MetricName": "string",
"Namespace": "string",
"Dimensions": [
{
"Name": "string",
"Value": "string"
}
...
],
"Statistic": "Average"|"Minimum"|"Maximum"|"SampleCount"|"Sum",
"Unit": "string"
},
"TargetValue": double,
"DisableScaleIn": true|false,
"ScaleOutCooldown": integer,
"ScaleInCooldown": integer,
"EstimatedInstanceWarmup": integer
}
...
],
"PredefinedLoadMetricSpecification": {
"PredefinedLoadMetricType": "ASGTotalCPUUtilization"|"ASGTotalNetworkIn"|"ASGTotalNetworkOut"|"ALBTargetGroupRequestCount",
"ResourceLabel": "string"
},
"CustomizedLoadMetricSpecification": {
"MetricName": "string",
"Namespace": "string",
"Dimensions": [
{
"Name": "string",
"Value": "string"
}
...
],
"Statistic": "Average"|"Minimum"|"Maximum"|"SampleCount"|"Sum",
"Unit": "string"
},
"ScheduledActionBufferTime": integer,
"PredictiveScalingMaxCapacityBehavior": "SetForecastCapacityToMaxCapacity"|"SetMaxCapacityToForecastCapacity"|"SetMaxCapacityAboveForecastCapacity",
"PredictiveScalingMaxCapacityBuffer": integer,
"PredictiveScalingMode": "ForecastAndScale"|"ForecastOnly",
"ScalingPolicyUpdateBehavior": "KeepExternalPolicies"|"ReplaceExternalPolicies",
"DisableDynamicScaling": true|false
}
...
]
--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 версии 1, и двоичные значения должны быть переданы буквально. При предоставлении содержимого из файла, которое отображается как двоичный блок, fileb:// всегда будет рассматриваться как двоичный и будет использовать содержимое файла напрямую независимо от настроек cli-binary-format. При использовании file:// содержимое файла должно быть должным образом отформатировано для настроенного cli-binary-format.
- base64
- raw-in-base64-out
--no-cli-pager (булево)
Отключить пейджер CLI для вывода.
--cli-auto-prompt (булево)
Автоматически запрашивать параметры входных данных CLI.
--no-cli-auto-prompt (булево)
Отключить автоматический запрос параметров входных данных CLI.
Примеры
Примечание
Для использования следующих примеров вам необходимо иметь установленный и настроенный AWS CLI. Подробнее см. руководство по началу работы в Руководстве пользователя AWS CLI.
Если не указано иное, во всех примерах используются правила цитирования для уникс-подобных оболочек. Эти примеры необходимо адаптировать к правилам цитирования вашей оболочки. См. раздел Использование кавычек со строками в Руководстве пользователя AWS CLI.
Для создания плана масштабирования
Следующий create-scaling-plan пример создаёт план масштабирования с именем my-scaling-plan, используя уже созданный файл JSON (с именем config.json). Структура плана масштабирования включает инструкцию по масштабированию для группы Auto Scaling с именем my-asg. Он указывает свойство TagFilters в качестве источника приложения и включает предсказательное и динамическое масштабирование.
aws autoscaling-plans create-scaling-plan \
--scaling-plan-name my-scaling-plan \
--cli-input-json file://~/config.json
Содержимое файла config.json:
{
"ApplicationSource": {
"TagFilters": [
{
"Key": "purpose",
"Values": [
"my-application"
]
}
]
},
"ScalingInstructions": [
{
"ServiceNamespace": "autoscaling",
"ResourceId": "autoScalingGroup/my-asg",
"ScalableDimension": "autoscaling:autoScalingGroup:DesiredCapacity",
"ScheduledActionBufferTime": 300,
"PredictiveScalingMaxCapacityBehavior": "SetForecastCapacityToMaxCapacity",
"PredictiveScalingMode": "ForecastAndScale",
"PredefinedLoadMetricSpecification": {
"PredefinedLoadMetricType": "ASGTotalCPUUtilization"
},
"ScalingPolicyUpdateBehavior": "ReplaceExternalPolicies",
"MinCapacity": 1,
"MaxCapacity": 4,
"TargetTrackingConfigurations": [
{
"PredefinedScalingMetricSpecification": {
"PredefinedScalingMetricType": "ASGAverageCPUUtilization"
},
"TargetValue": 50
}
]
}
]
}
Вывод:
{
"ScalingPlanVersion": 1
}
Для получения дополнительной информации см. руководство пользователя AWS Auto Scaling.
Вывод
ScalingPlanVersion -> (длинное целое число)
1 . В настоящее время у вас не может быть нескольких версий плана масштабирования.
© Copyright 2025, Amazon Web Services. Created using Sphinx.