Spec-Zone.ru › AWS CLI v2

[ aws . ecs ]

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 (строка)

Короткое имя или полное Amazon Resource Name (ARN) кластера, в котором находится сервис, содержащий набор задач.

--service (строка)

Короткое имя или полное Amazon Resource Name (ARN) сервиса, содержащего набор задач.

--primary-task-set (строка)

Короткое имя или полное Amazon Resource Name (ARN) набора задач, который нужно установить как основной набор задач в развертывании.

--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 -> (строка)

Amazon Resource Name (ARN) набора задач.

serviceArn -> (строка)

Amazon Resource Name (ARN) сервиса, в котором существует набор задач.

clusterArn -> (строка)

Amazon Resource Name (ARN) кластера, в котором существует сервис, содержащий набор задач.

startedBy -> (строка)

Тег, указанный при запуске набора задач. Если набор задач был создан развертыванием CodeDeploy, параметр startedBy имеет значение CODE_DEPLOY. Если набор задач был создан внешним развертыванием, поле startedBy не используется.

externalId -> (строка)

Внешний идентификатор, связанный с набором задач.

Если набор задач был создан развертыванием CodeDeploy, параметр externalId содержит ID развертывания CodeDeploy.

Если набор задач создан для внешнего развертывания и связан с реестром обнаружения служб, параметр externalId содержит атрибут ECS_TASK_SET_EXTERNAL_ID Cloud Map.

status -> (строка)

Состояние набора задач. Ниже описано каждое состояние.

PRIMARY

Набор задач предоставляет трафик для производства.

ACTIVE

Набор задач не предоставляет трафик для производства.

DRAINING

Задачи в наборе задач останавливаются, а соответствующие цели дерегистрируются из группы целей.

taskDefinition -> (строка)

Определения задачи, используемые набором задач.

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

Вычисленное желаемое количество задач для набора задач. Это вычисляется путем умножения desiredCount сервиса на процент scale набора задач. Результат всегда округляется вверх. Например, если вычисленное желаемое количество равно 1,2, оно округляется до 2 задач.

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

Количество задач в наборе задач, находящихся в состоянии PENDING во время развертывания. Задача в состоянии PENDING готовится перейти в состояние RUNNING. Набор задач переходит в состояние PENDING, когда он запускается впервые или перезапускается после состояния STOPPED.

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

Количество задач в наборе задач, находящихся в состоянии RUNNING во время развертывания. Задача в состоянии RUNNING запущена и готова к использованию.

createdAt -> (метка времени)

Маркер времени Unix для момента создания набора задач.

updatedAt -> (метка времени)

Маркер времени Unix для последнего обновления набора задач.

launchType -> (строка)

Тип запуска, используемый задачами в наборе задач. Дополнительную информацию см. в руководстве Amazon Elastic Container Service Developer Guide.

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 -> (целое число)

Значение base определяет минимальное количество задач, которые необходимо запустить на указанном поставщике емкости. Только один поставщик емкости в стратегии поставщиков емкости может иметь определенное значение base. Если значение не указано, используется значение по умолчанию 0.

platformVersion -> (строка)

Версия платформы Fargate, на которой выполняются задачи в наборе задач. Версия платформы указывается только для задач, выполняемых на Fargate. Дополнительную информацию см. в руководстве Amazon Elastic Container Service Developer Guide.

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 -> (строка)

Имя ресурса Amazon (ARN) реестра сервисов. В настоящее время поддерживается Cloud Map. Дополнительную информацию см. в разделе CreateService.

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

Значение порта, используемое, если служба обнаружения сервисов указала запись SRV. Этот параметр может использоваться, если используются как режим сети 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 -> (временная метка)

Маркер Unix для времени получения статуса стабильности набора задач.

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 -> (строка)

Укажите идентификатор ключа управления ключами (KMS), чтобы зашифровать временное хранилище для развертывания.

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

Spec-Zone.ru

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