deregister-task-definition
Описание
Удаляет указанную задачу определения по семейству и ревизии. При удалении определение задачи помечается как INACTIVE . Существующие задачи и службы, которые ссылаются на INACTIVE определение задачи, продолжают работать без перерывов. Существующие службы, которые ссылаются на INACTIVE определение задачи, всё ещё могут масштабироваться вверх или вниз, изменяя желаемое количество экземпляров службы. Если вы хотите удалить ревизию определения задачи, вы должны сначала удалить определение задачи ревизии.
Вы не можете использовать INACTIVE определение задачи для запуска новых задач или создания новых служб, и вы не можете обновить существующую службу, чтобы она ссылалась на INACTIVE определение задачи. Однако после удаления может быть период до 10 минут, в течение которого эти ограничения ещё не вступят в силу.
Примечание
В настоящее времяINACTIVE определения задач остаются доступными в вашем аккаунте неограниченно. Однако это поведение может измениться в будущем. Мы не рекомендуем полагаться на INACTIVE определения задач, которые сохраняются дольше жизненного цикла связанных задач и служб.Вы должны удалить ревизию определения задачи перед её удалением. Для получения дополнительной информации см. DeleteTaskDefinitions .
См. также: Документацию API AWS
Синтаксис
deregister-task-definition
--task-definition <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]
Параметры
--task-definition (строка)
family и revision (family:revision ) или полное имя ресурса Amazon (ARN) определения задачи для удаления. Необходимо указать revision .--cli-input-json | --cli-input-yaml (строка) Считывает аргументы из предоставленной JSON-строки. JSON-строка соответствует формату, предоставленному --generate-cli-skeleton. Если другие аргументы предоставлены в командной строке, эти значения переопределят значения, предоставленные в JSON. Невозможно передавать произвольные двоичные значения с помощью предоставленного JSON-значения, так как строка будет взята буквально. Это не может быть указано вместе с --cli-input-yaml.
--generate-cli-skeleton (строка) Выводит JSON-скелет в стандартный вывод без отправки запроса API. Если предоставлено значение без значения или со значением input, выводит пример JSON-ввода, который может быть использован в качестве аргумента для --cli-input-json. Аналогично, если предоставлено значение yaml-input, выведет пример YAML-ввода, который может быть использован с --cli-input-yaml. Если предоставлено значение output, проверяет входные данные команды и возвращает пример выходного JSON для этой команды. Сгенерированный JSON-скелет не является стабильным между версиями AWS CLI, и нет гарантий обратной совместимости в сгенерированном JSON-скелете.
Глобальные параметры
--debug (булево)
Включить отладку логов.
--endpoint-url (строка)
Переопределить URL по умолчанию команды заданным URL.
--no-verify-ssl (булево)
По умолчанию AWS CLI использует SSL при общении с сервисами AWS. Для каждого подключения SSL AWS CLI проверяет сертификаты SSL. Этот параметр переопределяет поведение проверки сертификатов SSL по умолчанию.
--no-paginate (булево)
Отключить автоматическую постраничную навигацию. Если автоматическая постраничная навигация отключена, AWS CLI выполнит только один вызов для первой страницы результатов.
--output (строка)
Стиль форматирования для вывода команд.
- json
- text
- table
- yaml
- yaml-stream
--query (строка)
Запрос JMESPath для фильтрации данных ответа.
--profile (строка)
Использовать определённый профиль из файла учетных данных.
--region (строка)
Регион для использования. Переопределяет настройки конфигурации/среды.
--version (строка)
Отобразить версию этого инструмента.
--color (строка)
Включить/отключить цветной вывод.
- on
- off
- auto
--no-sign-request (булево)
Не подписывать запросы. Учетные данные не будут загружены, если этот аргумент предоставлен.
--ca-bundle (строка)
Файл с пакетом сертификатов CA для проверки SSL-сертификатов. Переопределяет настройки конфигурации/среды.
--cli-read-timeout (целое число)
Максимальное время чтения сокета в секундах. Если значение установлено в 0, чтение сокета будет блокирующим и не будет иметь таймаут. Значение по умолчанию составляет 60 секунд.
--cli-connect-timeout (целое число)
Максимальное время подключения сокета в секундах. Если значение установлено в 0, подключение сокета будет блокирующим и не будет иметь таймаут. Значение по умолчанию составляет 60 секунд.
--cli-binary-format (строка)
Стиль форматирования, используемый для двоичных блоков. По умолчанию формат — base64. Формат base64 ожидает, что двоичные блоки будут предоставлены как строка, закодированная в base64. Формат raw-in-base64-out сохраняет совместимость с поведением AWS CLI V1, и двоичные значения должны быть переданы буквально. При предоставлении содержимого из файла, которое соответствует двоичному блоку, fileb:// всегда будет обрабатываться как двоичное и будет использовать содержимое файла непосредственно независимо от настройки cli-binary-format. При использовании file:// содержимое файла должно быть должным образом отформатировано для настроенного cli-binary-format.
- base64
- raw-in-base64-out
--no-cli-pager (булево)
Отключить пейджер CLI для вывода.
--cli-auto-prompt (булево)
Автоматически запросить параметры ввода CLI.
--no-cli-auto-prompt (булево)
Отключить автоматическое запросы параметров ввода CLI.
Примеры
Примечание
Для использования следующих примеров, необходимо установить и настроить AWS CLI. См. руководство по началу работы в Руководстве пользователя AWS CLI для получения дополнительной информации.
Если не указано иное, все примеры имеют правила цитирования, аналогичные Unix. Эти примеры необходимо адаптировать к правилам цитирования вашего терминала. См. Использование кавычек со строками в Руководстве пользователя AWS CLI .
Для удаления определения задачи
Следующий deregister-task-definition пример удаляет первую ревизию curler определения задачи в вашем регионе по умолчанию.
aws ecs deregister-task-definition --task-definition curler:1
Обратите внимание, что в результирующем выводе статус определения задачи показывает INACTIVE:
{
"taskDefinition": {
"status": "INACTIVE",
"family": "curler",
"volumes": [],
"taskDefinitionArn": "arn:aws:ecs:us-west-2:123456789012:task-definition/curler:1",
"containerDefinitions": [
{
"environment": [],
"name": "curler",
"mountPoints": [],
"image": "curl:latest",
"cpu": 100,
"portMappings": [],
"entryPoint": [],
"memory": 256,
"command": [
"curl -v http://example.com/"
],
"essential": true,
"volumesFrom": []
}
],
"revision": 1
}
}
Для получения дополнительной информации см. Определения задач Amazon ECS в Руководстве разработчика Amazon ECS.
Вывод
taskDefinition -> (структура)
Полное описание дерегистрированной задачи.
taskDefinitionArn -> (строка)
containerDefinitions -> (список)
Список определений контейнеров в формате JSON, описывающих различные контейнеры, составляющие задачу. Дополнительную информацию о параметрах и значениях по умолчанию для определения контейнеров см. в руководстве разработчика Amazon Elastic Container Service Amazon Elastic Container Service Developer Guide.
(структура)
Определения контейнеров используются в определениях задач для описания различных контейнеров, которые запускаются как часть задачи.
name -> (строка)
name в команде docker container create и параметру --name в команде docker run.image -> (строка)
Изображение, используемое для запуска контейнера. Эта строка передается непосредственно демону Docker. По умолчанию доступны изображения из реестра Docker Hub. Другие репозитории указываются с помощью формата `` адрес-репозитория /имя-изображения :тег `` или `` адрес-репозитория /имя-изображения @*digest* `` . Разрешается до 255 букв (прописных и строчных), цифр, дефисов, символов подчеркивания, двоеточий, точек, слешей и знаков решетки. Этот параметр соответствует параметру Image в команде docker container create и параметру IMAGE в команде docker run.
- При запуске новой задачи агент Amazon ECS извлекает последнюю версию указанного изображения и тега для использования контейнером. Однако последующие обновления изображения репозитория не распространяются на уже запущенные задачи.
- Изображения в репозиториях Amazon ECR можно указать, используя полный
registry/repository:tagилиregistry/repository@digest. Например,012345678910.dkr.ecr.<region-name>.amazonaws.com/<repository-name>:latestили012345678910.dkr.ecr.<region-name>.amazonaws.com/<repository-name>@sha256:94afd1f2e64d908bc90dbca0035a5b567EXAMPLE. - Изображения в официальных репозиториях Docker Hub используют одно имя (например,
ubuntuилиmongo). - Изображения в других репозиториях Docker Hub квалифицируются с именем организации (например,
amazon/amazon-ecs-agent). - Изображения в других онлайн-репозиториях дополнительно квалифицируются доменным именем (например,
quay.io/assemblyline/ubuntu).
repositoryCredentials -> (структура)
Аутентификационные данные для доступа к частному репозиторию.
credentialsParameter -> (строка)
Amazon Resource Name (ARN) секрета, содержащего данные аутентификации для доступа к частному репозиторию.
Примечание
При использовании API, командной строки или SDK Amazon ECS, если секрет существует в том же регионе, что и задача, которую вы запускаете, можно использовать либо полный ARN, либо имя секрета. При использовании веб-консоли Amazon Web Services необходимо указать полный ARN секрета.cpu -> (целое число)
Количество единиц cpu, зарезервированных для контейнера. Этот параметр соответствует параметру CpuShares в команде docker container create и параметру --cpu-shares в команде docker run.
Этот параметр необязателен для задач, использующих тип запуска Fargate, и единственное требование состоит в том, чтобы общее количество выделенных единиц ЦП для всех контейнеров в рамках задачи было меньше значения cpu на уровне задачи.
Примечание
Количество единиц ЦП, доступных на каждом типе экземпляра EC2, можно определить, умножив количество vCPU, указанное для данного типа экземпляра на странице с подробными сведениями об экземплярах Amazon EC2, на 1024.Контейнеры Linux совместно используют невыделенные единицы ЦП с другими контейнерами на экземпляре контейнера в том же соотношении, что и их выделенное количество. Например, если вы запускаете задачу с одним контейнером на экземпляре с одним ядром и 512 единицами ЦП для этого контейнера, и это единственная запущенная задача на экземпляре контейнера, этот контейнер может использовать весь доступный объем 1024 единиц ЦП в любой момент времени. Однако если вы запустите еще одну копию той же задачи на этом экземпляре контейнера, каждой задаче гарантируется минимум 512 единиц ЦП при необходимости. Более того, каждый контейнер может иметь более высокую загрузку ЦП, если другой контейнер его не использует. Если обе задачи были активны на 100% все время, они будут ограничены 512 единицами ЦП.
На экземплярах контейнеров Linux демон Docker на экземпляре контейнера использует значение ЦП для вычисления относительных коэффициентов распределения ЦП для запущенных контейнеров. Минимальное допустимое значение доли ЦП, разрешенное ядром Linux, составляет 2, а максимальное — 262144. Однако параметр ЦП не является обязательным, и в ваших определениях контейнеров можно использовать значения ЦП ниже 2 или выше 262144. Для значений ЦП ниже 2 (включая null) или выше 262144 поведение зависит от версии агента Amazon ECS:
- Версии агента, меньшие или равные 1.1.0: Значения null и нулевые значения ЦП передаются Docker как 0, который Docker затем преобразует в 1024 доли ЦП. Значения ЦП равные 1 передаются Docker как 1, которое ядро Linux преобразует в две доли ЦП.
- Версии агента, большие или равные 1.2.0: Значения null, нулевые и значения ЦП равные 1 передаются Docker как 2.
- Версии агента, большие или равные 1.84.0: Значения ЦП, большие, чем 256 vCPU, передаются Docker как 256, что эквивалентно 262144 долям ЦП.
На экземплярах контейнеров Windows ограничение по ЦП применяется как абсолютное ограничение или квота. Контейнеры Windows имеют доступ только к указанному количеству ЦП, описанному в определении задачи. Значение null или ноль для ЦП передается Docker как 0, которое Windows интерпретирует как 1% от одного ядра.
memory -> (целое число)
Количество памяти (в МБ), предоставляемое контейнеру. Если контейнер пытается превысить указанный здесь объем памяти, контейнер будет остановлен. Общий объем памяти, зарезервированный для всех контейнеров в рамках задачи, должен быть меньше значения memory на уровне задачи, если оно указано. Этот параметр соответствует параметру Memory в команде docker container create и параметру --memory в команде docker run.
При использовании типа запуска Fargate этот параметр необязателен.
При использовании типа запуска EC2 необходимо указать либо значение памяти на уровне задачи, либо значение памяти на уровне контейнера. Если вы укажете и значение памяти на уровне контейнера memory, и значение memoryReservation, то memory должно быть больше, чем memoryReservation. Если вы укажите memoryReservation, то это значение вычитается из доступных ресурсов памяти для экземпляра контейнера, где размещен контейнер. В противном случае используется значение memory.
Демно Docker версии 20.10.0 или более поздней резервируется минимум 6 МБ памяти для контейнера. Поэтому не указывайте меньше 6 МБ памяти для ваших контейнеров.
Демно Docker версии 19.03.13-ce или более ранней резервируется минимум 4 МБ памяти для контейнера. Поэтому не указывайте меньше 4 МБ памяти для ваших контейнеров.
memoryReservation -> (целое число)
Мягкое ограничение (в МБ) памяти, резервируемой для контейнера. При сильной конкуренции за системную память Docker пытается удерживать память контейнера в пределах этого мягкого ограничения. Однако контейнер может потреблять больше памяти при необходимости, до либо жесткого ограничения, указанного с помощью параметра memory (применимо), либо всей доступной памяти на экземпляре контейнера, что произойдет раньше. Этот параметр соответствует параметру MemoryReservation в команде docker container create и параметру --memory-reservation в команде docker run.
Если значение памяти на уровне задачи не указано, необходимо указать не нулевое целое число для одного или обоих параметров memory или memoryReservation в определении контейнера. Если вы укажете оба, memory должно быть больше, чем memoryReservation. Если вы укажите memoryReservation, то это значение вычитается из доступных ресурсов памяти для экземпляра контейнера, где размещен контейнер. В противном случае используется значение memory.
Например, если ваш контейнер обычно использует 128 МБ памяти, но изредка всплескивает до 256 МБ на короткие промежутки времени, вы можете установить значение memoryReservation в 128 МБ и жесткое ограничение memory в 300 МБ. Эта конфигурация позволит контейнеру зарезервировать только 128 МБ памяти из оставшихся ресурсов на экземпляре контейнера, но также позволит контейнеру потреблять больше ресурсов памяти при необходимости.
Демно Docker версии 20.10.0 или более поздней резервируется минимум 6 МБ памяти для контейнера. Поэтому не указывайте меньше 6 МБ памяти для ваших контейнеров.
Демно Docker версии 19.03.13-ce или более ранней резервируется минимум 4 МБ памяти для контейнера. Поэтому не указывайте меньше 4 МБ памяти для ваших контейнеров.
links -> (список)
Параметр links позволяет контейнерам взаимодействовать друг с другом без необходимости отображения портов. Этот параметр поддерживается только если режим сети определения задачи равен bridge. Конструкция name:internalName аналогична name:alias в Docker links. Разрешается до 255 букв (прописных и строчных), цифр, символов подчеркивания и дефисов. Этот параметр соответствует параметру Links в команде docker container create и параметру --link в команде docker run.
Примечание
Этот параметр не поддерживается для контейнеров Windows.Предупреждение
Контейнеры, расположенные на одном экземпляре контейнера, могут взаимодействовать друг с другом без необходимости использования параметров links или отображения портов хоста. Изоляция сетей достигается на экземпляре контейнера с использованием правил безопасности и настроек VPC.(строка)
portMappings -> (список)
Список сопоставлений портов для контейнера. Сопоставления портов позволяют контейнерам получать доступ к портам на хост-контейнерном экземпляре для отправки или получения трафика.
Для определений задач, использующих режим сети awsvpc, укажите только containerPort. hostPort можно оставить пустым или он должен быть таким же, как containerPort.
Сопоставления портов в Windows используют адрес шлюза NetNAT, а не localhost. Для сопоставлений портов в Windows нет обратной связи, поэтому вы не можете получить доступ к сопоставленному порту контейнера с самого хоста.
Этот параметр соответствует PortBindings в команде создания контейнера docker и параметру --publish в команде docker run. Если режим сети определения задачи установлен в none, то сопоставления портов нельзя указывать. Если режим сети определения задачи установлен в host, то порты хоста должны быть неопределёнными или совпадать с портом контейнера в сопоставлении портов.
Примечание
После того, как задача достигнет статусаRUNNING, ручные и автоматические назначения портов хоста и контейнера отображаются в разделе **Связывания сети** описания контейнера для выбранной задачи в консоли Amazon ECS. Назначения также видны в разделе networkBindings ответов DescribeTasks.(структура)
Сопоставления портов позволяют контейнерам получать доступ к портам на хост-контейнерном экземпляре для отправки или получения трафика. Сопоставления портов указываются как часть определения контейнера.
Если вы используете контейнеры в задаче с режимом сети awsvpc или host, укажите открытые порты, используя containerPort. hostPort можно оставить пустым или он должен быть таким же, как containerPort.
Большинство полей этого параметра (containerPort, hostPort, protocol) соответствуют PortBindings в команде создания контейнера docker и параметру --publish для docker run. Если режим сети определения задачи установлен в host, порты хоста должны быть неопределёнными или совпадать с портом контейнера в сопоставлении портов.
Примечание
Вы не можете экспонировать один и тот же порт контейнера для нескольких протоколов. Если вы попытаетесь это сделать, будет возвращено сообщение об ошибке.После того, как задача достигнет статуса RUNNING, ручные и автоматические назначения портов хоста и контейнера отображаются в разделе networkBindings ответов API DescribeTasks.
containerPort -> (целое число)
Номер порта в контейнере, привязанный к указанному пользователем или автоматически назначенному порту хоста.
Если вы используете контейнеры в задаче с режимом сети awsvpc или host, укажите открытые порты, используя containerPort.
Если вы используете контейнеры в задаче с режимом сети bridge и вы указываете порт контейнера, а не порт хоста, ваш контейнер автоматически получает порт хоста в диапазоне временных портов. Дополнительную информацию см. в разделе hostPort. Сопоставления портов, которые автоматически назначаются таким образом, не учитываются в лимите 100 зарезервированных портов экземпляра контейнера.
hostPort -> (целое число)
Номер порта на экземпляре контейнера, который нужно зарезервировать для вашего контейнера.
Если вы указываете containerPortRange, оставьте это поле пустым, и значение hostPort устанавливается следующим образом:
- Для контейнеров в задаче с режимом сети
awsvpc,hostPortустанавливается равнымcontainerPort. Это стратегия статического сопоставления. - Для контейнеров в задаче с режимом сети
bridge, агент Amazon ECS находит свободные порты на хосте и автоматически привязывает их к портам контейнера. Это стратегия динамического сопоставления.
Если вы используете контейнеры в задаче с режимом сети awsvpc или host, hostPort может быть оставлено пустым или установлено равным containerPort.
Если вы используете контейнеры в задаче с режимом сети bridge, вы можете указать нерезервированный порт хоста для сопоставления портов контейнера или опустить hostPort (или установить его в значение 0), одновременно указав containerPort, и ваш контейнер автоматически получит порт в диапазоне временных портов для операционной системы экземпляра контейнера и версии Docker.
Стандартный диапазон временных портов для Docker версии 1.6.0 и выше перечислен на экземпляре под /proc/sys/net/ipv4/ip_local_port_range. Если этот параметр ядра недоступен, используется стандартный диапазон временных портов от 49153 до 65535 (Linux) или от 49152 до 65535 (Windows). Не пытайтесь указать порт хоста в диапазоне временных портов, так как они зарезервированы для автоматического назначения. В целом, порты ниже 32768 находятся вне диапазона временных портов.
Зарезервированные порты по умолчанию - 22 для SSH, порты Docker 2375 и 2376, и порты агента Amazon ECS 51678-51680. Любой порт хоста, который ранее был указан в работающей задаче, также зарезервирован во время выполнения задачи. То есть после остановки задачи порт хоста освобождается. Текущие зарезервированные порты отображаются в разделе remainingResources вывода DescribeContainerInstances. Экземпляр контейнера может иметь до 100 зарезервированных портов одновременно. Это число включает порты по умолчанию. Автоматически назначенные порты не включены в квоту в 100 зарезервированных портов.
protocol -> (строка)
tcp и udp. По умолчанию - tcp. protocol неизменяем в службе Service Connect. Для обновления этого поля требуется удаление и повторное развертывание службы.name -> (строка)
serviceConnectConfiguration и vpcLatticeConfigurations службы. Имя может содержать до 64 символов. Символы могут включать строчные буквы, цифры, символы подчеркивания (_) и дефисы (-). Имя не может начинаться с дефиса.appProtocol -> (строка)
Прикладной протокол, используемый для сопоставления портов. Этот параметр применим только к Service Connect. Рекомендуется установить этот параметр, согласуясь с протоколом, используемым вашей приложением. Если вы установили этот параметр, Amazon ECS добавит обработку подключений, специфичную для протокола, к прокси-серверу Service Connect. Если вы установите этот параметр, Amazon ECS добавит телеметрию, специфичную для протокола, в консоль Amazon ECS и CloudWatch.
Если вы не установите значение для этого параметра, используется TCP. Однако Amazon ECS не добавляет телеметрию, специфичную для протокола, для TCP.
appProtocol неизменяем в службе Service Connect. Для обновления этого поля требуется удаление и повторное развертывание службы.Задачи, выполняемые в пространстве имен, могут использовать короткие имена для подключения к службам в пространстве имен. Задачи могут подключаться к службам через все кластеры в пространстве имен. Задачи подключаются через управляемый контейнер-прокси, который собирает журналы и метрики для повышения видимости. Поддержка Service Connect предоставляется только для задач, созданных службами Amazon ECS. Дополнительную информацию см. в разделе Service Connect в руководстве разработчика Amazon Elastic Container Service.
containerPortRange -> (строка)
Диапазон портов в контейнере, привязанный к динамически сопоставленному диапазону портов хоста.
При указании containerPortRange применяются следующие правила:
- Вы должны использовать режим сети
bridgeили режим сетиawsvpc. - Этот параметр доступен для типов запуска EC2 и Fargate.
- Этот параметр доступен для операционных систем Linux и Windows.
- Экземпляр контейнера должен иметь не менее версии 1.67.0 агента контейнера и не менее версии 1.67.0-1 пакета
ecs-init - Можно указать не более 100 диапазонов портов на контейнер.
- Вы не указываете
hostPortRange. ЗначениеhostPortRangeустанавливается следующим образом:- Для контейнеров в задаче с режимом сети
awsvpc,hostPortRangeустанавливается равнымcontainerPortRange. Это стратегия статического сопоставления. - Для контейнеров в задаче с режимом сети
bridge, агент Amazon ECS находит свободные порты хоста из стандартного диапазона временных портов и передает их docker для привязки к портам контейнера.
- Для контейнеров в задаче с режимом сети
containerPortRangeдопустимые значения находятся в диапазоне от 1 до 65535.- Порт может быть включен только в одно сопоставление портов на контейнер.
- Нельзя указывать перекрывающиеся диапазоны портов.
- Первый порт в диапазоне должен быть меньше последнего порта в диапазоне.
- Docker рекомендует отключить docker-прокси в файле конфигурации Docker демона при большом количестве портов. Дополнительную информацию см. в вопросе #11185 на сайте Github. Дополнительную информацию о том, как отключить docker-прокси в файле конфигурации Docker демона, см. в разделе Docker daemon в руководстве разработчика Amazon ECS.
Вы можете вызвать ` DescribeTasks https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_DescribeTasks.html`__ для просмотра hostPortRange, которые представляют собой порты хоста, привязанные к портам контейнера.
essential -> (булево)
Если параметр essential контейнера отмечен как true, и этот контейнер выходит из строя или останавливается по любой причине, все остальные контейнеры, которые являются частью задачи, останавливаются. Если параметр essential контейнера отмечен как false, его сбой не влияет на остальные контейнеры в задаче. Если этот параметр опущен, контейнер считается важным.
Все задачи должны иметь по крайней мере один важный контейнер. Если у вас приложение, состоящее из нескольких контейнеров, сгруппируйте контейнеры, используемые для общей цели, в компоненты, и разделите различные компоненты на несколько определений задач. Дополнительную информацию см. в разделе Архитектура приложений в руководстве разработчика Amazon Elastic Container Service.
restartPolicy -> (структура)
Политика перезапуска контейнера. При настройке политики перезапуска Amazon ECS может перезапустить контейнер без необходимости замены задачи. Дополнительную информацию см. в разделе Перезапуск отдельных контейнеров в задачах Amazon ECS с политиками перезапуска контейнеров в Руководстве разработчика Amazon Elastic Container Service.
enabled -> (boolean)
ignoredExitCodes -> (list)
Список кодов завершения, которые Amazon ECS будет игнорировать и не будет пытаться перезапустить. Можно указать максимум 50 кодов завершения контейнера. По умолчанию Amazon ECS не игнорирует никакие коды завершения.
(integer)
restartAttemptPeriod -> (integer)
restartAttemptPeriod секунды. Если контейнер не сможет работать в течение этого периода времени и завершится раньше, он не будет перезапущен. Можно установить минимальное значение restartAttemptPeriod в 60 секунд и максимальное restartAttemptPeriod в 1800 секунд. По умолчанию контейнер должен работать в течение 300 секунд, прежде чем его можно будет перезапустить.entryPoint -> (list)
Предупреждение
Ранние версии агента контейнеров Amazon ECS не обрабатывают должным образом параметрыentryPoint. Если у вас возникли проблемы с использованием entryPoint, обновите свой агент контейнеров или введите ваши команды и аргументы как элементы массива command.Точка входа, передаваемая контейнеру. Этот параметр соответствует Entrypoint в команде создания контейнера docker и параметру --entrypoint команды docker run.
(string)
command -> (list)
Команда, передаваемая контейнеру. Этот параметр соответствует Cmd в команде создания контейнера docker и параметру COMMAND команды docker run. Если аргументов несколько, каждый аргумент — это отдельный строковый элемент массива.
(string)
environment -> (list)
Переменные среды, передаваемые контейнеру. Этот параметр соответствует Env в команде создания контейнера docker и параметру --env команды docker run.
Предупреждение
Не рекомендуется использовать текстовые переменные среды для конфиденциальной информации, такой как данные учетных данных.(structure)
Объект пары «ключ-значение».
name -> (string)
value -> (string)
environmentFiles -> (list)
Список файлов, содержащих переменные среды, передаваемые контейнеру. Этот параметр соответствует параметру --env-file команды docker run.
Можно указать до десяти файлов среды. Файл должен иметь расширение .env. Каждая строка в файле среды содержит переменную среды в формате VARIABLE=VALUE. Строки, начинающиеся с #, обрабатываются как комментарии и игнорируются.
Если переменные среды указаны с помощью параметра environment в определении контейнера, они имеют приоритет над переменными, содержащимися в файле среды. Если указано несколько файлов среды, содержащих одну и ту же переменную, они обрабатываются сверху вниз. Рекомендуется использовать уникальные имена переменных. Дополнительную информацию см. в разделе Указание переменных среды в Руководстве разработчика Amazon Elastic Container Service.
(structure)
Список файлов, содержащих переменные среды, передаваемые контейнеру. Можно указать до десяти файлов среды. Файл должен иметь расширение .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 -> (string)
type -> (string)
s3.mountPoints -> (list)
Точки монтирования томов данных в вашем контейнере.
Этот параметр соответствует Volumes в команде создания контейнера docker и параметру --volume команды docker run.
Контейнеры Windows могут монтировать целые каталоги на том же диске, что и $env:ProgramData. Контейнеры Windows не могут монтировать каталоги на другом диске, и точки монтирования не могут быть между дисками.
(structure)
Подробная информация о точке монтирования тома, используемой в определении контейнера.
sourceVolume -> (string)
name определения задачи volume.containerPath -> (string)
readOnly -> (boolean)
true, контейнер имеет только доступ для чтения к тому. Если это значение false, тогда контейнер может записывать в том. Значение по умолчанию — false.volumesFrom -> (list)
Тома данных для монтирования из другого контейнера. Этот параметр соответствует VolumesFrom в команде создания контейнера docker и параметру --volumes-from команды docker run.
(structure)
Подробности о томе данных из другого контейнера в одном определении задачи.
sourceContainer -> (string)
readOnly -> (boolean)
true, контейнер имеет только доступ для чтения к тому. Если это значение false, тогда контейнер может записывать в том. Значение по умолчанию — false.linuxParameters -> (structure)
Модификации, специфичные для Linux, применяемые к стандартной конфигурации контейнера Docker, такие как возможности ядра Linux. Для получения дополнительной информации см. KernelCapabilities .
Примечание
Этот параметр не поддерживается для контейнеров Windows.capabilities -> (структура)
Возможности Linux для контейнера, которые добавляются к или удаляются из стандартной конфигурации, предоставляемой Docker.
Примечание
Для задач, использующих тип запуска Fargate,capabilities поддерживается для всех версий платформ, но параметр add поддерживается только при использовании версии платформы 1.4.0 или более поздней.add -> (список)
Возможности Linux для контейнера, добавленные к стандартной конфигурации, предоставляемой Docker. Этот параметр сопоставляется с CapAdd в команде docker container create и опцией --cap-add для docker run.
Примечание
Задачи, запущенные на Fargate, поддерживают только добавление ядраSYS_PTRACE.Допустимые значения: "ALL" | "AUDIT_CONTROL" | "AUDIT_WRITE" | "BLOCK_SUSPEND" | "CHOWN" | "DAC_OVERRIDE" | "DAC_READ_SEARCH" | "FOWNER" | "FSETID" | "IPC_LOCK" | "IPC_OWNER" | "KILL" | "LEASE" | "LINUX_IMMUTABLE" | "MAC_ADMIN" | "MAC_OVERRIDE" | "MKNOD" | "NET_ADMIN" | "NET_BIND_SERVICE" | "NET_BROADCAST" | "NET_RAW" | "SETFCAP" | "SETGID" | "SETPCAP" | "SETUID" | "SYS_ADMIN" | "SYS_BOOT" | "SYS_CHROOT" | "SYS_MODULE" | "SYS_NICE" | "SYS_PACCT" | "SYS_PTRACE" | "SYS_RAWIO" | "SYS_RESOURCE" | "SYS_TIME" | "SYS_TTY_CONFIG" | "SYSLOG" | "WAKE_ALARM"
(строка)
drop -> (список)
Возможности Linux для контейнера, удаленные из стандартной конфигурации, предоставляемой Docker. Этот параметр сопоставляется с CapDrop в команде docker container create и опцией --cap-drop для docker run.
Допустимые значения: "ALL" | "AUDIT_CONTROL" | "AUDIT_WRITE" | "BLOCK_SUSPEND" | "CHOWN" | "DAC_OVERRIDE" | "DAC_READ_SEARCH" | "FOWNER" | "FSETID" | "IPC_LOCK" | "IPC_OWNER" | "KILL" | "LEASE" | "LINUX_IMMUTABLE" | "MAC_ADMIN" | "MAC_OVERRIDE" | "MKNOD" | "NET_ADMIN" | "NET_BIND_SERVICE" | "NET_BROADCAST" | "NET_RAW" | "SETFCAP" | "SETGID" | "SETPCAP" | "SETUID" | "SYS_ADMIN" | "SYS_BOOT" | "SYS_CHROOT" | "SYS_MODULE" | "SYS_NICE" | "SYS_PACCT" | "SYS_PTRACE" | "SYS_RAWIO" | "SYS_RESOURCE" | "SYS_TIME" | "SYS_TTY_CONFIG" | "SYSLOG" | "WAKE_ALARM"
(строка)
devices -> (список)
Любые устройства хоста, которые необходимо экспонировать для контейнера. Этот параметр сопоставляется с Devices в команде docker container create и опцией --device для docker run.
Примечание
Если вы используете задачи с типом запуска Fargate, параметрdevices не поддерживается.(структура)
Объект, представляющий устройство хоста экземпляра контейнера.
hostPath -> (строка)
containerPath -> (строка)
permissions -> (список)
Явные разрешения, предоставляемые контейнеру для устройства. По умолчанию контейнер имеет разрешения на read , write и mknod для устройства.
(строка)
initProcessEnabled -> (булево)
init внутри контейнера, который перенаправляет сигналы и собирает процессы. Этот параметр сопоставляется с опцией --init для docker run. Этот параметр требует версии 1.25 Docker Remote API или выше на вашем экземпляре контейнера. Чтобы проверить версию Docker Remote API на вашем экземпляре контейнера, войдите в свой экземпляр контейнера и выполните следующую команду: sudo docker version --format '{{.Server.APIVersion}}'
sharedMemorySize -> (целое число)
Значение размера (в МБ) тома /dev/shm. Этот параметр сопоставляется с опцией --shm-size для docker run.
Примечание
Если вы используете задачи с типом запуска Fargate, параметрsharedMemorySize не поддерживается.tmpfs -> (список)
Путь контейнера, параметры монтирования и размер (в МБ) монтирования tmpfs. Этот параметр сопоставляется с опцией --tmpfs для docker run.
Примечание
Если вы используете задачи с типом запуска Fargate, параметрtmpfs не поддерживается.(структура)
Путь контейнера, параметры монтирования и размер монтирования tmpfs.
containerPath -> (строка)
size -> (целое число)
mountOptions -> (список)
Список параметров монтирования тома tmpfs.
Допустимые значения: "defaults" | "ro" | "rw" | "suid" | "nosuid" | "dev" | "nodev" | "exec" | "noexec" | "sync" | "async" | "dirsync" | "remount" | "mand" | "nomand" | "atime" | "noatime" | "diratime" | "nodiratime" | "bind" | "rbind" | "unbindable" | "runbindable" | "private" | "rprivate" | "shared" | "rshared" | "slave" | "rslave" | "relatime" | "norelatime" | "strictatime" | "nostrictatime" | "mode" | "uid" | "gid" | "nr_inodes" | "nr_blocks" | "mpol"
(строка)
maxSwap -> (целое число)
Общий объем памяти свопинга (в МБ), который может использовать контейнер. Этот параметр будет преобразован в опцию --memory-swap для docker run, где значение будет суммой памяти контейнера плюс значение maxSwap.
Если задано значение maxSwap равное 0, контейнер не будет использовать свопинг. Допустимые значения — 0 или любое положительное целое число. Если параметр maxSwap опущен, контейнер будет использовать конфигурацию свопинга для экземпляра контейнера, на котором он запущен. Значение maxSwap должно быть установлено для использования параметра swappiness.
Примечание
Если вы используете задачи с типом запуска Fargate, параметр maxSwap не поддерживается.
Если вы используете задачи на Amazon Linux 2023, параметр swappiness не поддерживается.
swappiness -> (целое число)
Это позволяет настроить поведение свопинга памяти контейнера. Значение swappiness равное 0 приведет к тому, что свопинг не будет происходить, если это не абсолютно необходимо. Значение swappiness равное swappiness приведет к тому, что страницы будут свопиться очень агрессивно. Допустимые значения — целые числа от 0 до 100. Если параметр swappiness не указан, используется значение по умолчанию 60. Если для maxSwap не указано значение, этот параметр игнорируется. Этот параметр сопоставляется с опцией --memory-swappiness для docker run.
Примечание
Если вы используете задачи с типом запуска Fargate, параметр swappiness не поддерживается.
Если вы используете задачи на Amazon Linux 2023, параметр swappiness не поддерживается.
secrets -> (список)
Секреты, которые нужно передать контейнеру. Дополнительную информацию можно найти в разделе «Указание конфиденциальных данных» в руководстве разработчика Amazon Elastic Container Service.
(структура)
Объект, представляющий секрет, который нужно экспонировать для контейнера. Секреты могут быть экспонированы контейнеру следующим образом:
- Чтобы ввести конфиденциальные данные в контейнеры в качестве переменных среды, используйте параметр определения контейнера
secrets. - Чтобы ссылаться на конфиденциальную информацию в конфигурации логов контейнера, используйте параметр определения контейнера
secretOptions.
Дополнительную информацию можно найти в разделе «Указание конфиденциальных данных» в руководстве разработчика Amazon Elastic Container Service.
name -> (строка)
valueFrom -> (строка)
Секрет, который нужно экспонировать контейнеру. Поддерживаются полное ARN секрета Secrets Manager или полное ARN параметра в SSM Parameter Store.
Дополнительную информацию об обязательных разрешениях Identity and Access Management можно найти в руководстве разработчика Amazon Elastic Container Service в разделе «Требуемые разрешения IAM для секретов Amazon ECS (для Secrets Manager)» или «Требуемые разрешения IAM для секретов Amazon ECS (для хранилища параметров Systems Manager)».
Примечание
Если параметр SSM Parameter Store существует в том же регионе, что и задача, которую вы запускаете, вы можете использовать полное ARN или имя параметра. Если параметр существует в другом регионе, необходимо указать полное ARN.dependsOn -> (список)
Зависимости, определённые для запуска и завершения контейнера. Контейнер может содержать несколько зависимостей от других контейнеров в определении задачи. При определении зависимости для запуска контейнера, для завершения она инвертируется.
Для задач, использующих тип запуска EC2, экземпляры контейнеров требуют как минимум версии 1.26.0 контейнерного агента, чтобы включить контейнерные зависимости. Однако рекомендуется использовать последнюю версию контейнерного агента. Сведения о проверке версии агента и обновлении до последней версии см. в разделе Обновление Amazon ECS Container Agent в Руководстве разработчика Amazon Elastic Container Service. Если вы используете оптимизированный для Amazon ECS AMI Linux, ваш экземпляр требует как минимум версии 1.26.0-1 пакета ecs-init. Если ваши экземпляры контейнеров запущены с версии 20190301 или более поздней, они содержат требуемые версии контейнерного агента и ecs-init. Дополнительные сведения см. в разделе Оптимизированный для Amazon ECS AMI Linux в Руководстве разработчика Amazon Elastic Container Service.
Для задач, использующих тип запуска Fargate, задача или служба требуют следующих платформ:
- Версия платформы Linux
1.3.0или более поздняя. - Версия платформы Windows
1.0.0или более поздняя.
(структура)
Зависимости, определённые для запуска и завершения контейнера. Контейнер может содержать несколько зависимостей. При определении зависимости для запуска контейнера, для завершения она инвертируется.
Ваши экземпляры контейнеров Amazon ECS требуют как минимум версии 1.26.0 контейнерного агента для использования контейнерных зависимостей. Однако рекомендуется использовать последнюю версию контейнерного агента. Сведения о проверке версии агента и обновлении до последней версии см. в разделе Обновление Amazon ECS Container Agent в Руководстве разработчика Amazon Elastic Container Service. Если вы используете оптимизированный для Amazon ECS AMI Linux, ваш экземпляр требует как минимум версии 1.26.0-1 пакета ecs-init. Если ваши экземпляры контейнеров запущены с версии 20190301 или более поздней, они содержат требуемые версии контейнерного агента и ecs-init. Дополнительные сведения см. в разделе Оптимизированный для Amazon ECS AMI Linux в Руководстве разработчика Amazon Elastic Container Service.
Примечание
Для задач, использующих тип запуска Fargate, задача или служба требуют следующих платформ:
- Версия платформы Linux
1.3.0или более поздняя. - Версия платформы Windows
1.0.0или более поздняя.
Дополнительные сведения о создании контейнерной зависимости см. в разделе Контейнерная зависимость в Руководстве разработчика Amazon Elastic Container Service.
containerName -> (строка)
condition -> (строка)
Условие зависимости контейнера. Доступные условия и их поведение:
-
START- Это условие эмулирует поведение связей и томов на сегодняшний день. Оно проверяет, что зависимый контейнер запущен перед разрешением запуска других контейнеров. -
COMPLETE- Это условие проверяет, что зависимый контейнер завершил выполнение (вышел), прежде чем разрешить запуск других контейнеров. Это может быть полезно для необязательных контейнеров, которые выполняют скрипт и затем завершаются. Это условие не может быть установлено для основного контейнера. -
SUCCESS- Это условие такое же, какCOMPLETE, но также требует, чтобы контейнер завершился со статусомzero. Это условие не может быть установлено для основного контейнера. -
HEALTHY- Это условие проверяет, что зависимый контейнер прошёл проверку работоспособности Docker, прежде чем разрешить запуск других контейнеров. Для этого требуется, чтобы в зависимом контейнере были настроены проверки работоспособности. Это условие подтверждается только при запуске задачи.
startTimeout -> (целое число)
Время ожидания (в секундах) до отказа от разрешения зависимостей для контейнера. Например, вы определяете два контейнера в определении задачи, где containerA зависит от containerB, достигнув статуса COMPLETE, SUCCESS или HEALTHY. Если для containerB указано значение startTimeout, и оно не достигает желаемого состояния в течение этого времени, containerA прекращает попытку запуска и не запускается. Это приводит к переходу задачи в состояние STOPPED.
Примечание
При использовании переменной конфигурации контейнерного агентаECS_CONTAINER_START_TIMEOUT, она применяется независимо от этого значения тайм-аута запуска.Для задач, использующих тип запуска Fargate, задача или служба требуют следующих платформ:
- Версия платформы Linux
1.3.0или более поздняя. - Версия платформы Windows
1.0.0или более поздняя.
Для задач, использующих тип запуска EC2, ваши экземпляры контейнеров требуют как минимум версии 1.26.0 контейнерного агента для использования значения тайм-аута запуска контейнера. Однако рекомендуется использовать последнюю версию контейнерного агента. Сведения о проверке версии агента и обновлении до последней версии см. в разделе Обновление Amazon ECS Container Agent в Руководстве разработчика Amazon Elastic Container Service. Если вы используете оптимизированный для Amazon ECS AMI Linux, ваш экземпляр требует как минимум версии 1.26.0-1 пакета ecs-init. Если ваши экземпляры контейнеров запущены с версии 20190301 или более поздней, они содержат требуемые версии контейнерного агента и ecs-init. Дополнительные сведения см. в разделе Оптимизированный для Amazon ECS AMI Linux в Руководстве разработчика Amazon Elastic Container Service.
Допустимые значения для Fargate — от 2 до 120 секунд.
stopTimeout -> (целое число)
Время ожидания (в секундах) до принудительного завершения контейнера, если он не завершился нормально самостоятельно.
Для задач, использующих тип запуска Fargate, задача или служба требуют следующих платформ:
- Версия платформы Linux
1.3.0или более поздняя. - Версия платформы Windows
1.0.0или более поздняя.
Для задач, использующих тип запуска Fargate, максимальное значение тайм-аута остановки — 120 секунд. Если параметр не указан, используется значение по умолчанию — 30 секунд.
Для задач, использующих тип запуска EC2, если параметр stopTimeout не указан, используется значение, установленное для переменной конфигурации агента Amazon ECS ECS_CONTAINER_STOP_TIMEOUT. Если ни параметр stopTimeout, ни переменная конфигурации агента ECS_CONTAINER_STOP_TIMEOUT не установлены, используются значения по умолчанию — 30 секунд для контейнеров Linux и 30 секунд для контейнеров Windows. Ваши экземпляры контейнеров требуют как минимум версии 1.26.0 контейнерного агента для использования значения тайм-аута остановки контейнера. Однако рекомендуется использовать последнюю версию контейнерного агента. Сведения о проверке версии агента и обновлении до последней версии см. в разделе Обновление Amazon ECS Container Agent в Руководстве разработчика Amazon Elastic Container Service. Если вы используете оптимизированный для Amazon ECS AMI Linux, ваш экземпляр требует как минимум версии 1.26.0-1 пакета ecs-init. Если ваши экземпляры контейнеров запущены с версии 20190301 или более поздней, они содержат требуемые версии контейнерного агента и ecs-init. Дополнительные сведения см. в разделе Оптимизированный для Amazon ECS AMI Linux в Руководстве разработчика Amazon Elastic Container Service.
Допустимые значения для Fargate — от 2 до 120 секунд.
versionConsistency -> (строка)
enabled. Если вы установите значение для контейнера как disabled, Amazon ECS не будет разрешать указанный тег образа контейнера на дайджест и будет использовать исходный URI образа, указанный в определении контейнера, для развертывания. Дополнительные сведения о разрешении образов контейнеров см. в разделе Разрешение образов контейнеров в Руководстве разработчика Amazon ECS.hostname -> (строка)
Имя хоста для использования в контейнере. Этот параметр соответствует параметру Hostname в команде docker container create и параметру --hostname в команде docker run.
Примечание
Параметрhostname не поддерживается, если вы используете режим сети awsvpc.user -> (строка)
Пользователь для использования внутри контейнера. Этот параметр соответствует параметру User в команде docker container create и параметру --user в команде docker run.
Предупреждение
При запуске задач с использованием режима сетиhost не запускайте контейнеры с использованием пользователя root (UID 0). Рекомендуется использовать пользователя, отличного от root, для повышения безопасности.Вы можете указать user в следующих форматах. При указании UID или GID необходимо указать его как положительное целое число.
useruser:groupuiduid:giduser:giduid:group
Примечание
Этот параметр не поддерживается для контейнеров Windows.workingDirectory -> (строка)
WorkingDir в команде docker container create и параметру --workdir в команде docker run.disableNetworking -> (булево)
При значении true отключается сетевое взаимодействие внутри контейнера. Этот параметр соответствует параметру NetworkDisabled в команде docker container create.
Примечание
Этот параметр не поддерживается для контейнеров Windows.privileged -> (булево)
При значении true контейнеру предоставляются повышенные привилегии на хостовом экземпляре контейнера (аналогично пользователю root). Этот параметр соответствует параметру Privileged в команде docker container create и параметру --privileged в команде docker run.
Примечание
Этот параметр не поддерживается для контейнеров Windows или задач, запущенных на Fargate.readonlyRootFilesystem -> (булево)
При значении true контейнеру предоставляется чтение-только доступ к корневой файловой системе. Этот параметр соответствует параметру ReadonlyRootfs в команде docker container create и параметру --read-only в команде docker run.
Примечание
Этот параметр не поддерживается для контейнеров Windows.dnsServers -> (список)
Список DNS-серверов, предоставляемых контейнеру. Этот параметр соответствует Dns в команде docker container create и параметру --dns в команде docker run.
Примечание
Этот параметр не поддерживается для контейнеров Windows.(строка)
dnsSearchDomains -> (список)
Список DNS-доменных имен поиска, предоставляемых контейнеру. Этот параметр соответствует DnsSearch в команде docker container create и параметру --dns-search в команде docker run.
Примечание
Этот параметр не поддерживается для контейнеров Windows.(строка)
extraHosts -> (список)
Список сопоставлений имен хостов и IP-адресов для добавления в файл /etc/hosts в контейнере. Этот параметр соответствует ExtraHosts в команде docker container create и параметру --add-host в команде docker run.
Примечание
Этот параметр не поддерживается для контейнеров Windows или задач, использующих режим сетиawsvpc.(структура)
Имена хостов и IP-адреса, добавляемые в файл /etc/hosts контейнера с помощью параметра extraHosts в его ContainerDefinition.
hostname -> (строка)
/etc/hosts.ipAddress -> (строка)
/etc/hosts.dockerSecurityOptions -> (список)
Список строк для предоставления пользовательской конфигурации для нескольких систем безопасности. Это поле недействительно для контейнеров в задачах, использующих тип запуска Fargate.
Для Linux-задач на EC2 этот параметр может использоваться для ссылки на пользовательские метки для систем многоуровневой безопасности SELinux и AppArmor.
Для любых задач на EC2 этот параметр может использоваться для ссылки на файл спецификации учетных данных, настраивающий контейнер для аутентификации Active Directory. Дополнительную информацию см. в руководстве Amazon Elastic Container Service Developer Guide, в разделах "Использование gMSA для контейнеров Windows" и "Использование gMSA для контейнеров Linux".
Этот параметр соответствует SecurityOpt в команде docker container create и параметру --security-opt в команде docker run.
Примечание
Агент контейнера Amazon ECS, работающий на экземпляре контейнера, должен зарегистрироваться с переменными средыECS_SELINUX_CAPABLE=true или ECS_APPARMOR_CAPABLE=true, прежде чем контейнеры, размещенные на этом экземпляре, смогут использовать эти параметры безопасности. Дополнительную информацию см. в руководстве Amazon Elastic Container Service Developer Guide, в разделе "Настройка агента контейнеров Amazon ECS".Допустимые значения: “no-new-privileges” | “apparmor:PROFILE” | “label:value” | “credentialspec:CredentialSpecFilePath”
(строка)
interactive -> (булево)
true, можно развертывать контейнерные приложения, требующие выделения stdin или tty. Этот параметр соответствует OpenStdin в команде docker container create и параметру --interactive в команде docker run.pseudoTerminal -> (булево)
true, выделяется TTY. Этот параметр соответствует Tty в команде docker container create и параметру --tty в команде docker run.dockerLabels -> (карта)
Ключевое-значение карта меток для добавления в контейнер. Этот параметр соответствует Labels в команде docker container create и параметру --label в команде docker run. Этот параметр требует версию 1.18 Docker Remote API или выше на вашем экземпляре контейнера. Чтобы проверить версию Docker Remote API на вашем экземпляре контейнера, войдите в свой экземпляр контейнера и выполните следующую команду: sudo docker version --format '{{.Server.APIVersion}}'
key -> (строка)
value -> (строка)
ulimits -> (список)
Список ulimits для установки в контейнере. Если значение ulimit указано в определении задачи, оно переопределяет значения по умолчанию, установленные Docker. Этот параметр соответствует Ulimits в команде docker container create и параметру --ulimit в команде docker run. Допустимые имена значений отображаются в типе данных Ulimit.
Задачи Amazon ECS, размещенные на Fargate, используют значения ограничений ресурсов по умолчанию, установленные операционной системой, за исключением параметра ограничения ресурсов nofile, который Fargate переопределяет. Ограничение ресурса nofile устанавливает ограничение на количество открытых файлов, которые может использовать контейнер. Значение по умолчанию для мягкого ограничения nofile равно 65535, а жесткое ограничение по умолчанию равно 65535.
Этот параметр требует версию 1.18 Docker Remote API или выше на вашем экземпляре контейнера. Чтобы проверить версию Docker Remote API на вашем экземпляре контейнера, войдите в свой экземпляр контейнера и выполните следующую команду: sudo docker version --format '{{.Server.APIVersion}}'
Примечание
Этот параметр не поддерживается для контейнеров Windows.(структура)
Настройки ulimit, передаваемые контейнеру.
Задачи Amazon ECS, размещенные на Fargate, используют значения ограничений ресурсов по умолчанию, установленные операционной системой, за исключением параметра ограничения ресурса nofile, который Fargate переопределяет. Ограничение ресурса nofile устанавливает ограничение на количество открытых файлов, которые может использовать контейнер. Значение по умолчанию для мягкого ограничения nofile равно 65535, а жесткое ограничение по умолчанию равно 65535.
Вы можете указать настройки ulimit для контейнера в определении задачи.
name -> (строка)
type ulimit.softLimit -> (целое число)
ulimit. Значение может быть указано в байтах, секундах или как счетчик, в зависимости от типа type ulimit.hardLimit -> (целое число)
ulimit. Значение может быть указано в байтах, секундах или как счетчик, в зависимости от типа type ulimit.logConfiguration -> (структура)
Спецификация конфигурации логов для контейнера.
Этот параметр соответствует LogConfig в команде создания контейнера Docker и параметру --log-driver команды docker run. По умолчанию контейнеры используют тот же драйвер логов, что и демо Docker. Однако контейнер может использовать другой драйвер логов, отличный от демо Docker, указав драйвер логов в определении контейнера. Для использования другого драйвера логов для контейнера система логов должна быть правильно настроена на экземпляре контейнера (или на другом сервере логов для удаленных вариантов ведения логов).
Примечание
Amazon ECS в настоящее время поддерживает подмножество драйверов логов, доступных для демо Docker (отображено в типе данных LogConfiguration). Дополнительные драйверы логов могут быть доступны в будущих версиях агента Amazon ECS контейнера.Этот параметр требует версию 1.18 Docker Remote API или выше на вашем экземпляре контейнера. Чтобы проверить версию Docker Remote API на вашем экземпляре контейнера, войдите в ваш экземпляр контейнера и выполните следующую команду: sudo docker version --format '{{.Server.APIVersion}}'
Примечание
Агент Amazon ECS, работающий на экземпляре контейнера, должен зарегистрировать доступные на этом экземпляре драйверы логов с переменной средыECS_AVAILABLE_LOGGING_DRIVERS, прежде чем контейнеры, размещенные на этом экземпляре, смогут использовать эти параметры конфигурации логов. Дополнительную информацию см. в разделе Конфигурация агента Amazon ECS контейнера в Руководстве разработчика Amazon Elastic Container Service.logDriver -> (строка)
Драйвер логов, который нужно использовать для контейнера.
Для задач на Fargate поддерживаются драйверы логов awslogs , splunk и awsfirelens .
Для задач, размещенных на экземплярах Amazon EC2, поддерживаются драйверы логов awslogs , fluentd , gelf , json-file , journald , syslog , splunk и awsfirelens .
Дополнительную информацию об использовании драйвера логов awslogs см. в разделе Отправка логов Amazon ECS в CloudWatch в Руководстве разработчика Amazon Elastic Container Service.
Дополнительную информацию об использовании драйвера логов awsfirelens см. в разделе Отправка логов Amazon ECS в Amazon Web Services-сервис или Amazon Web Services-партнер.
Примечание
Если у вас есть пользовательский драйвер, который не указан в списке, вы можете создать форк проекта агента Amazon ECS контейнера, доступного на GitHub, и настроить его для работы с этим драйвером. Мы рекомендуем вам отправлять запросы на добавление изменений, которые вы хотели бы включить. Однако в настоящее время мы не предоставляем поддержку запуска измененных копий этого программного обеспечения.options -> (карта)
Параметры конфигурации, которые нужно отправить в драйвер логов.
Указываемые параметры зависят от драйвера логов. Некоторые из параметров, которые вы можете указать, когда используете драйвер логов awslogs для направления логов в Amazon CloudWatch, включают следующие:
Обязательно: Нет
Укажите, хотите ли вы, чтобы группа логов создавалась автоматически. Если этот параметр не указан, он по умолчанию равен false .
Примечание
Ваша политика IAM должна включать разрешение logs:CreateLogGroup, прежде чем вы попытаетесь использовать awslogs-create-group.
awslogs-region
Обязательно: Да
Укажите регион Amazon Web Services, в который драйвер логов awslogs должен отправлять ваши Docker-логи. Вы можете направить все ваши логи из кластеров в разных регионах в один регион в CloudWatch Logs. Так они будут видны в одном месте. В противном случае вы можете разделить их по регионам для большей детализации. Убедитесь, что указанная группа логов существует в регионе, который вы указываете с помощью этого параметра.
Обязательно: Да
Укажите группу логов, в которую драйвер логов awslogs отправляет свои потоки логов.
Обязательно: Да, при использовании Fargate. Необязательно при использовании EC2.
Используйте параметр awslogs-stream-prefix, чтобы связать поток логов с указанным префиксом, именем контейнера и идентификатором задачи Amazon ECS, к которой принадлежит контейнер. Если вы указываете префикс с этим параметром, то поток логов принимает формат prefix-name/container-name/ecs-task-id .
Если вы не указываете префикс с этим параметром, то поток логов называется по идентификатору контейнера, назначенному демо Docker на экземпляре контейнера. Поскольку трудно отследить логи до контейнера, который их отправил, только по идентификатору Docker-контейнера (который доступен только на экземпляре контейнера), мы рекомендуем указать префикс с этим параметром.
Для сервисов Amazon ECS вы можете использовать имя сервиса в качестве префикса. Это позволит отследить потоки логов до сервиса, к которому принадлежит контейнер, имя контейнера, который их отправил, и идентификатор задачи, к которой принадлежит контейнер.
Вы должны указать префикс потока логов, чтобы ваши логи отображались в панели «Логи» при использовании консоли Amazon ECS.
Обязательно: Нет
Этот параметр определяет шаблон начала многострочного текста в формате Python strftime. Сообщение лога состоит из строки, соответствующей шаблону, и всех последующих строк, которые не соответствуют шаблону. Соответствующая строка является разделителем между сообщениями логов.
Один из примеров использования этого формата — обработка вывода, такого как дамп стека, который иначе мог бы записываться в несколько записей. Правильный шаблон позволяет захватить его в одной записи.
Дополнительную информацию см. в разделе awslogs-datetime-format.
Вы не можете настроить оба параметра awslogs-datetime-format и awslogs-multiline-pattern.
Примечание
Многострочный вывод выполняет разбор и сопоставление всех сообщений логов с помощью регулярных выражений. Это может негативно повлиять на производительность ведения журнала.
awslogs-multiline-pattern
Обязательно: Нет
Этот параметр определяет шаблон начала многострочного текста, использующий регулярное выражение. Сообщение лога состоит из строки, соответствующей шаблону, и всех последующих строк, которые не соответствуют шаблону. Соответствующая строка является разделителем между сообщениями логов.
Дополнительную информацию см. в разделе awslogs-multiline-pattern.
Этот параметр игнорируется, если также настроен awslogs-datetime-format.
Вы не можете настроить оба параметра awslogs-datetime-format и awslogs-multiline-pattern.
Примечание
Многострочный вывод выполняет разбор и сопоставление всех сообщений логов с помощью регулярных выражений. Это может негативно повлиять на производительность ведения журнала.Следующие параметры применяются ко всем поддерживаемым драйверам логов.
Обязательно: Нет
Допустимые значения: non-blocking | blocking
Этот параметр определяет режим доставки сообщений логов из контейнера в указанный драйвер логов с помощью параметра logDriver. Выбранный вами режим доставки влияет на доступность приложения, когда поток логов из контейнера прерывается.
Если вы используете режим blocking, и поток логов прерывается, вызовы из кода контейнера для записи в потоки stdout и stderr заблокируются. В результате заблокируется и поток ведения журнала приложения. Это может привести к тому, что приложение станет недоступным и приведет к сбою проверки работоспособности контейнера.
Если вы используете режим non-blocking, логи контейнера вместо этого хранятся в промежуточном буфере в оперативной памяти, настроенном с помощью параметра max-buffer-size. Это предотвращает блокировку приложения при невозможности отправки логов. Мы рекомендуем использовать этот режим, если вы хотите обеспечить доступность службы и готовы к некоторой потере логов. Дополнительную информацию см. в Предотвращение потери логов с помощью режима без блокировки в драйвере контейнера `awslogs` <http://aws.amazon.com/blogs/containers/preventing-log-loss-with-non-blocking-mode-in-the-awslogs-container-log-driver/>`__ .
Вы можете установить значение по умолчанию для mode для всех контейнеров в конкретном регионе Amazon Web Services, используя параметр defaultLogDriverMode настройки учетной записи. Если вы не укажете параметр mode или не настроите настройку учетной записи, Amazon ECS по умолчанию будет использовать режим blocking. Дополнительную информацию об настройке учетной записи см. в разделе Режим по умолчанию драйвера логов в Руководстве разработчика Amazon Elastic Container Service.
Обязательно: Нет
Значение по умолчанию: 1m
При использовании режима non-blocking параметр логов max-buffer-size управляет размером буфера, используемого для промежуточного хранения сообщений. Убедитесь, что указан достаточный размер буфера, исходя из ваших требований к приложению. Когда буфер заполняется, дальнейшие логи не могут быть сохранены. Логи, которые не могут быть сохранены, теряются.
Чтобы направить логи с помощью маршрутизатора логов splunk, необходимо указать splunk-token и splunk-url.
При использовании маршрутизатора логов awsfirelens для направления логов в целевое расположение Amazon Web Services или партнера Amazon Web Services для хранения и анализа логов, вы можете установить параметр log-driver-buffer-limit для ограничения количества событий, которые буферизуются в памяти перед отправкой в контейнер маршрутизатора логов. Это может помочь решить возможные проблемы с потерей логов, так как высокая пропускная способность может привести к исчерпанию памяти буфера внутри Docker.
Другие параметры, которые вы можете указать при использовании awsfirelens для направления логов, зависят от назначения. При экспорте логов в Amazon Data Firehose вы можете указать регион Amazon Web Services с помощью параметра region и имя потока логов с помощью параметра delivery_stream.
При экспорте логов в Amazon Kinesis Data Streams вы можете указать регион Amazon Web Services с помощью параметра region и имя потока данных с помощью параметра stream.
При экспорте логов в Amazon OpenSearch Service вы можете указать параметры, такие как Name , Host (адрес OpenSearch Service без протокола), Port , Index , Type , Aws_auth , Aws_region , Suppress_Type_Name и tls . Дополнительную информацию см. в разделе Под капотом: FireLens для задач Amazon ECS.
При экспорте логов в Amazon S3 вы можете указать бакет с помощью параметра bucket. Вы также можете указать параметры region, total_file_size, upload_timeout и use_put_object.
Этот параметр требует версию 1.19 Docker Remote API или выше на вашем экземпляре контейнера. Чтобы проверить версию Docker Remote API на вашем экземпляре контейнера, войдите в ваш экземпляр контейнера и выполните следующую команду: sudo docker version --format '{{.Server.APIVersion}}'
key -> (строка)
value -> (строка)
secretOptions -> (список)
Секреты для конфигурации логирования. Дополнительную информацию см. в разделе «Указание конфиденциальных данных» в руководстве разработчика Amazon Elastic Container Service.
(структура)
Объект, представляющий секрет, который нужно предоставить контейнеру. Секреты могут быть предоставлены контейнеру следующими способами:
- Чтобы внедрить конфиденциальные данные в ваши контейнеры в виде переменных среды, используйте параметр определения контейнера
secrets. - Чтобы сослаться на конфиденциальную информацию в конфигурации логирования контейнера, используйте параметр определения контейнера
secretOptions.
Дополнительную информацию см. в разделе «Указание конфиденциальных данных» в руководстве разработчика Amazon Elastic Container Service.
name -> (строка)
valueFrom -> (строка)
Секрет, предоставляемый контейнеру. Допустимые значения — это полный ARN секрета Secrets Manager или полный ARN параметра в хранилище параметров SSM.
Сведения о необходимых разрешениях управления идентификацией и доступом см. в разделе «Необходимые разрешения IAM для секретов Amazon ECS (для Secrets Manager)» или «Необходимые разрешения IAM для секретов Amazon ECS (для хранилища параметров Systems Manager)» в руководстве разработчика Amazon Elastic Container Service.
Примечание
Если параметр хранилища параметров SSM существует в том же регионе, что и задача, которую вы запускаете, то можно использовать либо полный ARN, либо имя параметра. Если параметр находится в другом регионе, необходимо указать полный ARN.healthCheck -> (структура)
Команда проверки работоспособности контейнера и связанные параметры конфигурации для контейнера. Этот параметр соответствует HealthCheck в команде docker container create и параметру HEALTHCHECK команды docker run.
command -> (список)
Массив строк, представляющий команду, которую выполняет контейнер для определения работоспособности. Массив строк должен начинаться с CMD для непосредственного выполнения аргументов команды или CMD-SHELL для выполнения команды с помощью стандартной оболочки контейнера.
При использовании панели JSON Amazon Web Services Management Console, командной строки или API заключайте список команд в двойные кавычки и квадратные скобки.
[ "CMD-SHELL", "curl -f http://localhost/ || exit 1" ]При использовании Amazon Web Services Management Console двойные кавычки и квадратные скобки не включайте.
CMD-SHELL, curl -f http://localhost/ || exit 1Код возврата 0 указывает на успех, а ненулевой код возврата — на ошибку. Дополнительную информацию см. в разделе HealthCheck в команде docker container create.
(строка)
interval -> (целое число)
command.timeout -> (целое число)
command.retries -> (целое число)
command.startPeriod -> (целое число)
Необязательный период ожидания, предоставляющий контейнерам время для запуска перед тем, как неудачные проверки работоспособности будут учтены в максимальном числе попыток. Можно указать значение от 0 до 300 секунд. По умолчанию startPeriod выключен. Это значение применяется только при указании command.
Примечание
Если проверка работоспособности завершается успешно в течениеstartPeriod, то контейнер считается работоспособным, а последующие неудачи учитываются в максимальном числе попыток.systemControls -> (список)
Список именных пространств параметров ядра для установки в контейнере. Этот параметр соответствует Sysctls в команде docker container create и опции --sysctl команды docker run. Например, можно настроить net.ipv4.tcp_keepalive_time для поддержания долговременных соединений.
(структура)
Список именных пространств параметров ядра для установки в контейнере. Этот параметр соответствует Sysctls в команде docker container create и опции --sysctl команды docker run. Например, можно настроить net.ipv4.tcp_keepalive_time для поддержания долговременных соединений.
Мы не рекомендуем указывать параметры именных пространств сети systemControls для нескольких контейнеров в одной задаче, которая также использует режим сети awsvpc или host. Это связано со следующими недостатками:
- Для задач, использующих режим сети
awsvpc, в том числе Fargate, если вы зададитеsystemControlsдля любого контейнера, оно применяется ко всем контейнерам в задаче. Если вы зададите разныеsystemControlsдля нескольких контейнеров в одной задаче, контейнер, который запускается последним, определит, какиеsystemControlsвступят в силу. - Для задач, использующих режим сети
host, не поддерживаются пространства имен сетиsystemControls.
Если вы устанавливаете пространство имен IPC для использования в контейнерах задачи, к параметрам системного управления применяются следующие условия. Дополнительную информацию см. в разделе «Режим IPC».
- Для задач, использующих режим IPC
host, не поддерживаются пространства имен IPCsystemControls. - Для задач, использующих режим IPC
task, значения пространств имен IPCsystemControlsприменяются ко всем контейнерам в рамках задачи.
Примечание
Этот параметр не поддерживается для контейнеров Windows.Примечание
Этот параметр поддерживается только для задач, размещенных на Fargate, если задачи используют версию платформы1.4.0 или более позднюю (Linux). Это не поддерживается для контейнеров Windows на Fargate.namespace -> (строка)
value.value -> (строка)
Именное пространство параметра ядра для установки value.
Допустимые значения для пространства имен IPC: "kernel.msgmax" | "kernel.msgmnb" | "kernel.msgmni" | "kernel.sem" | "kernel.shmall" | "kernel.shmmax" | "kernel.shmmni" | "kernel.shm_rmid_forced" и Sysctls, начинающиеся с "fs.mqueue.*"
Допустимые значения для пространства имен сети: Sysctls, начинающиеся с "net.*". Принимаются только именные пространства Sysctls, существующие внутри контейнера, начинающиеся с “net.*.
Все эти значения поддерживаются Fargate.
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, value соответствует deviceName для ускорителя InferenceAccelerator, указанного в определении задачи.
type -> (строка)
firelensConfiguration -> (структура)
Конфигурация FireLens для контейнера. Используется для указания и настройки маршрутизатора логов для контейнерных логов. Дополнительную информацию см. в разделе «Настройка маршрутизации логов» в руководстве разработчика Amazon Elastic Container Service.
type -> (строка)
fluentd или fluentbit.options -> (карта)
Параметры для настройки маршрутизатора логов. Этот параметр необязателен и может использоваться для указания файла пользовательской конфигурации или для добавления дополнительной метаданных, таких как сведения о задаче, определении задачи, кластере и экземпляре контейнера, в событие лога. Если указано, синтаксис должен быть "options":{"enable-ecs-log-metadata":"true|false","config-file-type:"s3|file","config-file-value":"arn:aws:s3:::mybucket/fluent.conf|filepath"}. Дополнительную информацию см. в разделе «Создание определения задачи, использующей конфигурацию FireLens» в руководстве разработчика Amazon Elastic Container Service.
Примечание
Задачи, размещенные на Fargate, поддерживают только тип конфигурации файлаfile.key -> (строка)
value -> (строка)
credentialSpecs -> (список)
Список ARN в SSM или Amazon S3 к файлу спецификации аутентификационных данных (CredSpec), настраивающему контейнер для аутентификации в Active Directory. Рекомендуется использовать этот параметр вместо dockerSecurityOptions. Максимальное количество ARN — 1.
Для каждого ARN существует два формата.
Используйте credentialspecdomainless:MyARN, чтобы предоставить CredSpec с дополнительным разделом для секрета в Secrets Manager. Укажите учетные данные для входа в домен в секрете.
Каждая задача, выполняемая на любом экземпляре контейнера, может присоединяться к различным доменам.
Вы можете использовать этот формат без присоединения экземпляра контейнера к домену.
Используйте credentialspec:MyARN, чтобы предоставить CredSpec для отдельного домена.
Необходимо присоединить экземпляр контейнера к домену перед запуском задач, использующих это определение задачи.
В обоих форматах замените MyARN на ARN в SSM или Amazon S3.
Если вы предоставляете credentialspecdomainless:MyARN, credspec должен предоставить ARN в Secrets Manager для секрета, содержащего имя пользователя, пароль и домен для подключения. Для повышения безопасности экземпляр не присоединяется к домену для аутентификации без домена. Другие приложения на экземпляре не могут использовать учетные данные без домена. Вы можете использовать этот параметр для запуска задач на одном экземпляре, даже если задачам нужно присоединяться к разным доменам. Дополнительную информацию см. в разделах «Использование gMSA для контейнеров Windows» и «Использование gMSA для контейнеров Linux».
(строка)
family -> (строка)
Имя семейства, к которому относится данное определение задачи. Разрешается до 255 символов. Допускаются буквы (в верхнем и нижнем регистре), цифры, дефисы (-) и нижние подчёркивания (_).
Семейство объединяет несколько версий определения задачи. Amazon ECS присваивает первому зарегистрированному определению задачи в семействе номер ревизии 1. Amazon ECS присваивает последовательные номера ревизий каждому определению задачи, которое вы добавляете.
taskRoleArn -> (string)
executionRoleArn -> (string)
networkMode -> (string)
Режим работы сети Docker для контейнеров в задаче. Допустимые значения: none, bridge, awsvpc и host. Если режим сети не указан, используется значение по умолчанию bridge.
Для задач Amazon ECS на Fargate требуется режим сети awsvpc. Для задач Amazon ECS на экземплярах Amazon EC2 Linux можно использовать любой режим сети. Для задач Amazon ECS на экземплярах Amazon EC2 Windows можно использовать <default> или awsvpc. Если режим сети установлен на none, вы не можете указывать сопоставления портов в определениях контейнеров, и контейнеры задач не имеют внешнего подключения. Режимы сети host и awsvpc обеспечивают наилучшую производительность сети для контейнеров, так как они используют сетевой стек EC2 вместо виртуализированного сетевого стека, предоставляемого режимом bridge.
В режимах сети host и awsvpc открытые порты контейнеров сопоставляются непосредственно с соответствующим портом хоста (для режима host) или портом присоединённого сетевого интерфейса (для режима awsvpc), поэтому вы не можете воспользоваться динамическими сопоставлениями портов хоста.
Предупреждение
При использовании режима сетиhost не следует запускать контейнеры с использованием root-пользователя (UID 0). Рекомендуется использовать не root-пользователя.Если режим сети равен awsvpc, задаче выделяется сетевой интерфейс, и вы должны указать значение NetworkConfiguration при создании службы или запуске задачи с определением задачи. Дополнительную информацию см. в разделе Task Networking в Amazon Elastic Container Service Developer Guide.
Если режим сети равен host, вы не можете запускать несколько экземпляров одной и той же задачи на одном экземпляре контейнера при использовании сопоставлений портов.
revision -> (integer)
1. Каждый раз, когда вы регистрируете новую ревизию определения задачи в том же семействе, значение ревизии увеличивается на единицу. Это происходит даже если вы отменили регистрацию предыдущих ревизий в этом семействе.volumes -> (list)
Список определений объёма данных для задачи. Дополнительную информацию см. в разделе «Использование объёмов данных в задачах» в руководстве разработчика Amazon Elastic Container Service.
Примечание
Параметрыhost и sourcePath не поддерживаются для задач, выполняемых на Fargate.(структура)
Настройка объёма данных для задач, запускаемых с помощью этого определения задачи. Указание конфигурации объёма в определении задачи необязательно. Конфигурация объёма может содержать несколько объёмов, но только один объём, настроенный при запуске, поддерживается. Каждый объём, определённый в конфигурации объёма, может указать только один name и один из configuredAtLaunch, dockerVolumeConfiguration, efsVolumeConfiguration, fsxWindowsFileServerVolumeConfiguration или host. Если указана пустая конфигурация объёма, по умолчанию Amazon ECS использует объём хоста. Дополнительную информацию см. в разделе «Использование объёмов данных в задачах».
name -> (строка)
Имя объёма. Допускается до 255 букв (в верхнем и нижнем регистре), цифр, символов подчеркивания и дефисов.
При использовании объёма, настроенного при запуске, требуется name, а также он должен быть указан в качестве имени объёма в параметре ServiceVolumeConfiguration или TaskVolumeConfiguration при создании сервиса или автономной задачи.
Для всех других типов объёмов это имя используется в параметре sourceVolume объекта mountPoints в определении контейнера.
Когда объём использует efsVolumeConfiguration, имя является обязательным.
host -> (структура)
Этот параметр указывается при использовании объёмов хоста с монтированием по принципу bind mount. Содержимое параметра host определяет, сохраняется ли объём хоста с монтированием по принципу bind mount в контейнере хоста и где он хранится. Если параметр host пуст, тогда Docker-демон назначает путь хоста для вашего объёма данных. Однако данные не гарантируются как сохраняемые после того, как контейнеры, связанные с ним, прекращают работу.
Контейнеры Windows могут монтировать целые каталоги на том же диске, что и $env:ProgramData. Контейнеры Windows не могут монтировать каталоги на другом диске, и точка монтирования не может быть между разными дисками. Например, вы можете монтировать C:\my\path:C:\my\path и D:\:D:\, но не D:\my\path:C:\my\path или D:\:C:\my\path.
sourcePath -> (строка)
Когда используется параметр host, укажите sourcePath, чтобы объявить путь на контейнере хоста, который предоставляется контейнеру. Если этот параметр пустой, то Docker-демон назначит вам путь хоста. Если параметр host содержит местоположение файла sourcePath, то объём данных сохраняется в указанном месте на контейнере хоста до тех пор, пока вы его не удалите вручную. Если значение sourcePath не существует в контейнере хоста, то Docker-демон создаст его. Если местоположение существует, содержимое папки исходного пути экспортируется.
Если вы используете тип запуска Fargate, параметр sourcePath не поддерживается.
dockerVolumeConfiguration -> (структура)
Этот параметр указывается при использовании Docker-объёмов.
Контейнеры Windows поддерживают только использование драйвера local. Для использования монтирования по принципу bind mount, укажите параметр host вместо него.
Примечание
Docker-объёмы не поддерживаются задачами, выполняемыми на Fargate.scope -> (строка)
task, автоматически предоставляются при запуске задачи и уничтожаются при остановке задачи. Docker-объёмы, область видимости которых задана как shared, сохраняются после остановки задачи.autoprovision -> (булево)
Если это значение true, Docker-объём создаётся, если он ещё не существует.
Примечание
Это поле используется только в том случае, еслиscope равно shared.driver -> (строка)
docker plugin ls для получения имени драйвера из вашего контейнера. Если драйвер был установлен другим методом, используйте обнаружение Docker плагина для получения имени драйвера. Этот параметр отображается в Driver в команде docker container create и в параметре xxdriver для docker volume create.driverOpts -> (карта)
Карта параметров, специфичных для драйвера Docker, передаваемых через неё. Этот параметр отображается в DriverOpts в команде docker create-volume и в параметре xxopt для docker volume create.
key -> (строка)
value -> (строка)
labels -> (карта)
Пользовательские метаданные для добавления к вашему Docker-объёму. Этот параметр отображается в Labels в команде docker container create и в параметре xxlabel для docker volume create.
key -> (строка)
value -> (строка)
efsVolumeConfiguration -> (структура)
Этот параметр указывается при использовании файловой системы Amazon Elastic File System для хранения задач.
fileSystemId -> (строка)
rootDirectory -> (строка)
Каталог внутри файловой системы Amazon EFS, который будет смонтирован как корневой каталог внутри хоста. Если этот параметр опущен, будет использован корень объёма Amazon EFS. Указание / даст тот же эффект, что и опускание этого параметра.
Предупреждение
Если вauthorizationConfig указан доступный кэп, параметр rootDirectory должен быть опущен или установлен в /, что позволит использовать путь, установленный в кэпе EFS.transitEncryption -> (строка)
DISABLED. Дополнительную информацию см. в разделе «Шифрование данных при передаче» в руководстве пользователя Amazon Elastic File System.transitEncryptionPort -> (целое число)
authorizationConfig -> (структура)
Подробности конфигурации авторизации для файловой системы Amazon EFS.
accessPointId -> (строка)
EFSVolumeConfiguration, должно быть опущено или установлено в /, что заставит использовать путь, установленный в точке доступа EFS. Если используется точка доступа, транзитное шифрование должно быть включено в EFSVolumeConfiguration. Дополнительную информацию см. в разделе «Работа с точками доступа Amazon EFS» в руководстве пользователя Amazon Elastic File System.iam -> (строка)
EFSVolumeConfiguration. Если этот параметр опущен, используется значение по умолчанию DISABLED. Дополнительную информацию см. в разделе «Использование точек доступа Amazon EFS» в руководстве разработчика Amazon Elastic Container Service.fsxWindowsFileServerVolumeConfiguration -> (структура)
Этот параметр указывается при использовании файловой системы Amazon FSx для Windows File Server для хранения задач.
fileSystemId -> (строка)
rootDirectory -> (строка)
authorizationConfig -> (структура)
Подробности конфигурации авторизации для файловой системы Amazon FSx для Windows File Server.
credentialsParameter -> (строка)
domain -> (строка)
configuredAtLaunch -> (булево)
Указывает, должен ли объём быть настроен при запуске. Это используется для создания объёмов Amazon EBS для автономных задач или задач, созданных в рамках сервиса. Каждая ревизия определения задачи может иметь только один объём, настроенный при запуске, в конфигурации объёма.
Для настройки объёма при запуске используйте эту ревизию определения задачи и укажите объект volumeConfigurations при вызове API CreateService, UpdateService, RunTask или StartTask.
status -> (строка)
requiresAttributes -> (список)
Атрибуты экземпляра контейнера, необходимые для вашей задачи. Когда экземпляр Amazon EC2 регистрируется в вашем кластере, агент Amazon ECS контейнера назначает некоторые стандартные атрибуты экземпляру. Вы можете применять пользовательские атрибуты. Они задаются в виде пар «ключ-значение» с использованием консоли Amazon ECS или API PutAttributes. Эти атрибуты используются при определении размещения задач, размещенных на экземплярах Amazon EC2. Дополнительную информацию см. в разделе Атрибуты в руководстве разработчика Amazon Elastic Container Service.
Примечание
Этот параметр не поддерживается для задач, выполняемых на Fargate.(структура)
Атрибут — это пара «имя-значение», которая связана с объектом Amazon ECS. Используйте атрибуты для расширения модели данных Amazon ECS, добавив пользовательские метаданные к вашим ресурсам. Дополнительную информацию см. в разделе Атрибуты в руководстве разработчика Amazon Elastic Container Service.
name -> (строка)
name должно содержать от 1 до 128 символов. Имя может содержать буквы (заглавные и строчные), цифры, дефисы (-), подчеркивания (_), косые черты (/), обратные косые черты () или точки (.).value -> (строка)
value должно содержать от 1 до 128 символов. Оно может содержать буквы (заглавные и строчные), цифры, дефисы (-), подчеркивания (_), точки (.), знаки «@», косые черты (/), обратные косые черты (), двоеточия (:) или пробелы. Значение не может начинаться или заканчиваться пробелом.targetType -> (строка)
targetId -> (строка)
placementConstraints -> (список)
Массив объектов ограничений размещения для использования в задачах.
Примечание
Этот параметр не поддерживается для задач, выполняемых на Fargate.(структура)
Ограничение размещения задачи в определении задачи. Дополнительную информацию см. в разделе Ограничения размещения задач в руководстве разработчика Amazon Elastic Container Service.
Примечание
Ограничения размещения задач не поддерживаются для задач, выполняемых на Fargate.type -> (строка)
MemberOf ограничивает выбор кандидатами из группы допустимых кандидатов.expression -> (строка)
compatibilities -> (список)
Amazon ECS проверяет параметры определения задачи с параметрами, поддерживаемыми типом запуска. Дополнительную информацию см. в разделе Типы запуска Amazon ECS в руководстве разработчика Amazon Elastic Container Service.
(строка)
runtimePlatform -> (структура)
Операционная система, на которой выполняются ваши определения задач. Семейство платформ указывается только для задач, использующих тип запуска Fargate.
При указании задачи в службе это значение должно совпадать со значением runtimePlatform службы.
cpuArchitecture -> (строка)
Архитектура процессора.
Вы можете запускать свои задачи Linux на платформе ARM, установив значение на ARM64 . Этот параметр доступен для задач, выполняемых на экземплярах Linux Amazon EC2 или Linux-контейнерах на Fargate.
operatingSystemFamily -> (строка)
requiresCompatibilities -> (список)
Типы запуска задач, по которым было проверено соответствие определения задачи. Допустимые значения — EC2, FARGATE и EXTERNAL. Дополнительную информацию см. в разделе Типы запуска Amazon ECS в руководстве разработчика Amazon Elastic Container Service.
(строка)
cpu -> (строка)
Количество единиц cpu, используемых задачей. Если вы используете тип запуска EC2, это поле необязательно. Любое значение может быть использовано. Если вы используете тип запуска Fargate, это поле обязательно. Вы должны использовать одно из следующих значений. Выбранное значение определяет диапазон допустимых значений параметра memory.
Если вы используете тип запуска EC2 или внешний тип запуска, это поле необязательно. Поддерживаемые значения находятся в диапазоне от 128 единиц процессора (0.125 vCPU) до 196608 единиц процессора (192 vCPU).
Это поле обязательно для Fargate. Сведения о допустимых значениях см. в разделе Размер задачи в руководстве разработчика Amazon Elastic Container Service.
memory -> (строка)
Объем памяти (в МБ), используемый задачей.
Если ваши задачи выполняются на экземплярах Amazon EC2, вы должны указать либо значение памяти на уровне задачи, либо значение памяти на уровне контейнера. Это поле необязательно, и любое значение может быть использовано. Если указано значение памяти на уровне задачи, значение памяти на уровне контейнера необязательно. Дополнительную информацию об уровне памяти контейнера и резервировании памяти см. в разделе ContainerDefinition.
Если ваши задачи выполняются на 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или более поздней версии.
inferenceAccelerators -> (список)
Ускоритель Elastic Inference, связанный с задачей.
(структура)
Подробная информация об ускорителе Elastic Inference. Дополнительную информацию см. в разделе Работа с Amazon Elastic Inference в Amazon ECS в руководстве разработчика Amazon Elastic Container Service.
deviceName -> (строка)
deviceName также должен быть указан в определении контейнера в качестве ResourceRequirement.deviceType -> (строка)
pidMode -> (строка)
Пространство имен процессов для контейнеров в задаче. Допустимые значения — host или task. В Fargate для Linux-контейнеров единственное допустимое значение — task. Например, вспомогательные компоненты мониторинга могут потребовать pidMode, чтобы получить доступ к информации о других контейнерах, выполняемых в той же задаче.
Если указан host, все контейнеры в задачах, которые указали режим PID host в том же экземпляре контейнера, делят то же пространство имен процессов с экземпляром Amazon EC2.
Если указан task, все контейнеры в заданной задаче делят одно и то же пространство имен процессов.
Если значение не указано, по умолчанию используется отдельное пространство имен для каждого контейнера.
Если используется режим PID host, существует повышенный риск нежелательного воздействия на пространство имен процессов.
Примечание
Этот параметр не поддерживается для Windows-контейнеров.Примечание
Этот параметр поддерживается только для задач, выполняемых на Fargate, если задачи используют версию платформы1.4.0 или более позднюю (Linux). Он не поддерживается для Windows-контейнеров на Fargate.ipcMode -> (строка)
Пространство имен IPC для контейнеров в задаче. Допустимые значения — host, task или none. Если указан host, все контейнеры в задачах, которые указали режим IPC host в том же экземпляре контейнера, делят одни и те же ресурсы IPC с экземпляром Amazon EC2. Если указан task, все контейнеры в заданной задаче делят одни и те же ресурсы IPC. Если указан none, ресурсы IPC внутри контейнеров задачи являются закрытыми и не делятся с другими контейнерами в задаче или на экземпляре контейнера. Если значение не указано, общий доступ к пространству имен ресурсов IPC зависит от настройки Docker-демона на экземпляре контейнера.
При использовании режима IPC host следует учитывать повышенный риск нежелательного воздействия на пространство имен IPC.
Если вы настраиваете параметры ядра с именованием, используя systemControls для контейнеров в задаче, применяются следующие правила к пространству имен ресурсов IPC. Дополнительную информацию см. в разделе Системные средства управления в руководстве разработчика Amazon Elastic Container Service.
- Для задач, использующих режим IPC
host, не поддерживаются связанные с пространством имен IPCsystemControls. - Для задач, использующих режим IPC
task, связанные с пространством имен IPCsystemControlsбудут применяться ко всем контейнерам в задаче.
Примечание
Этот параметр не поддерживается для Windows-контейнеров или задач, выполняемых на Fargate.proxyConfiguration -> (структура)
Подробные сведения о конфигурации прокси-сервера App Mesh.
Для использования конфигурации прокси-сервера ваши экземпляры контейнеров Amazon ECS требуют не менее версии 1.26.0 агента контейнеров и не менее версии 1.26.0-1 пакета ecs-init. Если ваши экземпляры контейнеров запущены из оптимизированной AMI Amazon ECS версии 20190301 или более поздней, они содержат необходимые версии агента контейнеров и ecs-init. Дополнительную информацию см. в разделе Amazon ECS-оптимизированная Linux AMI в Руководстве разработчика Amazon Elastic Container Service.
type -> (string)
APPMESH.containerName -> (string)
properties -> (list)
Набор параметров конфигурации сети для предоставления плагина Container Network Interface (CNI), заданные в виде пар ключ-значение.
-
IgnoredUID- (Обязательно) Идентификатор пользователя (UID) контейнера прокси-сервера, как определено параметромuserв определении контейнера. Это используется для обеспечения того, что прокси-сервер игнорирует свой собственный трафик. Если заданIgnoredGID, это поле может быть пустым. -
IgnoredGID- (Обязательно) Идентификатор группы (GID) контейнера прокси-сервера, как определено параметромuserв определении контейнера. Это используется для обеспечения того, что прокси-сервер игнорирует свой собственный трафик. Если заданIgnoredUID, это поле может быть пустым. -
AppPorts- (Обязательно) Список портов, используемых приложением. Сеть трафика на эти порты перенаправляется наProxyIngressPortиProxyEgressPort. -
ProxyIngressPort- (Обязательно) Указывает порт, на который направляется входящий трафик наAppPorts. -
ProxyEgressPort- (Обязательно) Указывает порт, на который направляется исходящий трафик изAppPorts. -
EgressIgnoredPorts- (Обязательно) Трафик вывода на указанные порты игнорируется и не перенаправляется наProxyEgressPort. Он может быть пустым списком. -
EgressIgnoredIPs- (Обязательно) Трафик вывода на указанные IP-адреса игнорируется и не перенаправляется наProxyEgressPort. Он может быть пустым списком.
(структура)
Объект пары ключ-значение.
name -> (string)
value -> (string)
registeredAt -> (timestamp)
deregisteredAt -> (timestamp)
registeredBy -> (string)
ephemeralStorage -> (structure)
Настройки временного хранилища для задач, выполняемых с использованием определения задачи.
sizeInGiB -> (integer)
21 Гигабайт, а максимальное поддерживаемое значение составляет 200 Гигабайт.enableFaultInjection -> (boolean)
false.
© Copyright 2025, Amazon Web Services. Created using Sphinx.