update-service-primary-task-set
Описание
Изменяет набор задач в сервисе, который является основным. Любые параметры, обновленные в основном наборе задач в сервисе, будут переведены в сервис. Это используется, когда сервис использует тип контроллера развертывания EXTERNAL. Для получения дополнительной информации см. Типы развертывания Amazon ECS в Руководстве разработчика Amazon Elastic Container Service.
См. также: Документация API AWS
Синтаксис
update-service-primary-task-set
--cluster <value>
--service <value>
--primary-task-set <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]
Параметры
--cluster (строка)
--service (строка)
--primary-task-set (строка)
--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 pager.
--cli-auto-prompt (логическое значение)
Автоматически запрашивать параметры ввода CLI.
--no-cli-auto-prompt (логическое значение)
Отключить автоматическое запросы параметров ввода CLI.
Примеры
Примечание
Для использования следующих примеров вам необходимо установить и настроить AWS CLI. Более подробную информацию см. в руководстве по началу работы в Руководстве пользователя AWS CLI.
Если не указано иное, все примеры используют правила цитирования, подобные unix-подобным. Эти примеры необходимо адаптировать к правилам цитирования вашей оболочки. См. Использование кавычек со строками в Руководстве пользователя AWS CLI.
Чтобы обновить основной набор задач для сервиса
Следующий update-service-primary-task-set пример обновляет основной набор задач для указанного сервиса.
aws ecs update-service-primary-task-set \
--cluster MyCluster \
--service MyService \
--primary-task-set arn:aws:ecs:us-west-2:123456789012:task-set/MyCluster/MyService/ecs-svc/1234567890123456789
Вывод:
{
"taskSet": {
"id": "ecs-svc/1234567890123456789",
"taskSetArn": "arn:aws:ecs:us-west-2:123456789012:task-set/MyCluster/MyService/ecs-svc/1234567890123456789",
"status": "PRIMARY",
"taskDefinition": "arn:aws:ecs:us-west-2:123456789012:task-definition/sample-fargate:2",
"computedDesiredCount": 1,
"pendingCount": 0,
"runningCount": 0,
"createdAt": 1557128360.711,
"updatedAt": 1557129412.653,
"launchType": "EC2",
"networkConfiguration": {
"awsvpcConfiguration": {
"subnets": [
"subnet-12344321"
],
"securityGroups": [
"sg-12344312"
],
"assignPublicIp": "DISABLED"
}
},
"loadBalancers": [],
"serviceRegistries": [],
"scale": {
"value": 50.0,
"unit": "PERCENT"
},
"stabilityStatus": "STABILIZING",
"stabilityStatusAt": 1557129279.914
}
}
Вывод
taskSet -> (структура)
Подробная информация о наборе задач.
id -> (строка)
taskSetArn -> (строка)
serviceArn -> (строка)
clusterArn -> (строка)
startedBy -> (строка)
startedBy имеет значение CODE_DEPLOY. Если набор задач был создан внешним развертыванием, поле startedBy не используется.externalId -> (строка)
Внешний идентификатор, связанный с набором задач.
Если набор задач был создан развертыванием CodeDeploy, параметр externalId содержит ID развертывания CodeDeploy.
Если набор задач создан для внешнего развертывания и связан с реестром обнаружения служб, параметр externalId содержит атрибут ECS_TASK_SET_EXTERNAL_ID Cloud Map.
status -> (строка)
Состояние набора задач. Ниже описано каждое состояние.
Набор задач предоставляет трафик для производства.
Набор задач не предоставляет трафик для производства.
Задачи в наборе задач останавливаются, а соответствующие цели дерегистрируются из группы целей.
taskDefinition -> (строка)
computedDesiredCount -> (целое число)
desiredCount сервиса на процент scale набора задач. Результат всегда округляется вверх. Например, если вычисленное желаемое количество равно 1,2, оно округляется до 2 задач.pendingCount -> (целое число)
PENDING во время развертывания. Задача в состоянии PENDING готовится перейти в состояние RUNNING. Набор задач переходит в состояние PENDING, когда он запускается впервые или перезапускается после состояния STOPPED.runningCount -> (целое число)
RUNNING во время развертывания. Задача в состоянии RUNNING запущена и готова к использованию.createdAt -> (метка времени)
updatedAt -> (метка времени)
launchType -> (строка)
capacityProviderStrategy -> (список)
Стратегия поставщика емкости, связанная с набором задач.
(структура)
Подробности стратегии поставщика емкости. Стратегию поставщика емкости можно задать при использовании API RunTask или CreateCluster, или в качестве стратегии по умолчанию для кластера с помощью API CreateCluster.
Можно использовать только поставщиков емкости, уже связанных с кластером и имеющих статус ACTIVE или UPDATING. Для привязки поставщика емкости к кластеру используется API PutClusterCapacityProviders.
Если задается поставщик емкости, использующий группу Auto Scaling, поставщик емкости должен быть уже создан. Новые поставщики емкости группы Auto Scaling могут быть созданы с помощью операции API CreateClusterCapacityProvider.
Для использования поставщика емкости Fargate укажите поставщиков емкости FARGATE или FARGATE_SPOT. Поставщики емкости Fargate доступны всем учетным записям и должны быть только связаны с кластером, чтобы использоваться в стратегии поставщика емкости.
С помощью FARGATE_SPOT вы можете запускать задачи, устойчивые к прерываниям, по ставке, сниженной по сравнению с ценой FARGATE. FARGATE_SPOT запускает задачи на свободных вычислительных ресурсах. Когда Amazon Web Services нуждается в этих ресурсах, ваши задачи прерываются с двухминутным предупреждением. FARGATE_SPOT поддерживает задачи Linux с архитектурой x86_64 на версии платформы 1.3.0 или более поздней. FARGATE_SPOT поддерживает задачи Linux с архитектурой ARM64 на версии платформы 1.4.0 или более поздней.
Стратегия поставщика емкости может содержать не более 20 поставщиков емкости.
capacityProvider -> (строка)
weight -> (целое число)
Значение weight определяет относительный процент общего числа запусков задач, которые должны использовать указанного поставщика емкости. Значение weight учитывается после значения base, если оно определено.
Если значение weight не указано, используется значение по умолчанию 0. При указании нескольких поставщиков емкости в стратегии поставщика емкости по крайней мере один из поставщиков емкости должен иметь значение weight больше нуля, а поставщики емкости с весом 0 не могут использоваться для размещения задач. Если вы укажете несколько поставщиков емкости в стратегии, у которых все имеют значение weight равное 0, любые действия RunTask или CreateService, использующие стратегию поставщика емкости, завершатся с ошибкой.
Пример использования весов: определение стратегии, содержащей двух поставщиков емкости и оба имеют вес 1, тогда, когда удовлетворяются требования к base, задачи будут распределяться равномерно между двумя поставщиками емкости. Используя тот же принцип, если задать вес 1 для capacityProviderA и вес 4 для capacityProviderB, то на каждую задачу, запущенную с помощью capacityProviderA, четыре задачи будут использовать capacityProviderB.
base -> (целое число)
0.platformVersion -> (строка)
platformFamily -> (строка)
Операционная система, на которой выполняются задачи в наборе. Семейство платформ указывается только для задач, использующих тип запуска Fargate.
Все задачи в наборе должны иметь одинаковое значение.
networkConfiguration -> (структура)
Настройка сети для набора задач.
awsvpcConfiguration -> (структура)
Подсети VPC и группы безопасности, связанные с задачей.
Примечание
Все указанные подсети и группы безопасности должны быть из одной VPC.subnets -> (список)
Идентификаторы подсетей, связанных с задачей или службой. Можно указать до 16 подсетей.
Примечание
Все указанные подсети должны быть из одной VPC.(строка)
securityGroups -> (список)
Идентификаторы групп безопасности, связанных с задачей или службой. Если вы не укажете группу безопасности, будет использоваться группа безопасности по умолчанию для VPC. Можно указать до 5 групп безопасности.
Примечание
Все указанные группы безопасности должны быть из одной VPC.(строка)
assignPublicIp -> (строка)
Получает ли эластический сетевой интерфейс задачи публичный IP-адрес.
Учитывайте следующие моменты при установке этого значения:
- При использовании
create-serviceилиupdate-serviceзначение по умолчанию равноDISABLED. - Когда служба
deploymentControllerнаходится в состоянииECS, значение должно бытьDISABLED.
loadBalancers -> (список)
Подробности о балансировщике нагрузки, используемом с набором задач.
(структура)
Настройка балансировщика нагрузки, используемая с сервисом или набором задач.
При добавлении, обновлении или удалении конфигурации балансировщика нагрузки Amazon ECS запускает новую развертку с обновлённой конфигурацией Elastic Load Balancing. Это приводит к регистрации и дерегистрации задач в балансировщиках.
Рекомендуется проверить это в тестовой среде перед обновлением конфигурации Elastic Load Balancing.
Для сервисов, использующих несколько целевых групп, требуется роль, связанная с сервисом. Дополнительную информацию см. в разделе «Использование ролей, связанных с сервисом», в Руководстве разработчика Amazon Elastic Container Service.
targetGroupArn -> (строка)
Полное имя ресурса Amazon (ARN) целевой группы или групп Elastic Load Balancing, связанных с сервисом или набором задач.
ARN целевой группы указывается только при использовании Application Load Balancer или Network Load Balancer.
Для сервисов, использующих ECS контроллер развертывания, можно указать одну или несколько целевых групп. Дополнительную информацию см. в разделе «Регистрация нескольких целевых групп с сервисом» в Руководстве разработчика Amazon Elastic Container Service.
Для сервисов, использующих CODE_DEPLOY контроллер развертывания, требуется определить две целевые группы для балансировщика. Дополнительную информацию см. в разделе «Развертывание типа «синий/зелёный» с CodeDeploy» в Руководстве разработчика Amazon Elastic Container Service.
Предупреждение
Если определение задачи вашего сервиса использует режим сетиawsvpc, необходимо выбрать ip в качестве типа целевой группы, а не instance. Сделайте это при создании целевых групп, так как задачи, использующие режим сети awsvpc, связаны с интерфейсом эластичной сети, а не с экземпляром Amazon EC2. Этот режим сети необходим для типа запуска Fargate.loadBalancerName -> (строка)
Имя балансировщика нагрузки, который нужно связать с сервисом или набором задач Amazon ECS.
Если вы используете Application Load Balancer или Network Load Balancer, параметр имени балансировщика нагрузки следует опустить.
containerName -> (строка)
Имя контейнера (как оно отображается в определении контейнера) для связывания с балансировщиком нагрузки.
Имя контейнера необходимо указать при конфигурировании целевой группы для балансировщика нагрузки Amazon ECS.
containerPort -> (целое число)
containerPort в определении задачи, используемой задачами в службе. Для задач, использующих тип запуска EC2, экземпляр контейнера, на котором они запускаются, должен разрешать входящий трафик на hostPort сопоставления портов.serviceRegistries -> (список)
Подробности о реестрах обнаружения сервисов, которые нужно назначить этому набору задач. Дополнительную информацию см. в разделе Обнаружение сервисов.
(структура)
Подробности реестра сервиса.
Каждый сервис может быть связан с одним реестром сервисов. Несколько реестров сервисов для каждого сервиса не поддерживаются.
При добавлении, обновлении или удалении конфигурации реестров сервисов Amazon ECS запускает новую развертку. Новые задачи регистрируются и дерегистрируются с обновлённой конфигурацией реестра сервиса.
registryArn -> (строка)
port -> (целое число)
awsvpc, так и записи SRV.containerName -> (строка)
bridge или host, необходимо указать комбинацию containerName и containerPort из определения задачи. Если определение задачи вашей задачи сервиса использует режим сети awsvpc и используется запись DNS типа SRV, необходимо указать комбинацию containerName и containerPort или значение port. Однако нельзя указать оба.containerPort -> (целое число)
bridge или host, необходимо указать комбинацию containerName и containerPort из определения задачи. Если определение задачи вашей задачи сервиса использует режим сети awsvpc и используется запись DNS типа SRV, необходимо указать либо комбинацию containerName и containerPort, либо значение port. Однако нельзя указать оба.scale -> (структура)
Плавающая десятичная дробь вашего желаемого количества задач для размещения и поддержания в наборе задач.
value -> (двойное значение)
desiredCount сервиса, для масштабирования набора задач. Допускаются значения от 0 до 100.unit -> (строка)
stabilityStatus -> (строка)
Статус стабильности. Это указывает, достиг ли набор задач стабильного состояния. Если выполнены следующие условия, набор задач находится в состоянии STEADY_STATE:
- Количество задач
runningCountравноcomputedDesiredCount. pendingCountнаходится в состоянии0.- Нет задач, работающих на экземплярах контейнеров в состоянии
DRAINING. - Все задачи сообщают о здоровом состоянии от балансировщиков нагрузки, обнаружения сервисов и проверок состояния контейнера.
Если какое-либо из этих условий не выполняется, статус стабильности возвращает STABILIZING.
stabilityStatusAt -> (временная метка)
tags -> (список)
Метаданные, которые вы применяете к набору задач, чтобы помочь в их категоризации и организации. Каждый тег состоит из ключа и необязательного значения. Вы определяете оба.
Следующие основные ограничения применимы к тегам:
- Максимальное количество тегов на ресурс — 50
- Для каждого ресурса каждый ключ тега должен быть уникальным, и каждый ключ тега может иметь только одно значение.
- Максимальная длина ключа — 128 символов Юникода в UTF-8
- Максимальная длина значения — 256 символов Юникода в UTF-8
- Если ваша схема тегов используется в нескольких сервисах и ресурсах, помните, что другие сервисы могут иметь ограничения на разрешённые символы. В общем, разрешённые символы: буквы, цифры и пробелы, представляемые в UTF-8, и следующие символы: + - = . _ : / @.
- Ключи и значения тегов чувствительны к регистру.
- Не используйте
aws:,AWS:или любую комбинацию верхнего и нижнего регистра таких префиксов для ключей или значений, так как они зарезервированы для использования Amazon Web Services. Вы не можете редактировать или удалять ключи или значения тегов с этим префиксом. Теги с этим префиксом не учитываются в ограничении на количество тегов на ресурс.
(структура)
Метаданные, которые вы применяете к ресурсу, чтобы помочь в их категоризации и организации. Каждый тег состоит из ключа и необязательного значения. Вы определяете их.
Следующие основные ограничения применимы к тегам:
- Максимальное количество тегов на ресурс — 50
- Для каждого ресурса каждый ключ тега должен быть уникальным, и каждый ключ тега может иметь только одно значение.
- Максимальная длина ключа — 128 символов Юникода в UTF-8
- Максимальная длина значения — 256 символов Юникода в UTF-8
- Если ваша схема тегов используется в нескольких сервисах и ресурсах, помните, что другие сервисы могут иметь ограничения на разрешённые символы. В общем, разрешённые символы: буквы, цифры и пробелы, представляемые в UTF-8, и следующие символы: + - = . _ : / @.
- Ключи и значения тегов чувствительны к регистру.
- Не используйте
aws:,AWS:или любую комбинацию верхнего и нижнего регистра таких префиксов для ключей или значений, так как они зарезервированы для использования Amazon Web Services. Вы не можете редактировать или удалять ключи или значения тегов с этим префиксом. Теги с этим префиксом не учитываются в ограничении на количество тегов на ресурс.
key -> (строка)
value -> (строка)
fargateEphemeralStorage -> (структура)
Настройки Fargate временного хранилища для набора задач.
kmsKeyId -> (строка)
© Copyright 2025, Amazon Web Services. Created using Sphinx.