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 -> (целое число)
0.Сокращенная запись:
capacityProvider=string,weight=integer,base=integer ...
Синтаксис JSON:
[
{
"capacityProvider": "string",
"weight": integer,
"base": integer
}
...
]
--cluster (строка)
Короткое имя или полное Amazon Resource Name (ARN) кластера, на котором вы хотите запустить задачу. Если вы не указываете кластер, используется кластер по умолчанию.
Каждая учетная запись получает кластер по умолчанию при первом использовании сервиса, но вы также можете создать другие кластеры.
--count (целое число)
--enable-ecs-managed-tags | --no-enable-ecs-managed-tags (булево)
--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.
Возможные значения:
EC2FARGATEEXTERNAL
--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 -> (строка)
type -> (строка)
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 -> (строка)
inferenceAcceleratorOverrides -> (список)
Переопределение ускорителя Elastic Inference для задачи.
(структура)
Подробности о переопределении задачи ускорителя Elastic Inference. Этот параметр используется для переопределения ускорителя Elastic Inference, указанного в определении задачи. Дополнительную информацию см. в руководстве разработчика Amazon Elastic Container Service: Работа с Amazon Elastic Inference в Amazon ECS.
deviceName -> (строка)
deviceName, указанному в определении задачи.deviceType -> (строка)
executionRoleArn -> (строка)
memory -> (строка)
taskRoleArn -> (строка)
ephemeralStorage -> (структура)
Переопределение настроек временного хранилища для задачи.
Примечание
Этот параметр поддерживается только для задач, размещенных на Fargate, которые используют следующие версии платформы:
- Платформа Linux версии
1.4.0или выше. - Платформа Windows версии
1.0.0или выше.
sizeInGiB -> (целое число)
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 -> (строка)
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 (строка)
LATEST. Дополнительную информацию см. в разделе «Версии платформы Fargate» в руководстве разработчика Amazon Elastic Container Service.--propagate-tags (строка)
Указывает, следует ли распространять метки из определения задачи на задачу. Если значение не указано, метки не распространяются. Метки могут быть распространены на задачу только во время создания задачи. Чтобы добавить метки к задаче после её создания, используйте действие API `TagResource <https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_TagResource.html>`__.
Примечание
Если вы укажете параметрSERVICE при запуске задачи, будет получено сообщение об ошибке.Возможные значения:
TASK_DEFINITIONSERVICENONE
--reference-id (строка)
--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 (строка)
--volume-configurations (список)
Подробности тома, который был configuredAtLaunch. Вы можете настроить размер, тип тома, IOPS, пропускную способность, моментальный снимок и шифрование в TaskManagedEBSVolumeConfiguration. name тома должны соответствовать name из определения задачи.
(структура)
Настройки конфигурации тома задачи, которые были configuredAtLaunch, и которые не были установлены во время RegisterTaskDef.
name -> (строка)
Volume в определении задачи.managedEBSVolume -> (структура)
Конфигурация тома Amazon EBS, который Amazon ECS создаёт и управляет от вашего имени. Эти настройки используются для создания каждого тома Amazon EBS, причём для каждой задачи создаётся один том. Тома Amazon EBS будут видны в вашей учётной записи в консоли Amazon EC2 после их создания.
encrypted -> (булево)
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 -> (строка)
SnapshotId API CreateVolume в Справочнике по API Amazon EC2.volumeInitializationRate -> (целое число)
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 -> (строка)
SERVICE, указанный в ServiceVolumeConfiguration. Если значение не указано, теги не распространяются.roleArn -> (строка)
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 -> (строка)
value -> (строка)
targetType -> (строка)
targetId -> (строка)
availabilityZone -> (строка)
capacityProviderName -> (строка)
clusterArn -> (строка)
connectivity -> (строка)
connectivityAt -> (метка времени)
CONNECTED.containerInstanceArn -> (строка)
containers -> (список)
Контейнеры, связанные с задачей.
(структура)
Контейнер Docker, который является частью задачи.
containerArn -> (строка)
taskArn -> (строка)
name -> (строка)
image -> (строка)
imageDigest -> (строка)
runtimeId -> (строка)
lastStatus -> (строка)
exitCode -> (целое число)
reason -> (строка)
networkBindings -> (список)
Связанные с контейнером сетевые привязки.
(структура)
Подробности о сетевых привязках между контейнером и его хост-экземпляром контейнера. После того, как задача достигнет состояния RUNNING, ручные и автоматические назначения портов хоста и контейнера будут видны в разделе networkBindings ответов API DescribeTasks.
bindIP -> (строка)
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 -> (строка)
networkInterfaces -> (список)
Сетевые интерфейсы, связанные с контейнером.
(структура)
Объект, представляющий эластичный сетевой интерфейс для задач, использующих режим сети awsvpc.
attachmentId -> (строка)
privateIpv4Address -> (строка)
ipv6Address -> (строка)
healthStatus -> (строка)
UNKNOWN.managedAgents -> (список)
Подробности о любых управляемых агентах Amazon ECS, связанных с контейнером.
(структура)
Подробности о состоянии управляемого агента для контейнера.
lastStartedAt -> (метка времени)
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 -> (метка времени)
PENDING.desiredStatus -> (строка)
enableExecuteCommand -> (булево)
true, то функциональность выполнения команд включена для всех контейнеров в задаче.executionStoppedAt -> (метка времени)
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 -> (строка)
deviceName также должен быть указан в определении контейнера в качестве ResourceRequirement.deviceType -> (строка)
lastStatus -> (строка)
launchType -> (строка)
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). Для этого варианта требуется платформа Linux1.4.0или более поздняя. - От 32 ГБ до 120 ГБ с шагом 8 ГБ - Доступные
cpuзначения: 16384 (16 vCPU). Для этого варианта требуется платформа Linux1.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 -> (строка)
type -> (строка)
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 -> (строка)
deviceName, указанному в определении задачи.deviceType -> (строка)
executionRoleArn -> (строка)
memory -> (строка)
taskRoleArn -> (строка)
ephemeralStorage -> (структура)
Переопределение параметров временного хранилища для задачи.
Примечание
Этот параметр поддерживается только для задач, размещенных на Fargate, которые используют следующие версии платформы:
- Платформа Linux версии
1.4.0или более поздней. - Платформа Windows версии
1.0.0или более поздней.
sizeInGiB -> (целое число)
21 ГБ, а максимальное - 200 ГБ.platformVersion -> (строка)
LATEST. Дополнительную информацию можно найти в разделе «Версии платформ Fargate» в руководстве разработчика Amazon Elastic Container Service.platformFamily -> (строка)
Операционная система, на которой выполняются ваши задачи. Семейство платформ указывается только для задач, использующих тип запуска Fargate.
Все задачи, выполняемые в рамках этой службы, должны использовать то же самое значение platformFamily, что и служба (например, LINUX.).
pullStartedAt -> (временная метка)
pullStoppedAt -> (временная метка)
startedAt -> (временная метка)
PENDING в состояние RUNNING.startedBy -> (строка)
startedBy содержит идентификатор развертывания этой службы.stopCode -> (строка)
Код остановки, указывающий причину остановки задачи. stoppedReason может содержать дополнительные детали.
Дополнительную информацию о коде остановки см. в разделе «Коды ошибок остановленных задач» в руководстве разработчика Amazon ECS.
stoppedAt -> (временная метка)
RUNNING в состояние STOPPED.stoppedReason -> (строка)
stoppingAt -> (временная метка)
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 -> (строка)
taskDefinitionArn -> (строка)
version -> (целое число)
detail), чтобы проверить, что версия в вашем потоке событий актуальна.ephemeralStorage -> (структура)
Настройки временного хранилища для задачи.
sizeInGiB -> (целое число)
21 ГБ, а максимальное - 200 ГБ.fargateEphemeralStorage -> (структура)
Настройки временного хранилища Fargate для задачи.
sizeInGiB -> (целое число)
20 ГБ, а максимальное - 200 ГБ.kmsKeyId -> (строка)
failures -> (список)
Любые ошибки, связанные с вызовом.
Дополнительную информацию о том, как устранить ошибки, см. в разделе «Сообщения о событиях службы и причины ошибок API» в руководстве разработчика Amazon Elastic Container Service.
(структура)
Неудачный ресурс. Список распространенных причин см. в разделе «Причины ошибок API» в руководстве разработчика Amazon Elastic Container Service.
arn -> (строка)
reason -> (строка)
detail -> (строка)
© Copyright 2025, Amazon Web Services. Created using Sphinx.