Spec-Zone.ru › AWS CLI v2

[ aws . ecs ]

run-task

Описание

Запускает новую задачу с использованием указанной определения задачи.

Примечание

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

Примечание

Amazon Elastic Inference (EI) больше недоступен клиентам.

Вы можете разрешить Amazon ECS размещать задачи за вас, или вы можете настроить способ размещения задач Amazon ECS с помощью ограничений размещения и стратегий размещения. Дополнительную информацию см. в разделе Планирование задач в руководстве разработчика Amazon Elastic Container Service.

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

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

API Amazon ECS следует модели согласованности по принципу конечной согласованности. Это связано с распределённой природой системы, поддерживающей API. Это означает, что результат команды API, которую вы выполняете, влияющей на ваши ресурсы Amazon ECS, может быть не сразу виден всем последующим командам, которые вы выполняете. Имейте это в виду, когда вы выполняете команду API сразу после предыдущей команды API.

Для управления конечной согласованностью вы можете сделать следующее:

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

Если вы получите ошибку ConflictException, запрос RunTask не смог быть обработан из-за конфликтов. Предоставленный clientToken уже используется с другим запросом RunTask. resourceIds - это существующие ARN задач, которые уже связаны с clientToken.

Чтобы исправить эту проблему:

  • Выполните RunTask с уникальным clientToken.
  • Выполните RunTask с clientToken и исходным набором параметров.

Если вы получите ошибку ClientException, RunTask не удалось обработать, потому что вы используете управляемое масштабирование, и есть ошибка ёмкости, потому что квота задач в PROVISIONING на кластер достигнута. Информацию о квотах сервиса см. в разделе квоты сервиса Amazon ECS.

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

Синтаксис

  run-task
[--capacity-provider-strategy <value>]
[--cluster <value>]
[--count <value>]
[--enable-ecs-managed-tags | --no-enable-ecs-managed-tags]
[--enable-execute-command | --disable-execute-command]
[--group <value>]
[--launch-type <value>]
[--network-configuration <value>]
[--overrides <value>]
[--placement-constraints <value>]
[--placement-strategy <value>]
[--platform-version <value>]
[--propagate-tags <value>]
[--reference-id <value>]
[--started-by <value>]
[--tags <value>]
--task-definition <value>
[--client-token <value>]
[--volume-configurations <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]

Параметры

--capacity-provider-strategy (список)

Стратегия поставщика ресурсов для задачи.

Если указана стратегия capacityProviderStrategy, параметр launchType должен быть опущен. Если не указана ни стратегия capacityProviderStrategy, ни launchType, используется стратегия defaultCapacityProviderStrategy для кластера.

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

Стратегия поставщика ресурсов может содержать не более 20 поставщиков ресурсов.

(структура)

Подробности стратегии поставщика ресурсов. Стратегию поставщика ресурсов можно установить при использовании 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. Когда в стратегии поставщика ресурсов указано несколько поставщиков ресурсов, по крайней мере один из поставщиков ресурсов должен иметь значение веса, большее нуля, а любые поставщики ресурсов с весом 0 не могут быть использованы для размещения задач. Если в стратегии вы указали несколько поставщиков ресурсов, у которых все имеют вес 0, любые действия RunTask или CreateService с использованием стратегии поставщика ресурсов завершатся ошибкой.

Пример использования весов - определение стратегии, которая содержит двух поставщиков ресурсов, у которых оба имеют вес 1, затем, когда удовлетворяются требования base, задачи будут распределены равномерно между двумя поставщиками ресурсов. Используя ту же логику, если вы указали вес 1 для capacityProviderA и вес 4 для capacityProviderB, то для каждой задачи, запущенной с помощью capacityProviderA, четыре задачи будут использовать capacityProviderB.

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

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

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

capacityProvider=string,weight=integer,base=integer ...

Синтаксис JSON:

[
  {
    "capacityProvider": "string",
    "weight": integer,
    "base": integer
  }
  ...
]

--cluster (строка)

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

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

--count (целое число)

Количество экземпляров указанной задачи, которые нужно разместить в кластере. Вы можете указать до 10 задач для каждого вызова.

--enable-ecs-managed-tags | --no-enable-ecs-managed-tags (булево)

Указывает, использовать ли управляемые Amazon ECS теги для задачи. Более подробную информацию можно найти в разделе «Тегирование ресурсов Amazon ECS» в руководстве разработчика Amazon Elastic Container Service.

--enable-execute-command | --disable-execute-command (булево)

Определяет, использовать ли функциональность команды execute для контейнеров в этой задаче. Если true, это включает функциональность команды execute для всех контейнеров в задаче.

Если true, то определение задачи должно содержать роль задачи, или вы должны предоставить её в качестве переопределения.

--group (строка)

Имя группы задач, которая должна быть связана с задачей. Значение по умолчанию - имя семейства определения задачи (например, family:my-family-name).

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

Инфраструктура для запуска автономной задачи. Более подробную информацию можно найти в разделе Типы запуска Amazon ECS в руководстве разработчика Amazon Elastic Container Service.

Тип запуска FARGATE выполняет ваши задачи на инфраструктуре Fargate On-Demand.

Примечание

Инфраструктура Fargate Spot доступна для использования, но необходимо использовать стратегию поставщика ресурсов. Более подробную информацию можно найти в разделе Поставщики ресурсов Fargate в руководстве разработчика Amazon ECS.

Тип запуска EC2 выполняет ваши задачи на экземплярах Amazon EC2, зарегистрированных в вашем кластере.

Тип запуска EXTERNAL выполняет ваши задачи на вашей локальной серверной или виртуальной инфраструктуре (ВМ), зарегистрированной в вашем кластере.

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

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

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

  • EC2
  • FARGATE
  • EXTERNAL

--network-configuration (структура)

Настройка сети для задачи. Этот параметр обязателен для определений задач, использующих режим сети awsvpc для получения собственного интерфейса эластичной сети, и не поддерживается для других режимов сети. Более подробную информацию можно найти в разделе Сети задач в руководстве разработчика Amazon Elastic Container Service.

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

Подсети VPC и группы безопасности, связанные с задачей.

Примечание

Все указанные подсети и группы безопасности должны быть из одной и той же VPC.

subnets -> (список)

Идентификаторы подсетей, связанные с задачей или службой. Можно указать до 16 подсетей.

Примечание

Все указанные подсети должны быть из одной и той же VPC.

(строка)

securityGroups -> (список)

Идентификаторы групп безопасности, связанные с задачей или службой. Если вы не указываете группу безопасности, используется группа безопасности по умолчанию для VPC. Можно указать до 5 групп безопасности.

Примечание

Все указанные группы безопасности должны быть из одной и той же VPC.

(строка)

assignPublicIp -> (строка)

Получает ли эластичный сетевой интерфейс задачи публичный IP-адрес.

Учитывайте следующее при установке этого значения:

  • При использовании create-service или update-service значение по умолчанию - DISABLED.
  • Когда служба deploymentController находится в состоянии ECS, значение должно быть DISABLED.

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

awsvpcConfiguration={subnets=[string,string],securityGroups=[string,string],assignPublicIp=string}

Синтаксис JSON:

{
  "awsvpcConfiguration": {
    "subnets": ["string", ...],
    "securityGroups": ["string", ...],
    "assignPublicIp": "ENABLED"|"DISABLED"
  }
}

--overrides (структура)

Список переопределений контейнеров в формате JSON, определяющих имя контейнера в заданном определении задачи и переопределения, которые он должен получить. Вы можете переопределить командную строку по умолчанию для контейнера (указанную в определении задачи или Docker образе) с помощью переопределения command. Также вы можете переопределить существующие переменные окружения (указанные в определении задачи или Docker образе) в контейнере или добавить новые переменные окружения с помощью переопределения environment.

Для переопределений разрешено 8192 символа. Этот лимит включает символы форматирования JSON структуры переопределения.

containerOverrides -> (список)

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

(структура)

Переопределения, отправленные контейнеру. Можно передать пустое переопределение контейнера. Пример пустого переопределения контейнера - {"containerOverrides": [ ] }. Если указано непустое переопределение контейнера, необходимо включить параметр name.

Вы можете использовать Secrets Manager или Amazon Web Services Systems Manager Parameter Store для хранения конфиденциальных данных. Дополнительную информацию см. в руководстве разработчика Amazon ECS: Получение секретов через переменные окружения.

name -> (строка)

Имя контейнера, который получает переопределение. Этот параметр обязателен, если указано какое-либо переопределение.

command -> (список)

Команда, отправленная контейнеру, которая переопределяет команду по умолчанию из Docker образа или определения задачи. Вам также необходимо указать имя контейнера.

(строка)

environment -> (список)

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

(структура)

Объект пары «ключ-значение».

name -> (строка)

Имя пары «ключ-значение». Для переменных окружения это имя переменной окружения.

value -> (строка)

Значение пары «ключ-значение». Для переменных окружения это значение переменной окружения.

environmentFiles -> (список)

Список файлов, содержащих переменные окружения, передаваемые контейнеру вместо значения из определения контейнера.

(структура)

Список файлов, содержащих переменные окружения, передаваемые контейнеру. Вы можете указать до десяти файлов переменных окружения. Файл должен иметь расширение .env. Каждая строка в файле переменных окружения должна содержать переменную окружения в формате VARIABLE=VALUE. Строки, начинающиеся с #, рассматриваются как комментарии и игнорируются.

Если переменные окружения указаны с помощью параметра environment в определении контейнера, они имеют приоритет над переменными, содержащимися в файле переменных окружения. Если несколько файлов переменных окружения содержат одну и ту же переменную, они обрабатываются сверху вниз. Рекомендуется использовать уникальные имена переменных. Дополнительную информацию см. в разделе «Использование файла для передачи переменных окружения в контейнер» в руководстве разработчика Amazon Elastic Container Service.

Файлы переменных окружения являются объектами в Amazon S3, и все соображения безопасности Amazon S3 применимы.

Для типа запуска Fargate необходимо использовать следующие платформы:

  • Платформа Linux версии 1.4.0 или выше.
  • Платформа Windows версии 1.0.0 или выше.

Рассмотрите следующие моменты при использовании типа запуска Fargate:

  • Файл обрабатывается как родной Docker env-файл.
  • Обработка экранирования оболочки не поддерживается.
  • Точка входа контейнера интерпретирует значения VARIABLE.

value -> (строка)

Amazon Resource Name (ARN) объекта Amazon S3, содержащего файл переменных окружения.

type -> (строка)

Тип файла для использования. Файлы переменных окружения являются объектами в Amazon S3. Поддерживается только значение s3.

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

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

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

Жесткий лимит памяти (в МБ) для контейнера, вместо значения по умолчанию из определения задачи. Если контейнер пытается превысить указанный здесь объем памяти, контейнер завершается. Вам также необходимо указать имя контейнера.

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

Мягкий лимит памяти (в МБ) для резервирования контейнера, вместо значения по умолчанию из определения задачи. Вам также необходимо указать имя контейнера.

resourceRequirements -> (список)

Тип и количество ресурса, назначаемого контейнеру, вместо значения по умолчанию из определения задачи. Поддерживается только ресурс GPU.

(структура)

Тип и количество ресурса, назначаемого контейнеру. Поддерживаемые типы ресурсов — GPU и ускорители Elastic Inference. Дополнительную информацию см. в руководстве разработчика Amazon Elastic Container Service: Работа с GPU в Amazon ECS или Работа с Amazon Elastic Inference в Amazon ECS.

value -> (строка)

Значение для указанного типа ресурса.

Когда тип — GPU, значение — количество физических GPUs, зарезервированных агентом Amazon ECS контейнера для контейнера. Количество GPU, зарезервированных для всех контейнеров в задаче, не может превышать количества доступных GPU на экземпляре контейнера, на котором запущена задача.

Когда тип — InferenceAccelerator, значение value соответствует значению deviceName для ускорителя Inference, указанного в определении задачи.

type -> (строка)

Тип ресурса, который нужно назначить контейнеру.

cpu -> (строка)

Переопределение CPU для задачи.

inferenceAcceleratorOverrides -> (список)

Переопределение ускорителя Elastic Inference для задачи.

(структура)

Подробности о переопределении задачи ускорителя Elastic Inference. Этот параметр используется для переопределения ускорителя Elastic Inference, указанного в определении задачи. Дополнительную информацию см. в руководстве разработчика Amazon Elastic Container Service: Работа с Amazon Elastic Inference в Amazon ECS.

deviceName -> (строка)

Имя устройства ускорителя Elastic Inference для переопределения в задаче. Этот параметр должен соответствовать значению deviceName, указанному в определении задачи.

deviceType -> (строка)

Тип ускорителя Elastic Inference, который нужно использовать.

executionRoleArn -> (строка)

Amazon Resource Name (ARN) переопределения роли выполнения задачи для задачи. Дополнительную информацию см. в руководстве разработчика Amazon Elastic Container Service: Роль IAM для выполнения задач Amazon ECS.

memory -> (строка)

Переопределение памяти для задачи.

taskRoleArn -> (строка)

Amazon Resource Name (ARN) роли, которую контейнеры в этой задаче могут принять. Все контейнеры в этой задаче получают разрешения, указанные в этой роли. Дополнительную информацию см. в руководстве разработчика Amazon Elastic Container Service: Роль IAM для задач.

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

Переопределение настроек временного хранилища для задачи.

Примечание

Этот параметр поддерживается только для задач, размещенных на Fargate, которые используют следующие версии платформы:

  • Платформа Linux версии 1.4.0 или выше.
  • Платформа Windows версии 1.0.0 или выше.

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

Общий объем временного хранилища в GiB для задачи. Минимальное поддерживаемое значение — 21 GiB, максимальное — 200 GiB.

Синтаксис JSON:

{
  "containerOverrides": [
    {
      "name": "string",
      "command": ["string", ...],
      "environment": [
        {
          "name": "string",
          "value": "string"
        }
        ...
      ],
      "environmentFiles": [
        {
          "value": "string",
          "type": "s3"
        }
        ...
      ],
      "cpu": integer,
      "memory": integer,
      "memoryReservation": integer,
      "resourceRequirements": [
        {
          "value": "string",
          "type": "GPU"|"InferenceAccelerator"
        }
        ...
      ]
    }
    ...
  ],
  "cpu": "string",
  "inferenceAcceleratorOverrides": [
    {
      "deviceName": "string",
      "deviceType": "string"
    }
    ...
  ],
  "executionRoleArn": "string",
  "memory": "string",
  "taskRoleArn": "string",
  "ephemeralStorage": {
    "sizeInGiB": integer
  }
}

--placement-constraints (список)

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

(структура)

Объект, представляющий ограничение размещения задачи. Дополнительную информацию см. в руководстве разработчика Amazon Elastic Container Service: Ограничения размещения задач.

Примечание

Если вы используете тип запуска Fargate, ограничения размещения задач не поддерживаются.

type -> (строка)

Тип ограничения. Используйте distinctInstance, чтобы гарантировать, что каждая задача в определенной группе запускается на разных экземплярах контейнера. Используйте memberOf, чтобы ограничить выбор группой допустимых кандидатов.

expression -> (строка)

Выражение языка запросов кластера для применения к ограничению. Длина выражения может составлять максимум 2000 символов. Вы не можете указать выражение, если тип ограничения — distinctInstance. Дополнительную информацию см. в руководстве разработчика Amazon Elastic Container Service: Язык запросов кластера.

Сокращенный синтаксис:

type=string,expression=string ...

Синтаксис JSON:

[
  {
    "type": "distinctInstance"|"memberOf",
    "expression": "string"
  }
  ...
]

--placement-strategy (список)

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

(структура)

Стратегия размещения задач для задачи или службы. Дополнительную информацию см. в руководстве разработчика Amazon Elastic Container Service: Стратегии размещения задач.

type -> (строка)

Тип стратегии размещения. Стратегия размещения random случайным образом размещает задачи на доступных кандидатах. Стратегия размещения spread равномерно распределяет размещение по доступным кандидатам на основе параметра field. Стратегия binpack размещает задачи на доступных кандидатах с наименьшим доступным объемом ресурса, указанного параметром field. Например, если вы используете binpack по памяти, задача размещается на экземпляре с наименьшим объемом оставшейся памяти, но достаточным для запуска задачи.

field -> (строка)

Поле, к которому применяется стратегия размещения. Для стратегии размещения spread допустимые значения — instanceId (или host, что имеет тот же эффект) или любой атрибут платформы или пользовательский атрибут, примененный к экземпляру контейнера, например attribute:ecs.availability-zone. Для стратегии размещения binpack допустимые значения — cpu и memory. Для стратегии размещения random это поле не используется.

Сокращенный синтаксис:

type=string,field=string ...

Синтаксис JSON:

[
  {
    "type": "random"|"spread"|"binpack",
    "field": "string"
  }
  ...
]

--platform-version (строка)

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

--propagate-tags (строка)

Указывает, следует ли распространять метки из определения задачи на задачу. Если значение не указано, метки не распространяются. Метки могут быть распространены на задачу только во время создания задачи. Чтобы добавить метки к задаче после её создания, используйте действие API `TagResource <https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_TagResource.html>`__.

Примечание

Если вы укажете параметр SERVICE при запуске задачи, будет получено сообщение об ошибке.

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

  • TASK_DEFINITION
  • SERVICE
  • NONE

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

Этот параметр используется только Amazon ECS. Он не предназначен для использования клиентами.

--started-by (строка)

Необязательная метка, задаваемая при запуске задачи. Например, если вы автоматически запускаете задачу для выполнения задания пакетной обработки, вы можете применить уникальный идентификатор этого задания к вашей задаче с помощью параметра startedBy. Затем вы можете определить, какие задачи относятся к этому заданию, отфильтровав результаты вызова ListTasks со значением startedBy. Разрешается до 128 символов (строчные и прописные буквы), цифр, дефисов (-), слэшей (/) и нижних подчеркиваний (_).

Если задача запускается службой Amazon ECS, то параметр startedBy содержит идентификатор развертывания службы, которая её запускает.

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

Необязательная часть пары "ключ-значение", образующей метку. Значение выступает в качестве описателя в категории меток (ключ).

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

key=string,value=string ...

Синтаксис JSON:

[
  {
    "key": "string",
    "value": "string"
  }
  ...
]

--task-definition (строка)

family и revision (family:revision ) или полный ARN определения задачи для запуска. Если revision не указан, используется последняя ACTIVE ревизия.

Полное значение ARN должно соответствовать значению, указанному как Resource в политике разрешений принципала.

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

Чтобы указать конкретную ревизию, включите номер ревизии в ARN. Например, чтобы указать ревизию 2, используйте arn:aws:ecs:us-east-1:111122223333:task-definition/TaskFamilyName:2.

Чтобы указать все ревизии, используйте символ подстановки (*) в ARN. Например, чтобы указать все ревизии, используйте arn:aws:ecs:us-east-1:111122223333:task-definition/TaskFamilyName:*.

Дополнительную информацию см. в разделе «Ресурсы политики для Amazon ECS» в руководстве разработчика Amazon Elastic Container Service.

--client-token (строка)

Идентификатор, который вы предоставляете для обеспечения идемпотентности запроса. Он должен быть уникальным и чувствителен к регистру. Разрешается до 64 символов. Допустимые символы - символы в диапазоне от 33 до 126 включительно. Дополнительную информацию см. в разделе «Обеспечение идемпотентности».

--volume-configurations (список)

Подробности тома, который был configuredAtLaunch. Вы можете настроить размер, тип тома, IOPS, пропускную способность, моментальный снимок и шифрование в TaskManagedEBSVolumeConfiguration. name тома должны соответствовать name из определения задачи.

(структура)

Настройки конфигурации тома задачи, которые были configuredAtLaunch, и которые не были установлены во время RegisterTaskDef.

name -> (строка)

Имя тома. Это значение должно соответствовать имени тома из объекта Volume в определении задачи.

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

Конфигурация тома Amazon EBS, который Amazon ECS создаёт и управляет от вашего имени. Эти настройки используются для создания каждого тома Amazon EBS, причём для каждой задачи создаётся один том. Тома Amazon EBS будут видны в вашей учётной записи в консоли Amazon EC2 после их создания.

encrypted -> (булево)

Указывает, следует ли шифровать том. Если вы включили шифрование Amazon EBS на уровне региона по умолчанию, но установили это значение как false, то это значение переопределяется, и том шифруется с помощью ключа KMS, указанного для шифрования Amazon EBS по умолчанию. Этот параметр отображается 1:1 с параметром Encrypted API CreateVolume в Справочнике по API Amazon EC2.

kmsKeyId -> (строка)

Идентификатор Amazon Resource Name (ARN) ключа службы управления ключами Amazon Web Services (KMS), который следует использовать для шифрования Amazon EBS. Когда ключ указывается с помощью этого параметра, он переопределяет шифрование Amazon EBS по умолчанию или любой ключ KMS, который вы указали для шифрования управляемого хранилища на уровне кластера. Этот параметр отображается 1:1 с параметром KmsKeyId API CreateVolume в Справочнике по API Amazon EC2. Дополнительные сведения о шифровании томов Amazon EBS, подключённых к задачам, см. в разделе Зашифровать данные, хранящиеся в томах Amazon EBS, подключённых к задачам Amazon ECS.

Предупреждение

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

volumeType -> (строка)

Тип тома. Этот параметр отображается 1:1 с параметром VolumeType API CreateVolume в Справочнике по API Amazon EC2. Дополнительные сведения см. в разделе Типы томов Amazon EBS в Руководстве пользователя Amazon EC2.

Ниже приведены поддерживаемые типы томов.

  • SSD общего назначения: gp2 |gp3
  • SSD с предварительно заданным IOPS: io1 |io2
  • HDD с оптимизированной пропускной способностью: st1
  • HDD холодного хранения: sc1
  • Магнитный: standard

Примечание

Тип тома «Магнитный» не поддерживается в Fargate.

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

Размер тома в ГиБ. Вы должны указать либо размер тома, либо идентификатор моментального снимка. Если вы указываете идентификатор моментального снимка, размер моментального снимка используется по умолчанию как размер тома. Вы можете необязательно указать размер тома, равный или больший размера моментального снимка. Этот параметр отображается 1:1 с параметром Size API CreateVolume в Справочнике по API Amazon EC2.

Ниже приведены поддерживаемые значения размера тома для каждого типа тома.

  • gp2 и gp3 : 1-16 384
  • io1 и io2 : 4-16 384
  • st1 и sc1 : 125-16 384
  • standard : 1-1024

snapshotId -> (строка)

Моментальный снимок, который Amazon ECS использует для создания тома. Вы должны указать либо идентификатор моментального снимка, либо размер тома. Этот параметр отображается 1:1 с параметром SnapshotId API CreateVolume в Справочнике по API Amazon EC2.

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

Скорость в МиБ/с, с которой данные извлекаются из моментального снимка существующего тома Amazon EBS для создания нового тома для подключения к задаче. Этот параметр можно указать только в том случае, если вы указали snapshotId. Дополнительные сведения см. в разделе Инициализация томов Amazon EBS в Руководстве пользователя Amazon EBS.

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

Количество операций ввода-вывода в секунду (IOPS). Для томов gp3, io1 и io2 это количество IOPS, которые предварительно выделены для тома. Для томов gp2 это базовая производительность тома и скорость, с которой том накапливает кредиты I/O для увеличения производительности.

Ниже приведены поддерживаемые значения для каждого типа тома.

  • gp3 : 3000-16000 IOPS
  • io1 : 100-64000 IOPS
  • io2 : 100-256000 IOPS

Этот параметр требуется для io1 и io2 типов томов. По умолчанию для gp3 томов значение 3,000 IOPS. Этот параметр не поддерживается для st1, sc1 или standard типов томов.

Этот параметр отображается 1:1 с параметром Iops API CreateVolume в Справочнике по API Amazon EC2.

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

Пропускная способность, предварительно выделенная для тома, в МиБ/с, с максимальным значением 1000 МиБ/с. Этот параметр отображается 1:1 с параметром Throughput API CreateVolume в Справочнике по API Amazon EC2.

Предупреждение

Этот параметр поддерживается только для типа тома gp3.

tagSpecifications -> (список)

Теги, которые следует применить к тому. Amazon ECS по умолчанию применяет управляемые службой теги. Этот параметр отображается 1:1 с параметром TagSpecifications.N API CreateVolume в Справочнике по API Amazon EC2.

(структура)

Настройки тегов тома Amazon EBS.

resourceType -> (строка)

Тип ресурса тома.

tags -> (список)

Теги, применённые к этому тому Amazon EBS. AmazonECSCreated и AmazonECSManaged — это зарезервированные теги, которые нельзя использовать.

(структура)

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

Следующие базовые ограничения применяются к тегам:

  • Максимальное количество тегов на ресурс — 50
  • Для каждого ресурса каждый ключ тега должен быть уникальным, и каждый ключ тега может иметь только одно значение.
  • Максимальная длина ключа — 128 символов Юникода в UTF-8
  • Максимальная длина значения — 256 символов Юникода в UTF-8
  • Если ваша схема тегов используется в нескольких сервисах и ресурсах, имейте в виду, что другие службы могут иметь ограничения на разрешённые символы. В общем, разрешённые символы: буквы, цифры и пробелы, представленные в UTF-8, и следующие символы: + - = . _ : / @.
  • Ключи и значения тегов чувствительны к регистру.
  • Не используйте aws:, AWS: или любые комбинации прописных и строчных букв, начинающиеся с таких префиксов, так как они зарезервированы для использования Amazon Web Services. Вы не можете редактировать или удалять ключи или значения тегов с этим префиксом. Теги с этим префиксом не учитываются при подсчёте лимита тегов на ресурс.

key -> (строка)

Одна часть пары «ключ-значение», составляющей тег. Ключ — это общая метка, которая служит категорией для более конкретных значений тегов.

value -> (строка)

Необязательная часть пары «ключ-значение», составляющей тег. Значение действует как описание в категории тегов (ключ).

propagateTags -> (строка)

Определяет, следует ли распространять теги из определения задачи на том Amazon EBS. Теги могут распространяться только на SERVICE, указанный в ServiceVolumeConfiguration. Если значение не указано, теги не распространяются.

roleArn -> (строка)

ARN роли IAM, которая должна быть связана с этим томом. Это роль IAM инфраструктуры Amazon ECS, которая используется для управления вашей инфраструктурой Amazon Web Services. Рекомендуется использовать управляемую Amazon ECS политику IAM AmazonECSInfrastructureRolePolicyForVolumes для этой роли. Дополнительные сведения см. в разделе Роль IAM инфраструктуры Amazon ECS в Руководстве разработчика Amazon ECS.

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

Политика завершения работы тома при завершении задачи. Это позволяет контролировать, завершает ли Amazon ECS том Amazon EBS при остановке задачи.

deleteOnTermination -> (булево)

Указывает, следует ли удалять том при завершении задачи. Если задано значение true, Amazon ECS удаляет том Amazon EBS от вашего имени, когда задача переходит в состояние STOPPED. Если значение не указано, используется значение по умолчанию true. При установке значения false, Amazon ECS оставляет том в вашей учётной записи.

filesystemType -> (строка)

Тип файловой системы Linux для тома. Для томов, созданных из моментального снимка, необходимо указать тот же тип файловой системы, что и у тома при создании моментального снимка. Если тип файловой системы не совпадает, задача не сможет запуститься.

Доступные типы файловых систем — ext3, ext4 и xfs. Если значение не указано, по умолчанию используется файловая система xfs.

Синтаксис JSON:

[
  {
    "name": "string",
    "managedEBSVolume": {
      "encrypted": true|false,
      "kmsKeyId": "string",
      "volumeType": "string",
      "sizeInGiB": integer,
      "snapshotId": "string",
      "volumeInitializationRate": integer,
      "iops": integer,
      "throughput": integer,
      "tagSpecifications": [
        {
          "resourceType": "volume",
          "tags": [
            {
              "key": "string",
              "value": "string"
            }
            ...
          ],
          "propagateTags": "TASK_DEFINITION"|"SERVICE"|"NONE"
        }
        ...
      ],
      "roleArn": "string",
      "terminationPolicy": {
        "deleteOnTermination": true|false
      },
      "filesystemType": "ext3"|"ext4"|"xfs"|"ntfs"
    }
  }
  ...
]

--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 (boolean)

Включить отладку логирования.

--endpoint-url (string)

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

--no-verify-ssl (boolean)

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

--no-paginate (boolean)

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

--output (string)

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

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

--query (string)

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

--profile (string)

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

--region (string)

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

--version (string)

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

--color (string)

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

  • on
  • off
  • auto

--no-sign-request (boolean)

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

--ca-bundle (string)

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

--cli-read-timeout (int)

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

--cli-connect-timeout (int)

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

--cli-binary-format (string)

Стиль форматирования для двоичных блоков. По умолчанию используется формат 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 (boolean)

Отключить страницу кли для вывода.

--cli-auto-prompt (boolean)

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

--no-cli-auto-prompt (boolean)

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

Примеры

Примечание

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

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

Пример 1: Запуск задачи на стандартном кластере

Следующий run-task пример запускает задачу на стандартном кластере и использует токен клиента.

aws ecs run-task \
    --cluster default \
    --task-definition sleep360:1 \
    --client-token 550e8400-e29b-41d4-a716-446655440000

Вывод:

{
    "tasks": [
        {
            "attachments": [],
            "attributes": [
                {
                    "name": "ecs.cpu-architecture",
                    "value": "x86_64"
                }
            ],
            "availabilityZone": "us-east-1b",
            "capacityProviderName": "example-capacity-provider",
            "clusterArn": "arn:aws:ecs:us-east-1:123456789012:cluster/default",
            "containerInstanceArn": "arn:aws:ecs:us-east-1:123456789012:container-instance/default/bc4d2ec611d04bb7bb97e83ceEXAMPLE",
            "containers": [
                {
                    "containerArn": "arn:aws:ecs:us-east-1:123456789012:container/default/d6f51cc5bbc94a47969c92035e9f66f8/75853d2d-711e-458a-8362-0f0aEXAMPLE",
                    "taskArn": "arn:aws:ecs:us-east-1:123456789012:task/default/d6f51cc5bbc94a47969c9203EXAMPLE",
                    "name": "sleep",
                    "image": "busybox",
                    "lastStatus": "PENDING",
                    "networkInterfaces": [],
                    "cpu": "10",
                    "memory": "10"
                }
            ],
            "cpu": "10",
            "createdAt": "2023-11-21T16:59:34.403000-05:00",
            "desiredStatus": "RUNNING",
            "enableExecuteCommand": false,
            "group": "family:sleep360",
            "lastStatus": "PENDING",
            "launchType": "EC2",
            "memory": "10",
            "overrides": {
                "containerOverrides": [
                    {
                        "name": "sleep"
                    }
                ],
                "inferenceAcceleratorOverrides": []
            },
            "tags": [],
            "taskArn": "arn:aws:ecs:us-east-1:123456789012:task/default/d6f51cc5bbc94a47969c9203EXAMPLE",
            "taskDefinitionArn": "arn:aws:ecs:us-east-1:123456789012:task-definition/sleep360:1",
            "version": 1
        }
    ],
    "failures": []
}

Дополнительную информацию можно найти в разделе Запуск приложения как отдельной задачи в Руководстве разработчика Amazon ECS.

Пример 2: Настройка тома Amazon EBS для автономной задачи

Следующий run-task пример настраивает зашифрованный том Amazon EBS для задачи Fargate на стандартном кластере. Необходимо иметь роль инфраструктуры Amazon ECS, к которой прикреплена управляемая политика AmazonECSInfrastructureRolePolicyForVolumes. Необходимо указать определение задачи с тем же именем тома, что и в запросе run-task. В данном примере используется параметр --cli-input-json и файл входных данных JSON под названием ebs.json.

aws ecs run-task \
    --cli-input-json file://ebs.json

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

{
   "cluster": "default",
   "taskDefinition": "mytaskdef",
   "launchType": "FARGATE",
   "networkConfiguration":{
        "awsvpcConfiguration":{
            "assignPublicIp": "ENABLED",
            "securityGroups": ["sg-12344321"],
            "subnets":["subnet-12344321"]
        }
    },
   "volumeConfigurations": [
        {
            "name": "myEBSVolume",
            "managedEBSVolume": {
                "volumeType": "gp3",
                "sizeInGiB": 100,
                "roleArn":"arn:aws:iam::1111222333:role/ecsInfrastructureRole",
                "encrypted": true,
                "kmsKeyId": "arn:aws:kms:region:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab"
            }
        }
    ]
}

Вывод:

{
    "tasks": [
        {
            "attachments": [
                {
                    "id": "ce868693-15ca-4083-91ac-f782f64000c9",
                    "type": "ElasticNetworkInterface",
                    "status": "PRECREATED",
                    "details": [
                        {
                        "name": "subnetId",
                        "value": "subnet-070982705451dad82"
                        }
                    ]
                },
                {
                    "id": "a17ed863-786c-4372-b5b3-b23e53f37877",
                    "type": "AmazonElasticBlockStorage",
                    "status": "CREATED",
                    "details": [
                        {
                            "name": "roleArn",
                            "value": "arn:aws:iam::123456789012:role/ecsInfrastructureRole"
                        },
                        {
                            "name": "volumeName",
                            "value": "myEBSVolume"
                        },
                        {
                            "name": "deleteOnTermination",
                            "value": "true"
                        }
                    ]
                }
            ],
            "attributes": [
                {
                    "name": "ecs.cpu-architecture",
                    "value": "x86_64"
                }
            ],
            "availabilityZone": "us-west-2b",
            "clusterArn": "arn:aws:ecs:us-west-2:123456789012:cluster/default",
            "containers": [
                {
                    "containerArn": "arn:aws:ecs:us-west-2:123456789012:container/default/7f1fbd3629434cc4b82d72d2f09b67c9/e21962a2-f328-4699-98a3-5161ac2c186a",
                    "taskArn": "arn:aws:ecs:us-west-2:123456789012:task/default/7f1fbd3629434cc4b82d72d2f09b67c9",
                    "name": "container-using-ebs",
                    "image": "amazonlinux:2",
                    "lastStatus": "PENDING",
                    "networkInterfaces": [],
                    "cpu": "0"
                }
            ],
            "cpu": "1024",
            "createdAt": "2025-01-23T10:29:46.650000-06:00",
            "desiredStatus": "RUNNING",
            "enableExecuteCommand": false,
            "group": "family:mytaskdef",
            "lastStatus": "PROVISIONING",
            "launchType": "FARGATE",
            "memory": "3072",
            "overrides": {
                "containerOverrides": [
                    {
                        "name": "container-using-ebs"
                    }
                ],
                "inferenceAcceleratorOverrides": []
            },
            "platformVersion": "1.4.0",
            "platformFamily": "Linux",
            "tags": [],
            "taskArn": "arn:aws:ecs:us-west-2:123456789012:task/default/7f1fbd3629434cc4b82d72d2f09b67c9",
            "taskDefinitionArn": "arn:aws:ecs:us-west-2:123456789012:task-definition/mytaskdef:4",
            "version": 1,
            "ephemeralStorage": {
                "sizeInGiB": 20
            },
            "fargateEphemeralStorage": {
                "sizeInGiB": 20
            }
        }
    ],
    "failures": []
}

Дополнительную информацию можно найти в разделе Использование томов Amazon EBS с Amazon ECS в Руководстве разработчика Amazon ECS.

Вывод

tasks -> (список)

Полное описание запущенных задач. Здесь описаны задачи, успешно размещённые на вашем кластере.

(структура)

Подробности о задаче в кластере.

attachments -> (список)

Адаптер Elastic Network, связанный с задачей, если задача использует режим сети awsvpc.

(структура)

Объект, представляющий экземпляр контейнера или прикрепление к задаче.

id -> (строка)

Уникальный идентификатор прикрепления.

type -> (строка)

Тип прикрепления, например, ElasticNetworkInterface, Service Connect и AmazonElasticBlockStorage.

status -> (строка)

Состояние прикрепления. Допустимые значения: PRECREATED, CREATED, ATTACHING, ATTACHED, DETACHING, DETACHED, DELETED и FAILED.

details -> (список)

Подробности о прикреплении.

Для эластичных сетевых интерфейсов это включает идентификатор сетевого интерфейса, MAC-адрес, идентификатор подсети и частный IPv4-адрес.

Для сервисов Service Connect это включает portName, clientAliases, discoveryName и ingressPortOverride.

Для Elastic Block Storage это включает roleArn, deleteOnTermination, volumeName, volumeId и statusReason (только при ошибке создания или прикрепления).

(структура)

Объект пары «ключ-значение».

name -> (строка)

Имя пары «ключ-значение». Для переменных среды это имя переменной среды.

value -> (строка)

Значение пары «ключ-значение». Для переменных среды это значение переменной среды.

attributes -> (список)

Атрибуты задачи

(структура)

Атрибут — это пара «имя-значение», связанная с объектом Amazon ECS. Используйте атрибуты, чтобы расширить модель данных Amazon ECS, добавив пользовательские метаданные к своим ресурсам. Дополнительную информацию см. в разделе Атрибуты в руководстве разработчика Amazon Elastic Container Service.

name -> (строка)

Имя атрибута. Имя должно содержать от 1 до 128 символов. Имя может содержать буквы (строчные и прописные), цифры, дефисы (-), подчеркивания (_), косые черты (/), обратные косые черты (\) или точки (.).

value -> (строка)

Значение атрибута. Значение должно содержать от 1 до 128 символов. Оно может содержать буквы (строчные и прописные), цифры, дефисы (-), подчеркивания (_), точки (.), знаки @, косые черты (/), обратные косые черты (\), двоеточия (:) или пробелы. Значение не может начинаться или заканчиваться пробелом.

targetType -> (строка)

Тип целевого объекта для прикрепления атрибута. Этот параметр обязателен, если вы используете короткий идентификатор ресурса вместо полного ARN.

targetId -> (строка)

Идентификатор целевого объекта. Вы можете указать короткий идентификатор ресурса или полный Amazon Resource Name (ARN).

availabilityZone -> (строка)

Доступная зона для задачи.

capacityProviderName -> (строка)

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

clusterArn -> (строка)

ARN кластера, содержащего задачу.

connectivity -> (строка)

Состояние подключения задачи.

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

Маркер времени Unix для момента, когда задача последний раз перешла в состояние CONNECTED.

containerInstanceArn -> (строка)

ARN экземпляров контейнеров, которые содержат задачу.

containers -> (список)

Контейнеры, связанные с задачей.

(структура)

Контейнер Docker, который является частью задачи.

containerArn -> (строка)

Amazon Resource Name (ARN) контейнера.

taskArn -> (строка)

ARN задачи.

name -> (строка)

Имя контейнера.

image -> (строка)

Изображение, используемое для контейнера.

imageDigest -> (строка)

Хеш-код образа контейнера.

runtimeId -> (строка)

Идентификатор контейнера Docker.

lastStatus -> (строка)

Последнее известное состояние контейнера.

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

Код завершения, возвращенный контейнером.

reason -> (строка)

Короткая (максимум 1024 символа) строка, содержащая удобочитаемую информацию о работающем или остановленном контейнере.

networkBindings -> (список)

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

(структура)

Подробности о сетевых привязках между контейнером и его хост-экземпляром контейнера. После того, как задача достигнет состояния RUNNING, ручные и автоматические назначения портов хоста и контейнера будут видны в разделе networkBindings ответов API DescribeTasks.

bindIP -> (строка)

IP-адрес, к которому привязан контейнер на экземпляре контейнера.

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

Номер порта в контейнере, используемый для сетевой привязки.

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

Номер порта на хосте, используемый для сетевой привязки.

protocol -> (строка)

Протокол, используемый для сетевой привязки.

containerPortRange -> (строка)

Диапазон номеров портов контейнера, привязанный к динамически назначаемому диапазону портов хоста.

При указании containerPortRange применяются следующие правила:

  • Необходимо использовать режим сети bridge или режим сети awsvpc.
  • Этот параметр доступен для типов запуска EC2 и Fargate.
  • Этот параметр доступен как для операционных систем Linux, так и Windows.
  • Экземпляр контейнера должен иметь версию агента контейнера не ниже 1.67.0 и пакет ecs-init не ниже версии 1.67.0-1.
  • Максимальное количество диапазонов портов на контейнер — 100.
  • hostPortRange не указывается. Значение hostPortRange устанавливается следующим образом:
    • Для контейнеров в задаче с режимом сети awsvpc, hostPortRange устанавливается равным containerPortRange. Это стратегия статического сопоставления.
    • Для контейнеров в задаче с режимом сети bridge агент Amazon ECS находит свободные порты хоста из стандартного диапазона временных портов и передает их Docker для привязки к портам контейнера.
  • Допустимые значения containerPortRange находятся в диапазоне от 1 до 65535.
  • Порт может быть включен только в одну привязку порта на контейнер.
  • Нельзя указывать перекрывающиеся диапазоны портов.
  • Первый порт в диапазоне должен быть меньше последнего.
  • Docker рекомендует отключить docker-proxy в конфигурационном файле демона Docker при большом количестве портов. Дополнительную информацию см. в проблеме #11185 на сайте GitHub. Информацию о том, как отключить docker-proxy в конфигурационном файле демона Docker, см. в разделе Демон Docker в руководстве разработчика Amazon ECS.

Вы можете вызвать ` DescribeTasks https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_DescribeTasks.html`__ для просмотра hostPortRange, которые являются портами хоста, привязанными к портам контейнера.

hostPortRange -> (строка)

Диапазон номеров портов на хосте, используемых для сетевой привязки. Он назначается Docker и предоставляется агентом Amazon ECS.

networkInterfaces -> (список)

Сетевые интерфейсы, связанные с контейнером.

(структура)

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

attachmentId -> (строка)

Идентификатор прикрепления сетевого интерфейса.

privateIpv4Address -> (строка)

Частный IPv4-адрес сетевого интерфейса.

ipv6Address -> (строка)

Частный IPv6-адрес сетевого интерфейса.

healthStatus -> (строка)

Состояние работоспособности контейнера. Если для этого контейнера в определении задачи не настроены проверки работоспособности, то состояние работоспособности отображается как UNKNOWN.

managedAgents -> (список)

Подробности о любых управляемых агентах Amazon ECS, связанных с контейнером.

(структура)

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

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

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

name -> (строка)

Имя управляемого агента. При включенной функции выполнения команд, имя управляемого агента — ExecuteCommandAgent.

reason -> (строка)

Причина, по которой управляемый агент находится в текущем состоянии.

lastStatus -> (строка)

Последнее известное состояние управляемого агента.

cpu -> (строка)

Количество единиц ЦП, установленных для контейнера. Значение — 0, если значение не было указано в определении контейнера при регистрации определения задачи.

memory -> (строка)

Жесткое ограничение памяти (в МБ), установленное для контейнера.

memoryReservation -> (строка)

Мягкое ограничение памяти (в МБ), установленное для контейнера.

gpuIds -> (список)

Идентификаторы каждого графического процессора, назначенного контейнеру.

(строка)

cpu -> (строка)

Количество единиц ЦП, используемых задачей, выраженное в определении задачи. Может быть выражено как целое число, используя единицы ЦП (например, 1024). Также может быть выражено как строка, используя vCPU (например, 1 vCPU или 1 vcpu). Строковые значения преобразуются в целое число, обозначающее единицы ЦП, при регистрации определения задачи.

При использовании типа запуска EC2 или внешнего типа запуска это поле является необязательным. Допустимые значения находятся в диапазоне от 128 единиц ЦП (0.125 vCPU) до 196608 единиц ЦП (192 vCPU). Если вы не укажете значение, параметр будет проигнорирован.

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

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

Маркер времени Unix для момента создания задачи. Более конкретно, это время, когда задача перешла в состояние PENDING.

desiredStatus -> (строка)

Желаемое состояние задачи. Дополнительную информацию см. в разделе Жизненный цикл задач.

enableExecuteCommand -> (булево)

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

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

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

group -> (строка)

Имя группы задач, связанной с задачей.

healthStatus -> (строка)

Статус работоспособности задачи. Определяется по состоянию основных контейнеров в задаче. Если все основные контейнеры в задаче сообщают о статусе HEALTHY , статус задачи также сообщает HEALTHY . Если какие-либо основные контейнеры в задаче сообщают о статусе UNHEALTHY или UNKNOWN , статус задачи также сообщает о статусе UNHEALTHY или UNKNOWN .

Примечание

Агент контейнеров Amazon ECS не отслеживает и не сообщает о проверках работоспособности Docker, которые встроены в образ контейнера и не указаны в определении контейнера. Например, это относится к тем, которые указаны в родительском образе или в Dockerfile образа. Параметры проверки работоспособности, указанные в определении контейнера, переопределяют любые проверки работоспособности Docker, найденные в образе контейнера.

inferenceAccelerators -> (список)

Ускоритель Elastic Inference, связанный с задачей.

(структура)

Подробная информация об ускорителе Elastic Inference. Дополнительную информацию см. в разделе Работа с Amazon Elastic Inference в Amazon ECS в Руководстве разработчика Amazon Elastic Container Service.

deviceName -> (строка)

Имя устройства ускорителя Elastic Inference. deviceName также должен быть указан в определении контейнера в качестве ResourceRequirement.

deviceType -> (строка)

Тип ускорителя Elastic Inference, который необходимо использовать.

lastStatus -> (строка)

Последний известный статус задачи. Дополнительную информацию см. в разделе Жизненный цикл задач.

launchType -> (строка)

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

memory -> (строка)

Объем памяти (в МБ), используемый задачей, выраженный в определении задачи. Он может быть выражен как целое число с помощью МБ (например, 1024 ). Если он выражен как строка с использованием ГБ (например, 1GB или 1 GB ), он преобразуется в целое число, обозначающее МБ, при регистрации определения задачи.

Если вы используете тип запуска EC2, это поле необязательно.

Если вы используете тип запуска Fargate, это поле является обязательным. Вы должны использовать одно из следующих значений. Выбранное значение определяет диапазон поддерживаемых значений параметра cpu.

  • 512 (0,5 ГБ), 1024 (1 ГБ), 2048 (2 ГБ) - Доступные cpu значения: 256 (.25 vCPU)
  • 1024 (1 ГБ), 2048 (2 ГБ), 3072 (3 ГБ), 4096 (4 ГБ) - Доступные cpu значения: 512 (.5 vCPU)
  • 2048 (2 ГБ), 3072 (3 ГБ), 4096 (4 ГБ), 5120 (5 ГБ), 6144 (6 ГБ), 7168 (7 ГБ), 8192 (8 ГБ) - Доступные cpu значения: 1024 (1 vCPU)
  • От 4096 (4 ГБ) до 16384 (16 ГБ) с шагом 1024 (1 ГБ) - Доступные cpu значения: 2048 (2 vCPU)
  • От 8192 (8 ГБ) до 30720 (30 ГБ) с шагом 1024 (1 ГБ) - Доступные cpu значения: 4096 (4 vCPU)
  • От 16 ГБ до 60 ГБ с шагом 4 ГБ - Доступные cpu значения: 8192 (8 vCPU). Для этого варианта требуется платформа Linux 1.4.0 или более поздняя.
  • От 32 ГБ до 120 ГБ с шагом 8 ГБ - Доступные cpu значения: 16384 (16 vCPU). Для этого варианта требуется платформа Linux 1.4.0 или более поздняя.

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

Одно или несколько переопределений контейнера.

containerOverrides -> (список)

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

(структура)

Переопределения, отправляемые в контейнер. Можно передать пустое переопределение контейнера. Пример пустого переопределения контейнера - {"containerOverrides": [ ] }. Если указано непустое переопределение контейнера, необходимо включить параметр name.

Для хранения конфиденциальных данных можно использовать Secrets Manager или Amazon Web Services Systems Manager Parameter Store. Дополнительную информацию см. в разделе Получение секретов через переменные среды в Руководстве разработчика Amazon ECS.

name -> (строка)

Имя контейнера, который получает переопределение. Этот параметр требуется, если указано какое-либо переопределение.

command -> (список)

Команда, отправляемая контейнеру, которая переопределяет команду по умолчанию из образа Docker или определения задачи. Также необходимо указать имя контейнера.

(строка)

environment -> (список)

Переменные среды, отправляемые контейнеру. Можно добавить новые переменные среды, которые добавляются в контейнер при запуске, или переопределить существующие переменные среды из образа Docker или определения задачи. Также необходимо указать имя контейнера.

(структура)

Объект пары "ключ-значение".

name -> (строка)

Имя пары "ключ-значение". Для переменных среды это имя переменной среды.

value -> (строка)

Значение пары "ключ-значение". Для переменных среды это значение переменной среды.

environmentFiles -> (список)

Список файлов, содержащих переменные среды, передаваемые контейнеру вместо значения из определения контейнера.

(структура)

Список файлов, содержащих переменные среды, передаваемые контейнеру. Можно указать до десяти файлов с переменными среды. Файл должен иметь расширение .env. Каждая строка в файле переменных среды должна содержать переменную среды в формате VARIABLE=VALUE. Строки, начинающиеся с #, рассматриваются как комментарии и игнорируются.

Если переменные среды указаны с помощью параметра environment в определении контейнера, они имеют приоритет перед переменными, содержащимися в файле переменных среды. Если несколько файлов переменных среды содержат одну и ту же переменную, они обрабатываются сверху вниз. Рекомендуется использовать уникальные имена переменных. Дополнительную информацию см. в разделе Использование файла для передачи переменных среды в контейнер в Руководстве разработчика Amazon Elastic Container Service.

Файлы переменных среды являются объектами в Amazon S3, и все соображения безопасности Amazon S3 применяются.

Для типа запуска Fargate необходимо использовать следующие платформы:

  • Платформа Linux версии 1.4.0 или более поздней.
  • Платформа Windows версии 1.0.0 или более поздней.

Рассмотрите следующие моменты при использовании типа запуска Fargate:

  • Файл обрабатывается как родной Docker env-файл.
  • Обработка экранирования оболочки не поддерживается.
  • Точка входа контейнера интерпретирует значения VARIABLE.

value -> (строка)

Amazon Resource Name (ARN) объекта Amazon S3, содержащего файл переменной среды.

type -> (строка)

Тип файла для использования. Файлы переменных среды являются объектами в Amazon S3. Поддерживается только значение s3.

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

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

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

Жесткий лимит (в МБ) памяти, предоставленной контейнеру, вместо значения по умолчанию из определения задачи. Если контейнер пытается превысить указанную здесь память, контейнер завершается.

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

Мягкий лимит (в МБ) памяти, которую нужно зарезервировать для контейнера, вместо значения по умолчанию из определения задачи. Также необходимо указать имя контейнера.

resourceRequirements -> (список)

Тип и количество ресурса для назначения контейнеру вместо значения по умолчанию из определения задачи. Поддерживается только ресурс GPU.

(структура)

Тип и количество ресурса для назначения контейнеру. Поддерживаемые типы ресурсов: GPU и ускорители Elastic Inference. Дополнительную информацию см. в разделе Работа с GPU в Amazon ECS или Работа с Amazon Elastic Inference в Amazon ECS в Руководстве разработчика Amazon Elastic Container Service.

value -> (строка)

Значение для указанного типа ресурса.

Когда тип - GPU, значение - количество физических GPUs, которые агент контейнеров Amazon ECS резервирует для контейнера. Количество GPU, зарезервированное для всех контейнеров в задаче, не может превышать количества доступных GPU на экземпляре контейнера, на котором запущена задача.

Когда тип - InferenceAccelerator, значение соответствует значению deviceName для InferenceAccelerator, указанному в определении задачи.

type -> (строка)

Тип ресурса, который необходимо назначить контейнеру.

cpu -> (строка)

Переопределение процессора для задачи.

inferenceAcceleratorOverrides -> (список)

Переопределение ускорителя Elastic Inference для задачи.

(структура)

Подробная информация о переопределении задачи с ускорителем Elastic Inference. Этот параметр используется для переопределения ускорителя Elastic Inference, указанного в определении задачи. Дополнительную информацию см. в разделе Работа с Amazon Elastic Inference в Amazon ECS в Руководстве разработчика Amazon Elastic Container Service.

deviceName -> (строка)

Имя устройства ускорителя Elastic Inference, которое нужно переопределить для задачи. Этот параметр должен соответствовать значению deviceName, указанному в определении задачи.

deviceType -> (строка)

Тип ускорителя Elastic Inference, который необходимо использовать.

executionRoleArn -> (строка)

Amazon Resource Name (ARN) переопределения роли выполнения задачи для задачи. Дополнительную информацию см. в разделе Amazon ECS роль IAM для выполнения задач в Руководстве разработчика Amazon Elastic Container Service.

memory -> (строка)

Переопределение памяти для задачи.

taskRoleArn -> (строка)

Amazon Resource Name (ARN) роли, которую контейнеры в этой задаче могут принять. Все контейнеры в этой задаче получают разрешения, указанные в этой роли. Дополнительную информацию см. в разделе IAM Роль для задач в Руководстве разработчика Amazon Elastic Container Service.

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

Переопределение параметров временного хранилища для задачи.

Примечание

Этот параметр поддерживается только для задач, размещенных на Fargate, которые используют следующие версии платформы:

  • Платформа Linux версии 1.4.0 или более поздней.
  • Платформа Windows версии 1.0.0 или более поздней.

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

Общий объем временного хранилища в ГБ для задачи. Минимальное поддерживаемое значение - 21 ГБ, а максимальное - 200 ГБ.

platformVersion -> (строка)

Версия платформы, на которой выполняется ваша задача. Версия платформы указывается только для задач, использующих тип запуска Fargate. Если вы её не указали, используется платформа версии LATEST. Дополнительную информацию можно найти в разделе «Версии платформ Fargate» в руководстве разработчика Amazon Elastic Container Service.

platformFamily -> (строка)

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

Все задачи, выполняемые в рамках этой службы, должны использовать то же самое значение platformFamily, что и служба (например, LINUX.).

pullStartedAt -> (временная метка)

Временная метка Unix для начала извлечения изображения контейнера.

pullStoppedAt -> (временная метка)

Временная метка Unix для завершения извлечения изображения контейнера.

startedAt -> (временная метка)

Временная метка Unix для начала выполнения задачи. Более конкретно, это время, когда задача перешла из состояния PENDING в состояние RUNNING.

startedBy -> (строка)

Тег, указанный при запуске задачи. Если задачу запустила служба Amazon ECS, параметр startedBy содержит идентификатор развертывания этой службы.

stopCode -> (строка)

Код остановки, указывающий причину остановки задачи. stoppedReason может содержать дополнительные детали.

Дополнительную информацию о коде остановки см. в разделе «Коды ошибок остановленных задач» в руководстве разработчика Amazon ECS.

stoppedAt -> (временная метка)

Временная метка Unix для остановки задачи. Более конкретно, это время, когда задача перешла из состояния RUNNING в состояние STOPPED.

stoppedReason -> (строка)

Причина остановки задачи.

stoppingAt -> (временная метка)

Временная метка Unix для остановки задачи. Более конкретно, это время, когда задача переходит из состояния RUNNING в состояние STOPPING.

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

Необязательная часть пары ключ-значение, которая образует тег. Значение служит описанием в рамках категории тега (ключ).

taskArn -> (строка)

Amazon Resource Name (ARN) задачи.

taskDefinitionArn -> (строка)

ARN определения задачи, создающей задачу.

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

Счетчик версии задачи. Каждый раз, когда задача претерпевает изменение, которое инициирует событие CloudWatch, счетчик версии увеличивается. Если вы реплицируете состояние задачи Amazon ECS с помощью CloudWatch Events, вы можете сравнить версию задачи, сообщенную действиями API Amazon ECS, с версией, сообщенной в CloudWatch Events для задачи (внутри объекта detail), чтобы проверить, что версия в вашем потоке событий актуальна.

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

Настройки временного хранилища для задачи.

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

Общий объем временного хранилища в ГБ для задачи. Минимальное поддерживаемое значение - 21 ГБ, а максимальное - 200 ГБ.

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

Настройки временного хранилища Fargate для задачи.

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

Общий объем временного хранилища в ГБ для задачи. Минимальное поддерживаемое значение - 20 ГБ, а максимальное - 200 ГБ.

kmsKeyId -> (строка)

Укажите идентификатор ключа Key Management Service для шифрования временного хранилища задачи.

failures -> (список)

Любые ошибки, связанные с вызовом.

Дополнительную информацию о том, как устранить ошибки, см. в разделе «Сообщения о событиях службы и причины ошибок API» в руководстве разработчика Amazon Elastic Container Service.

(структура)

Неудачный ресурс. Список распространенных причин см. в разделе «Причины ошибок API» в руководстве разработчика Amazon Elastic Container Service.

arn -> (строка)

Amazon Resource Name (ARN) не удавшегося ресурса.

reason -> (строка)

Причина ошибки.

detail -> (строка)

Детали ошибки.

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

END_OF_DOCUMENT_MARKER

Spec-Zone.ru

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