Spec-Zone.ru › AWS CLI v2

[ aws . batch ]

describe-jobs

Описание

Описывает список заданий Batch.

См. также: AWS API Documentation

Сводка

  describe-jobs
--jobs <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]

Параметры

--jobs (list)

Список до 100 идентификаторов заданий.

(string)

Синтаксис:

"string" "string" ...

--cli-input-json | --cli-input-yaml (string) Считывает аргументы из предоставленной строки JSON. Строка JSON соответствует формату, предоставленному --generate-cli-skeleton. Если в командной строке предоставлены другие аргументы, эти значения переопределят значения, предоставленные в JSON. Невозможно передавать произвольные двоичные значения с использованием значения, предоставленного в JSON, поскольку строка будет воспринята буквально. Это не может быть указано вместе с --cli-input-yaml.

--generate-cli-skeleton (string) Выводит скелет JSON в стандартный вывод без отправки запроса API. Если значение не предоставлено или предоставлено значение input, выводит пример входного JSON, который можно использовать в качестве аргумента для --cli-input-json. Аналогично, если предоставлено yaml-input, он выведет пример входного YAML, который можно использовать с --cli-input-yaml. Если предоставлено значение output, он проверяет входные данные команды и возвращает пример выходного JSON для этой команды. Сгенерированный скелет JSON не является стабильным между версиями AWS CLI, и нет гарантий обратной совместимости в сгенерированном скелете JSON.

Глобальные параметры

--debug (boolean)

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

--endpoint-url (string)

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

--no-verify-ssl (boolean)

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

--no-paginate (boolean)

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

--output (string)

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

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

--query (string)

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

--profile (string)

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

--region (string)

Используемый регион. Переопределяет настройки config/env.

--version (string)

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

--color (string)

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

  • on
  • off
  • auto

--no-sign-request (boolean)

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

--ca-bundle (string)

Пакет сертификатов CA для использования при проверке сертификатов SSL. Переопределяет настройки config/env.

--cli-read-timeout (int)

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

--cli-connect-timeout (int)

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

--cli-binary-format (string)

Стиль форматирования, который будет использоваться для двоичных больших объектов. Формат по умолчанию — base64. Формат base64 ожидает, что двоичные большие объекты будут предоставлены в виде строки, закодированной в base64. Формат raw-in-base64-out сохраняет совместимость с поведением AWS CLI V1, и двоичные значения должны передаваться буквально. При предоставлении содержимого из файла, которое сопоставляется с двоичным большим объектом, fileb:// всегда будет рассматриваться как двоичный и использовать содержимое файла напрямую, независимо от настройки cli-binary-format. При использовании file:// содержимое файла должно быть правильно отформатировано для настроенного cli-binary-format.

  • base64
  • raw-in-base64-out

--no-cli-pager (boolean)

Отключить пейджер CLI для вывода.

--cli-auto-prompt (boolean)

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

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

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

Примеры

Примечание

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

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

Чтобы описать задание

В следующем примере describe-jobs описывается задание с указанным идентификатором задания.

aws batch describe-jobs \
    --jobs bcf0b186-a532-4122-842e-2ccab8d54efb

Вывод:

{
    "jobs": [
        {
            "status": "SUBMITTED",
            "container": {
                "mountPoints": [],
                "image": "busybox",
                "environment": [],
                "vcpus": 1,
                "command": [
                    "sleep",
                    "60"
                ],
                "volumes": [],
                "memory": 128,
                "ulimits": []
            },
            "parameters": {},
            "jobDefinition": "arn:aws:batch:us-east-1:012345678910:job-definition/sleep60:1",
            "jobQueue": "arn:aws:batch:us-east-1:012345678910:job-queue/HighPriority",
            "jobId": "bcf0b186-a532-4122-842e-2ccab8d54efb",
            "dependsOn": [],
            "jobName": "example",
            "createdAt": 1480483387803
        }
    ]
}

Output

jobs -> (list)

Список заданий.

(structure)

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

jobArn -> (string)

Имя ресурса Amazon (ARN) задания.

jobName -> (string)

Имя задания.

jobId -> (string)

Идентификатор задания.

jobQueue -> (string)

Имя ресурса Amazon (ARN) очереди заданий, с которой связано задание.

status -> (string)

Текущий статус задания.

Примечание

Если ваши задания не переходят в состояние STARTING, см. раздел Jobs stuck in RUNNABLE status в разделе устранения неполадок Руководства пользователя Batch .

shareIdentifier -> (string)

Идентификатор общего ресурса для задания.

schedulingPriority -> (integer)

Политика планирования определения задания. Это влияет только на задания в очередях заданий с политикой справедливого распределения. Задания с более высоким приоритетом планирования планируются раньше заданий с более низким приоритетом планирования.

attempts -> (list)

Список попыток выполнения заданий, связанных с этим заданием.

(structure)

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

container -> (structure)

Сведения о контейнере в этой попытке выполнения задания.

containerInstanceArn -> (string)

Имя ресурса Amazon (ARN) экземпляра контейнера Amazon ECS, на котором выполняется попытка выполнения задания.

taskArn -> (string)

Имя ресурса Amazon (ARN) задачи Amazon ECS, связанной с попыткой выполнения задания. Каждая попытка выполнения контейнера получает ARN задачи, когда она достигает состояния STARTING.

exitCode -> (integer)

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

reason -> (string)

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

logStreamName -> (string)

Имя потока журналов CloudWatch Logs, связанного с контейнером. Группа журналов для заданий Batch — /aws/batch/job. Каждая попытка выполнения контейнера получает имя потока журналов, когда она достигает состояния RUNNING.

networkInterfaces -> (list)

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

(structure)

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

attachmentId -> (string)

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

ipv6Address -> (string)

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

privateIpv4Address -> (string)

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

startedAt -> (long)

Метка времени Unix (в миллисекундах) для момента запуска попытки (когда попытка перешла из состояния STARTING в состояние RUNNING).

stoppedAt -> (long)

Метка времени Unix (в миллисекундах) для момента остановки попытки (когда попытка перешла из состояния RUNNING в конечное состояние, такое как SUCCEEDED или FAILED).

statusReason -> (string)

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

taskProperties -> (list)

Свойства определения задачи, описывающие контейнер и определения томов задачи Amazon ECS.

(structure)

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

containerInstanceArn -> (string)

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

taskArn -> (string)

ARN задачи Amazon ECS.

containers -> (list)

Список контейнеров, включенных в список taskProperties.

(structure)

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

exitCode -> (integer)

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

name -> (string)

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

reason -> (string)

Краткая (255 символов) строка, которую легко понять и которая предоставляет дополнительные сведения о работающем или остановленном контейнере.

logStreamName -> (string)

Имя потока журналов Amazon CloudWatch Logs, связанного с контейнером. Группа журналов для заданий Batch — /aws/batch/job. Каждая попытка выполнения контейнера получает имя потока журналов, когда она достигает состояния RUNNING.

networkInterfaces -> (list)

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

(structure)

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

attachmentId -> (string)

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

ipv6Address -> (string)

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

privateIpv4Address -> (string)

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

statusReason -> (string)

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

  • CAPACITY:INSUFFICIENT_INSTANCE_CAPACITY - Во всех вычислительных средах недостаточно ресурсов для обслуживания задания.
  • MISCONFIGURATION:COMPUTE_ENVIRONMENT_MAX_RESOURCE - Во всех вычислительных средах установлено значение maxVcpu, которое меньше требований задания.
  • MISCONFIGURATION:JOB_RESOURCE_REQUIREMENT - Во всех вычислительных средах нет подключенных экземпляров, соответствующих требованиям задания.
  • MISCONFIGURATION:SERVICE_ROLE_PERMISSIONS - Во всех вычислительных средах есть проблемы с разрешениями роли службы.

createdAt -> (long)

Метка времени Unix (в миллисекундах) для момента создания задания. Для заданий без массивов и родительских заданий массивов это момент, когда задание перешло в состояние SUBMITTED. Это конкретно в момент вызова SubmitJob. Для дочерних заданий массивов это момент, когда дочернее задание было создано своим родительским заданием и перешло в состояние PENDING.

retryStrategy -> (structure)

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

attempts -> (integer)

Количество попыток перемещения задания в состояние RUNNABLE. Можно указать от 1 до 10 попыток. Если значение attempts больше единицы, задание будет повторно предпринято в случае сбоя столько же раз, сколько указано в значении.

evaluateOnExit -> (list)

Массив, содержащий до 5 объектов, определяющих условия, при которых задания повторяются или завершаются неудачей. Если этот параметр указан, то необходимо также указать параметр attempts. Если ни одно из перечисленных условий не выполнено, задание будет повторено.

(structure)

Указывает массив, содержащий до 5 условий, которые должны быть выполнены, и действие, которое необходимо предпринять (RETRY или EXIT), если все условия выполнены. Если ни одно из условий EvaluateOnExit в RetryStrategy не соответствует, задание будет повторено.

onStatusReason -> (string)

Содержит шаблон glob для сопоставления с StatusReason, возвращенным для задания. Шаблон может содержать до 512 символов. Он может содержать буквы, цифры, точки (.), двоеточия (:) и пробелы (включая пробелы и вкладки). Он может необязательно заканчиваться звездочкой (*), чтобы только начало строки должно было быть точным соответствием.

onReason -> (string)

Содержит шаблон glob для сопоставления с Reason, возвращенным для задания. Шаблон может содержать до 512 символов. Он может содержать буквы, цифры, точки (.), двоеточия (:) и пробелы (включая пробелы и вкладки). Он может необязательно заканчиваться звездочкой (*), чтобы только начало строки должно было быть точным соответствием.

onExitCode -> (string)

Содержит шаблон glob для сопоставления с десятичным представлением ExitCode, возвращенным для задания. Шаблон может иметь длину до 512 символов. Он может содержать только цифры и может заканчиваться звездочкой (*), чтобы только начало строки должно было быть точным соответствием.

Строка может содержать до 512 символов.

action -> (string)

Указывает действие, которое необходимо предпринять, если выполнены все указанные условия (onStatusReason, onReason и onExitCode). Значения не учитывают регистр.

startedAt -> (long)

Метка времени Unix (в миллисекундах) для момента запуска задания. Точнее, это момент, когда задание перешло из состояния STARTING в состояние RUNNING.

stoppedAt -> (long)

Метка времени Unix (в миллисекундах) для момента остановки задания. Точнее, это момент, когда задание перешло из состояния RUNNING в конечное состояние, такое как SUCCEEDED или FAILED.

dependsOn -> (list)

Список идентификаторов заданий, от которых зависит это задание.

(structure)

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

jobId -> (string)

Идентификатор задания Batch, связанного с этой зависимостью.

type -> (string)

Тип зависимости задания.

jobDefinition -> (string)

Имя ресурса Amazon (ARN) определения задания, которое использует это задание.

parameters -> (map)

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

key -> (string)

value -> (string)

container -> (structure)

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

image -> (string)

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

vcpus -> (integer)

Количество виртуальных процессоров, зарезервированных для контейнера. Для заданий, выполняющихся на ресурсах Amazon EC2, можно указать требование к виртуальному процессору для задания, используя resourceRequirements , но нельзя указать требования к виртуальному процессору в обоих объектах vcpus и resourceRequirements . Этот параметр соответствует CpuShares в разделе Создание контейнера Docker Remote API и опции --cpu-shares для docker run . Каждый виртуальный процессор эквивалентен 1024 долям процессорного времени. Необходимо указать как минимум один виртуальный процессор. Это обязательно, но может быть указано в нескольких местах. Это необходимо указать для каждого узла хотя бы один раз.

Примечание

Этот параметр неприменим к заданиям, выполняющимся на ресурсах Fargate. Для заданий, выполняющихся на ресурсах Fargate, необходимо указать требование к виртуальному процессору для задания, используя resourceRequirements .

memory -> (integer)

Для заданий, выполняющихся на ресурсах Amazon EC2, которые не указывали требования к памяти, используя resourceRequirements , количество MiB памяти, зарезервированной для задания. Для других заданий, включая все выполняющиеся на ресурсах Fargate, см. resourceRequirements .

command -> (list)

Команда, передаваемая контейнеру.

(string)

jobRoleArn -> (string)

Имя ресурса Amazon (ARN), связанное с заданием при запуске.

executionRoleArn -> (string)

Имя ресурса Amazon (ARN) роли выполнения, которую может принять Batch. Для получения дополнительной информации см. Batch execution IAM role в Batch User Guide .

volumes -> (list)

Список томов, связанных с заданием.

(structure)

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

host -> (structure)

Содержимое параметра host определяет, сохраняется ли том данных на экземпляре хост-контейнера и где он хранится. Если параметр host пуст, демон Docker назначает путь хоста для вашего тома данных. Однако данные не гарантированно сохранятся после того, как контейнеры, связанные с ним, перестанут работать.

Примечание

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

sourcePath -> (string)

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

Примечание

Этот параметр неприменим к заданиям, выполняющимся на ресурсах Fargate. Не предоставляйте это для этих заданий.

name -> (string)

Имя тома. Оно может содержать до 255 символов. Он может содержать прописные и строчные буквы, цифры, дефисы (-) и символы подчеркивания (_). Это имя указывается в параметре sourceVolume определения контейнера mountPoints .

efsVolumeConfiguration -> (structure)

Этот параметр указывается при использовании файловой системы Amazon Elastic File System для хранения заданий. Задания, выполняющиеся на ресурсах Fargate, должны указывать platformVersion не менее 1.4.0 .

fileSystemId -> (string)

Идентификатор файловой системы Amazon EFS для использования.

rootDirectory -> (string)

Каталог в файловой системе Amazon EFS для монтирования в качестве корневого каталога внутри хоста. Если этот параметр опущен, вместо этого используется корень тома Amazon EFS. Указание / имеет тот же эффект, что и пропуск этого параметра. Максимальная длина — 4096 символов.

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

Если точка доступа EFS указана в authorizationConfig , параметр корневого каталога должен быть либо опущен, либо установлен в значение / , что обеспечивает соблюдение пути, установленного в точке доступа Amazon EFS.

transitEncryption -> (string)

Определяет, следует ли включить шифрование для данных Amazon EFS при передаче между хостом Amazon ECS и сервером Amazon EFS. Шифрование при передаче должно быть включено, если используется авторизация Amazon EFS IAM. Если этот параметр опущен, используется значение по умолчанию DISABLED . Дополнительную информацию см. в разделе Encrypting data in transit в Amazon Elastic File System User Guide .

transitEncryptionPort -> (integer)

Порт для использования при отправке зашифрованных данных между хостом Amazon ECS и сервером Amazon EFS. Если вы не укажете порт шифрования при передаче, он использует стратегию выбора порта, которую использует помощник монтирования Amazon EFS. Значение должно быть в диапазоне от 0 до 65 535. Дополнительную информацию см. в разделе EFS mount helper в Amazon Elastic File System User Guide .

authorizationConfig -> (structure)

Сведения о конфигурации авторизации для файловой системы Amazon EFS.

accessPointId -> (string)

Идентификатор точки доступа Amazon EFS для использования. Если указана точка доступа, значение корневого каталога, указанное в EFSVolumeConfiguration , должно быть либо опущено, либо установлено в значение / , что обеспечивает соблюдение пути, установленного в точке доступа EFS. Если используется точка доступа, шифрование при передаче должно быть включено в EFSVolumeConfiguration . Дополнительную информацию см. в разделе Working with Amazon EFS access points в Amazon Elastic File System User Guide .

iam -> (string)

Использовать ли роль IAM задания Batch, определенную в определении задания, при монтировании файловой системы Amazon EFS. Если включено, шифрование при передаче должно быть включено в EFSVolumeConfiguration . Если этот параметр опущен, используется значение по умолчанию DISABLED . Дополнительную информацию см. в разделе Using Amazon EFS access points в Batch User Guide . Авторизация EFS IAM требует, чтобы TransitEncryption было ENABLED и чтобы было указано JobRoleArn .

environment -> (list)

Переменные среды, которые будут переданы контейнеру.

Примечание

Переменные среды не могут начинаться с «AWS_BATCH ». Эта конвенция именования зарезервирована для переменных, которые устанавливает Batch.

(structure)

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

name -> (string)

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

value -> (string)

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

mountPoints -> (list)

Точки монтирования для томов данных в вашем контейнере.

(structure)

Сведения о точке монтирования тома Docker, используемой в свойствах контейнера задания. Этот параметр соответствует Volumes в разделе Создание контейнера Docker Remote API и опции --volume для docker run.

containerPath -> (string)

Путь в контейнере, где смонтирован том хоста.

readOnly -> (boolean)

Если это значение true , контейнер имеет доступ только для чтения к тому. В противном случае контейнер может записывать в том. Значение по умолчанию — false .

sourceVolume -> (string)

Имя тома для монтирования.

readonlyRootFilesystem -> (boolean)

Когда этот параметр равен true, контейнеру предоставляется доступ только для чтения к его корневой файловой системе. Этот параметр соответствует ReadonlyRootfs в разделе Создание контейнера Docker Remote API и опции --read-only для ` docker run https://docs.docker.com/engine/reference/commandline/run/`__ .

ulimits -> (list)

Список значений ulimit для установки в контейнере. Этот параметр соответствует Ulimits в разделе Создание контейнера Docker Remote API и опции --ulimit для docker run .

Примечание

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

(structure)

Параметры ulimit для передачи контейнеру. Дополнительные сведения см. в разделе Ulimit .

Примечание

Этот объект неприменим к заданиям, выполняющимся на ресурсах Fargate.

hardLimit -> (integer)

Жесткий лимит для типа ulimit .

name -> (string)

type параметра ulimit . Допустимые значения: core | cpu | data | fsize | locks | memlock | msgqueue | nice | nofile | nproc | rss | rtprio | rttime | sigpending | stack .

softLimit -> (integer)

Мягкий лимит для типа ulimit .

privileged -> (boolean)

Когда этот параметр равен true, контейнеру предоставляются повышенные разрешения на экземпляре хост-контейнера (аналогично пользователю root ). Значение по умолчанию — false .

Примечание

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

user -> (string)

Имя пользователя, которое будет использоваться внутри контейнера. Этот параметр соответствует User в разделе Создание контейнера Docker Remote API и опции --user для docker run .

exitCode -> (integer)

Код выхода, возвращенный по завершении.

reason -> (string)

Краткая (максимум 255 символов) строка, читаемая человеком, для предоставления дополнительных сведений о работающем или остановленном контейнере.

containerInstanceArn -> (string)

Имя ресурса Amazon (ARN) экземпляра контейнера, на котором работает контейнер.

taskArn -> (string)

Имя ресурса Amazon (ARN) задачи Amazon ECS, связанной с заданием контейнера. Каждая попытка контейнера получает ARN задачи, когда достигает состояния STARTING .

logStreamName -> (string)

Имя потока журналов Amazon CloudWatch Logs, связанного с контейнером. Группа журналов для заданий Batch — /aws/batch/job . Каждая попытка контейнера получает имя потока журналов, когда достигает состояния RUNNING .

instanceType -> (string)

Тип экземпляра базовой хост-инфраструктуры параллельной многоузловой задачи.

Примечание

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

networkInterfaces -> (list)

Сетевые интерфейсы, связанные с задачей.

(structure)

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

attachmentId -> (string)

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

ipv6Address -> (string)

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

privateIpv4Address -> (string)

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

resourceRequirements -> (list)

Тип и объем ресурсов, выделяемых контейнеру. Поддерживаемые ресурсы включают GPU , MEMORY и VCPU .

(structure)

Тип и объем ресурса, выделяемого контейнеру. Поддерживаемые ресурсы включают GPU , MEMORY и VCPU .

value -> (string)

Объем указанного ресурса, резервируемого для контейнера. Значения варьируются в зависимости от указанного type .

type=”GPU”

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

Примечание

Графические процессоры недоступны для задач, выполняющихся на ресурсах Fargate.

type=”MEMORY”

Жесткий предел памяти (в МиБ), доступный контейнеру. Этот параметр поддерживается для задач, выполняющихся на ресурсах Amazon EC2. Если ваш контейнер пытается превысить указанный объем памяти, контейнер завершает работу. Этот параметр отображается в Memory в разделе «Создание контейнера» в Docker Remote API и в параметре --memory для docker run . Необходимо указать не менее 4 МиБ памяти для задачи. Это обязательно, но может быть указано в нескольких местах для параллельных многоузловых (MNP) задач. Он должен быть указан для каждого узла хотя бы один раз. Этот параметр отображается в Memory в разделе «Создание контейнера» в Docker Remote API и в параметре --memory для docker run .

Примечание

Если вы пытаетесь максимально увеличить использование ресурсов, предоставив своим задачам как можно больше памяти для определенного типа экземпляра, см. раздел «Управление памятью» в Руководстве пользователя Batch .

Для задач, выполняющихся на ресурсах Fargate, value является жестким пределом (в МиБ), и он должен соответствовать одному из поддерживаемых значений, а значения VCPU должны быть одним из значений, поддерживаемых для этого значения памяти.

value = 512

VCPU = 0.25

value = 1024

VCPU = 0.25 или 0.5

value = 2048

VCPU = 0.25, 0.5 или 1

value = 3072

VCPU = 0.5 или 1

value = 4096

VCPU = 0.5, 1 или 2

value = 5120, 6144, или 7168

VCPU = 1 или 2

value = 8192

VCPU = 1, 2 или 4

value = 9216, 10240, 11264, 12288, 13312, 14336, или 15360

VCPU = 2 или 4

value = 16384

VCPU = 2, 4 или 8

value = 17408, 18432, 19456, 21504, 22528, 23552, 25600, 26624, 27648, 29696, или 30720

VCPU = 4

value = 20480, 24576, или 28672

VCPU = 4 или 8

value = 36864, 45056, 53248, или 61440

VCPU = 8

value = 32768, 40960, 49152, или 57344

VCPU = 8 или 16

value = 65536, 73728, 81920, 90112, 98304, 106496, 114688, или 122880

VCPU = 16

type=”VCPU”

Количество виртуальных ЦП, зарезервированных для контейнера. Этот параметр отображается в CpuShares в разделе «Создание контейнера» в Docker Remote API и в параметре --cpu-shares для docker run . Каждый виртуальный ЦП эквивалентен 1024 долям ЦП. Для ресурсов Amazon EC2 необходимо указать не менее одного виртуального ЦП. Это обязательно, но может быть указано в нескольких местах; его необходимо указать для каждого узла хотя бы один раз.

По умолчанию для квоты ресурсов Fargate On-Demand vCPU составляет 6 vCPU. Для получения дополнительной информации о квотах Fargate см. раздел Квоты Fargate в Общем справочнике Amazon Web Services .

Для задач, выполняющихся на ресурсах Fargate, value должно соответствовать одному из поддерживаемых значений, а значения MEMORY должны быть одним из значений, поддерживаемых для этого значения VCPU . Поддерживаются значения 0,25, 0,5, 1, 2, 4, 8 и 16

value = 0.25

MEMORY = 512, 1024 или 2048

value = 0.5

MEMORY = 1024, 2048, 3072 или 4096

value = 1

MEMORY = 2048, 3072, 4096, 5120, 6144, 7168 или 8192

value = 2

MEMORY = 4096, 5120, 6144, 7168, 8192, 9216, 10240, 11264, 12288, 13312, 14336, 15360 или 16384

value = 4

MEMORY = 8192, 9216, 10240, 11264, 12288, 13312, 14336, 15360, 16384, 17408, 18432, 19456, 20480, 21504, 22528, 23552, 24576, 25600, 26624, 27648, 28672, 29696 или 30720

value = 8

MEMORY = 16384, 20480, 24576, 28672, 32768, 36864, 40960, 45056, 49152, 53248, 57344 или 61440

value = 16

MEMORY = 32768, 40960, 49152, 57344, 65536, 73728, 81920, 90112, 98304, 106496, 114688 или 122880

type -> (string)

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

linuxParameters -> (structure)

Linux-specific modifications that are applied to the container, such as details for device mappings.

devices -> (list)

Any of the host devices to expose to the container. This parameter maps to Devices in the Create a container section of the Docker Remote API and the --device option to docker run .

Примечание

Этот параметр не применим к заданиям, которые выполняются на ресурсах Fargate. Не предоставляйте его для этих заданий.

(structure)

An object that represents a container instance host device.

Примечание

Этот объект не применим к заданиям, которые выполняются на ресурсах Fargate, и не должен быть предоставлен.

hostPath -> (string)

The path for the device on the host container instance.

containerPath -> (string)

The path inside the container that’s used to expose the host device. By default, the hostPath value is used.

permissions -> (list)

The explicit permissions to provide to the container for the device. By default, the container has permissions for read , write , and mknod for the device.

(string)

initProcessEnabled -> (boolean)

If true, run an init process inside the container that forwards signals and reaps processes. This parameter maps to the --init option to docker run . This parameter requires version 1.25 of the Docker Remote API or greater on your container instance. To check the Docker Remote API version on your container instance, log in to your container instance and run the following command: sudo docker version | grep "Server API version"

sharedMemorySize -> (integer)

The value for the size (in MiB) of the /dev/shm volume. This parameter maps to the --shm-size option to docker run .

Примечание

Этот параметр не применим к заданиям, которые выполняются на ресурсах Fargate. Не предоставляйте его для этих заданий.

tmpfs -> (list)

The container path, mount options, and size (in MiB) of the tmpfs mount. This parameter maps to the --tmpfs option to docker run .

Примечание

Этот параметр не применим к заданиям, которые выполняются на ресурсах Fargate. Не предоставляйте этот параметр для этого типа ресурсов.

(structure)

The container path, mount options, and size of the tmpfs mount.

Примечание

Этот объект не применим к заданиям, которые выполняются на ресурсах Fargate.

containerPath -> (string)

The absolute file path in the container where the tmpfs volume is mounted.

size -> (integer)

The size (in MiB) of the tmpfs volume.

mountOptions -> (list)

The list of tmpfs volume mount options.

Valid values: “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 “

(string)

maxSwap -> (integer)

The total amount of swap memory (in MiB) a container can use. This parameter is translated to the --memory-swap option to docker run where the value is the sum of the container memory plus the maxSwap value. For more information, see ` --memory-swap details <https://docs.docker.com/config/containers/resource_constraints/#–memory-swap-details>`__ in the Docker documentation.

If a maxSwap value of 0 is specified, the container doesn’t use swap. Accepted values are 0 or any positive integer. If the maxSwap parameter is omitted, the container doesn’t use the swap configuration for the container instance on which it runs. A maxSwap value must be set for the swappiness parameter to be used.

Примечание

Этот параметр не применим к заданиям, которые выполняются на ресурсах Fargate. Не предоставляйте его для этих заданий.

swappiness -> (integer)

You can use this parameter to tune a container’s memory swappiness behavior. A swappiness value of 0 causes swapping to not occur unless absolutely necessary. A swappiness value of 100 causes pages to be swapped aggressively. Valid values are whole numbers between 0 and 100 . If the swappiness parameter isn’t specified, a default value of 60 is used. If a value isn’t specified for maxSwap , then this parameter is ignored. If maxSwap is set to 0, the container doesn’t use swap. This parameter maps to the --memory-swappiness option to docker run .

Consider the following when you use a per-container swap configuration.

  • Swap space must be enabled and allocated on the container instance for the containers to use.

Примечание

По умолчанию оптимизированные образы Amazon ECS не включают swap. Вы должны включить swap на экземпляре, чтобы использовать эту функцию. For more information, see Instance store swap volumes in the Amazon EC2 User Guide for Linux Instances or How do I allocate memory to work as swap space in an Amazon EC2 instance by using a swap file?
  • The swap space parameters are only supported for job definitions using EC2 resources.
  • If the maxSwap and swappiness parameters are omitted from a job definition, each container has a default swappiness value of 60. Moreover, the total swap usage is limited to two times the memory reservation of the container.

Примечание

Этот параметр не применим к заданиям, которые выполняются на ресурсах Fargate. Не предоставляйте его для этих заданий.

logConfiguration -> (structure)

Спецификация конфигурации журнала для контейнера.

Этот параметр сопоставляется с LogConfig в разделе «Создание контейнера» в Docker Remote API и параметром --log-driver для docker run. По умолчанию контейнеры используют тот же драйвер ведения журнала, что и демон Docker. Однако контейнер может использовать другой драйвер ведения журнала, чем демон Docker, указав драйвер журнала с этим параметром в определении контейнера. Чтобы использовать другой драйвер ведения журнала для контейнера, система журнала должна быть правильно настроена на экземпляре контейнера. Или, в качестве альтернативы, она должна быть настроена на другом сервере журналов для удаленных параметров ведения журнала. Для получения дополнительной информации о параметрах для различных поддерживаемых драйверов журналов см. раздел Configure logging drivers в документации Docker.

Примечание

Batch в настоящее время поддерживает подмножество драйверов ведения журнала, доступных для демона Docker (показано в типе данных LogConfiguration). Дополнительные драйверы журналов могут быть доступны в будущих версиях агента контейнера Amazon ECS.

Этот параметр требует версии 1.18 Docker Remote API или более поздней версии на вашем экземпляре контейнера. Чтобы проверить версию Docker Remote API на вашем экземпляре контейнера, войдите в свой экземпляр контейнера и выполните следующую команду: sudo docker version | grep "Server API version"

Примечание

Агент контейнера Amazon ECS, работающий на экземпляре контейнера, должен зарегистрировать драйверы ведения журнала, доступные на этом экземпляре, с помощью переменной среды ECS_AVAILABLE_LOGGING_DRIVERS, прежде чем контейнеры, размещенные на этом экземпляре, смогут использовать эти параметры конфигурации журнала. Для получения дополнительной информации см. раздел «Конфигурация агента контейнера Amazon ECS» в Руководстве разработчика Amazon Elastic Container Service .

logDriver -> (string)

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

Поддерживаемые драйверы журналов: awslogs , fluentd , gelf , json-file , journald , logentries , syslog и splunk .

Примечание

Для заданий, выполняемых на ресурсах Fargate, используются только драйверы журналов awslogs и splunk.

awsfirelens

Указывает драйвер ведения журнала firelens. Для получения дополнительной информации о настройке Firelens см. раздел Send Amazon ECS logs to an Amazon Web Services service or Amazon Web Services Partner в Руководстве разработчика Amazon Elastic Container Service .

awslogs

Указывает драйвер ведения журнала Amazon CloudWatch Logs. Для получения дополнительной информации см. раздел Using the awslogs log driver в Руководстве пользователя Batch и драйвер ведения журнала Amazon CloudWatch Logs в документации Docker.

fluentd

Указывает драйвер ведения журнала Fluentd. Для получения дополнительной информации, включая использование и параметры, см. раздел Fluentd logging driver в документации Docker .

gelf

Указывает драйвер ведения журнала Graylog Extended Format (GELF). Для получения дополнительной информации, включая использование и параметры, см. раздел Graylog Extended Format logging driver в документации Docker .

journald

Указывает драйвер ведения журнала journald. Для получения дополнительной информации, включая использование и параметры, см. раздел Journald logging driver в документации Docker .

json-file

Указывает драйвер ведения журнала JSON file. Для получения дополнительной информации, включая использование и параметры, см. раздел JSON File logging driver в документации Docker .

splunk

Указывает драйвер ведения журнала Splunk. Для получения дополнительной информации, включая использование и параметры, см. раздел Splunk logging driver в документации Docker .

syslog

Указывает драйвер ведения журнала syslog. Для получения дополнительной информации, включая использование и параметры, см. раздел Syslog logging driver в документации Docker .

Примечание

Если у вас есть пользовательский драйвер, который не указан выше и который вы хотите использовать с агентом контейнера Amazon ECS, вы можете разветвить проект агента контейнера Amazon ECS, доступный на GitHub, и настроить его для работы с этим драйвером. Мы рекомендуем вам отправлять запросы на включение изменений, которые вы хотите включить. Однако Amazon Web Services в настоящее время не поддерживает запуск измененных копий этого программного обеспечения.

Этот параметр требует версии 1.18 Docker Remote API или более поздней версии на вашем экземпляре контейнера. Чтобы проверить версию Docker Remote API на вашем экземпляре контейнера, войдите в свой экземпляр контейнера и выполните следующую команду: sudo docker version | grep "Server API version"

options -> (map)

Параметры конфигурации для отправки драйверу журнала. Этот параметр требует версию 1.19 Docker Remote API или более позднюю версию на вашем экземпляре контейнера. Чтобы проверить версию Docker Remote API на вашем экземпляре контейнера, войдите в свой экземпляр контейнера и выполните следующую команду: sudo docker version | grep "Server API version"

key -> (string)

value -> (string)

secretOptions -> (list)

Секреты, которые необходимо передать конфигурации журнала. Для получения дополнительной информации см. раздел Указание конфиденциальных данных в Руководстве пользователя Batch .

(structure)

Объект, представляющий секрет для предоставления вашему контейнеру. Секреты могут предоставляться контейнеру следующими способами:

  • Чтобы внедрить конфиденциальные данные в ваши контейнеры в качестве переменных среды, используйте параметр определения контейнера secrets.
  • Чтобы сослаться на конфиденциальную информацию в конфигурации журнала контейнера, используйте параметр определения контейнера secretOptions.

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

name -> (string)

Имя секрета.

valueFrom -> (string)

Секрет для предоставления контейнеру. Поддерживаемые значения: полное имя ресурса Amazon (ARN) секрета Secrets Manager или полное ARN параметра в хранилище параметров Amazon Web Services Systems Manager.

Примечание

Если параметр хранилища параметров Amazon Web Services Systems Manager существует в том же регионе, что и запускаемое вами задание, вы можете использовать полное имя ресурса Amazon (ARN) или имя параметра. Если параметр существует в другом регионе, необходимо указать полное ARN.

secrets -> (list)

Секреты, которые необходимо передать контейнеру. Для получения дополнительной информации см. раздел Указание конфиденциальных данных в Руководстве пользователя Batch .

(structure)

Объект, представляющий секрет для предоставления вашему контейнеру. Секреты могут предоставляться контейнеру следующими способами:

  • Чтобы внедрить конфиденциальные данные в ваши контейнеры в качестве переменных среды, используйте параметр определения контейнера secrets.
  • Чтобы сослаться на конфиденциальную информацию в конфигурации журнала контейнера, используйте параметр определения контейнера secretOptions.

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

name -> (string)

Имя секрета.

valueFrom -> (string)

Секрет для предоставления контейнеру. Поддерживаемые значения: полное имя ресурса Amazon (ARN) секрета Secrets Manager или полное ARN параметра в хранилище параметров Amazon Web Services Systems Manager.

Примечание

Если параметр хранилища параметров Amazon Web Services Systems Manager существует в том же регионе, что и запускаемое вами задание, вы можете использовать полное имя ресурса Amazon (ARN) или имя параметра. Если параметр существует в другом регионе, необходимо указать полное ARN.

networkConfiguration -> (structure)

Конфигурация сети для заданий, выполняемых на ресурсах Fargate. Задания, выполняемые на ресурсах Amazon EC2, не должны указывать этот параметр.

assignPublicIp -> (string)

Указывает, имеет ли задание общедоступный IP-адрес. Чтобы задание, выполняемое на ресурсах Fargate в частной подсети, отправляло исходящий трафик в Интернет (например, для извлечения образов контейнеров), частной подсети требуется шлюз NAT, подключенный для маршрутизации запросов в Интернет. Для получения дополнительной информации см. раздел «Сетевая работа задач Amazon ECS» в Руководстве разработчика Amazon Elastic Container Service . Значение по умолчанию – “DISABLED “.

fargatePlatformConfiguration -> (structure)

Конфигурация платформы для заданий, выполняемых на ресурсах Fargate. Задания, выполняемые на ресурсах Amazon EC2, не должны указывать этот параметр.

platformVersion -> (string)

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

ephemeralStorage -> (structure)

Объем временного хранилища, выделенного для задачи. Этот параметр используется для расширения общего объема доступного временного хранилища за пределы значения по умолчанию для задач, размещенных на Fargate.

sizeInGiB -> (integer)

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

runtimePlatform -> (structure)

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

operatingSystemFamily -> (string)

Операционная система для вычислительной среды. Допустимые значения: LINUX (по умолчанию), WINDOWS_SERVER_2019_CORE , WINDOWS_SERVER_2019_FULL , WINDOWS_SERVER_2022_CORE , и WINDOWS_SERVER_2022_FULL .

Примечание

Следующие параметры нельзя установить для контейнеров Windows: linuxParameters , privileged , user , ulimits , readonlyRootFilesystem , и efsVolumeConfiguration .

Примечание

Batch Scheduler проверяет вычислительные среды, прикрепленные к очереди заданий, перед регистрацией определения задачи в Fargate. В этом случае очередь заданий — это место, куда отправляется задание. Если заданию требуется контейнер Windows и первая вычислительная среда — LINUX , вычислительная среда пропускается и проверяется следующая вычислительная среда, пока не будет найдена вычислительная среда на основе Windows.

Примечание

Fargate Spot не поддерживается для ARM64 и контейнеров на базе Windows в Fargate. Очередь заданий будет заблокирована, если задание Fargate ARM64 или задание Windows отправлено в очередь заданий только с вычислительными средами Fargate Spot. Однако вы можете прикрепить как FARGATE , так и FARGATE_SPOT вычислительные среды к одной и той же очереди заданий.

cpuArchitecture -> (string)

Архитектура vCPU. Значение по умолчанию — X86_64 . Допустимые значения: X86_64 и ARM64 .

Примечание

Этот параметр должен быть установлен в значение X86_64 для контейнеров Windows.

Примечание

Fargate Spot не поддерживается для ARM64 и контейнеров на базе Windows в Fargate. Очередь заданий будет заблокирована, если задание Fargate ARM64 или задание Windows отправлено в очередь заданий только с вычислительными средами Fargate Spot. Однако вы можете прикрепить как FARGATE , так и FARGATE_SPOT вычислительные среды к одной и той же очереди заданий.

repositoryCredentials -> (structure)

Учетные данные аутентификации частного репозитория, которые следует использовать.

credentialsParameter -> (string)

Имя ресурса Amazon (ARN) секрета, содержащего учетные данные частного репозитория.

enableExecuteCommand -> (boolean)

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

nodeDetails -> (structure)

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

nodeIndex -> (integer)

Индекс узла для узла. Нумерация индексов узлов начинается с нуля. Этот индекс также доступен на узле с переменной среды AWS_BATCH_JOB_NODE_INDEX .

isMainNode -> (boolean)

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

nodeProperties -> (structure)

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

Примечание

Это не применимо к заданиям, которые выполняются на ресурсах Fargate.

numNodes -> (integer)

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

mainNode -> (integer)

Указывает индекс узла для основного узла многоузлового параллельного задания. Это значение индекса узла должно быть меньше количества узлов.

nodeRangeProperties -> (list)

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

(structure)

Это объект, представляющий свойства диапазона узлов для многоузлового параллельного задания.

targetNodes -> (string)

Диапазон узлов, используя значения индекса узла. Диапазон 0:3 указывает узлы со значениями индекса от 0 до 3 . Если начальное значение диапазона опущено (:n ), то 0 используется для запуска диапазона. Если конечное значение диапазона опущено (n: ), то для завершения диапазона используется максимально возможный индекс узла. Ваши совокупные диапазоны узлов должны учитывать все узлы (0:n ). Вы можете вкладывать диапазоны узлов (например, 0:10 и 4:5 ). В этом случае свойства диапазона 4:5 переопределяют свойства 0:10 .

container -> (structure)

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

image -> (string)

Обязательный. Образ, используемый для запуска контейнера. Эта строка передается непосредственно демону Docker. Образы в реестре Docker Hub доступны по умолчанию. Другие репозитории указываются с помощью `` repository-url /image :tag `` . Может быть длиной 255 символов. Может содержать прописные и строчные буквы, цифры, дефисы (-), подчеркивания (_), двоеточия (:), точки (.), косые черты (/) и знаки номера (#). Этот параметр сопоставляется с Image в разделе «Создание контейнера» в Docker Remote API и параметром IMAGE для docker run .

Примечание

Архитектура образа Docker должна соответствовать архитектуре процессора вычислительных ресурсов, на которых они запланированы. Например, образы Docker на основе ARM могут выполняться только на вычислительных ресурсах на основе ARM.
  • Образы в общедоступных репозиториях Amazon ECR используют полные registry/repository[:tag] или registry/repository[@digest] соглашения об именах. Например, ``public.ecr.aws/registry_alias /my-web-app :latest `` .
  • Образы в репозиториях Amazon ECR используют полный URI реестра и репозитория (например, 123456789012.dkr.ecr.<region-name>.amazonaws.com/<repository-name> ).
  • Образы в официальных репозиториях на Docker Hub используют одно имя (например, ubuntu или mongo ).
  • Образы в других репозиториях на Docker Hub квалифицируются с именем организации (например, amazon/amazon-ecs-agent ).
  • Образы в других онлайн-репозиториях далее квалифицируются именем домена (например, quay.io/assemblyline/ubuntu ).

vcpus -> (integer)

Этот параметр устарел, используйте resourceRequirements для указания требований к vCPU для определения задания. Не поддерживается для заданий, выполняемых на ресурсах Fargate. Для заданий, выполняемых на ресурсах Amazon EC2, он указывает количество vCPU, зарезервированных для задания.

Каждый vCPU эквивалентен 1024 долям ЦП. Этот параметр сопоставляется с CpuShares в разделе «Создание контейнера» в Docker Remote API и опцией --cpu-shares для docker run . Количество vCPU должно быть указано, но его можно указать в нескольких местах. Необходимо указать его хотя бы один раз для каждого узла.

memory -> (integer)

Этот параметр устарел, используйте resourceRequirements для указания требований к памяти для определения задания. Не поддерживается для заданий, выполняемых на ресурсах Fargate. Для заданий, выполняемых на ресурсах Amazon EC2, он указывает жесткий предел памяти (в MiB) для контейнера. Если ваш контейнер пытается превысить указанное число, он завершается. Необходимо указать не менее 4 MiB памяти для задания, используя этот параметр. Жесткий предел памяти можно указать в нескольких местах. Его необходимо указать для каждого узла хотя бы один раз.

command -> (list)

Команда, которая передается контейнеру. Этот параметр сопоставляется с Cmd в разделе «Создание контейнера» в Docker Remote API и параметром COMMAND для docker run . Для получения дополнительной информации см. https://docs.docker.com/engine/reference/builder/#cmd .

(string)

jobRoleArn -> (string)

Имя ресурса Amazon (ARN) роли IAM, которую контейнер может принять для разрешений Amazon Web Services. Для получения дополнительной информации см. IAM roles for tasks в Amazon Elastic Container Service Developer Guide .

executionRoleArn -> (string)

Имя ресурса Amazon (ARN) роли выполнения, которую Batch может принять. Для заданий, выполняемых на ресурсах Fargate, необходимо предоставить роль выполнения. Для получения дополнительной информации см. Batch execution IAM role в Batch User Guide .

volumes -> (list)

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

(structure)

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

host -> (structure)

Содержимое параметра host определяет, сохраняется ли том данных на экземпляре хост-контейнера и где он хранится. Если параметр host пуст, демон Docker назначает путь хоста для вашего тома данных. Однако данные не гарантированно сохранятся после того, как связанные с ним контейнеры перестанут работать.

Примечание

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

sourcePath -> (string)

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

Примечание

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

name -> (string)

Имя тома. Длина может достигать 255 символов. Он может содержать прописные и строчные буквы, цифры, дефисы (-) и подчеркивания (_). На это имя ссылаются в параметре sourceVolume определения контейнера mountPoints .

efsVolumeConfiguration -> (structure)

Этот параметр указывается при использовании файловой системы Amazon Elastic File System для хранения заданий. Задания, выполняемые на ресурсах Fargate, должны указать platformVersion не менее 1.4.0 .

fileSystemId -> (string)

Идентификатор файловой системы Amazon EFS для использования.

rootDirectory -> (string)

Каталог в файловой системе Amazon EFS, который необходимо примонтировать в качестве корневого каталога внутри хоста. Если этот параметр опущен, вместо него используется корень тома Amazon EFS. Указание / имеет тот же эффект, что и пропуск этого параметра. Максимальная длина — 4096 символов.

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

Если точка доступа EFS указана в authorizationConfig , параметр корневого каталога должен быть либо опущен, либо установлен в / , что обеспечивает соблюдение пути, установленного в точке доступа Amazon EFS.

transitEncryption -> (string)

Определяет, следует ли включать шифрование для данных Amazon EFS при передаче между хостом Amazon ECS и сервером Amazon EFS. Шифрование при передаче должно быть включено, если используется авторизация Amazon EFS IAM. Если этот параметр опущен, используется значение по умолчанию DISABLED . Для получения дополнительной информации см. Encrypting data in transit в Amazon Elastic File System User Guide .

transitEncryptionPort -> (integer)

Порт для использования при отправке зашифрованных данных между хостом Amazon ECS и сервером Amazon EFS. Если вы не укажете порт шифрования при передаче, будет использоваться стратегия выбора порта, которую использует вспомогательная программа монтирования Amazon EFS. Значение должно быть в диапазоне от 0 до 65 535. Для получения дополнительной информации см. EFS mount helper в Amazon Elastic File System User Guide .

authorizationConfig -> (structure)

Сведения о конфигурации авторизации для файловой системы Amazon EFS.

accessPointId -> (string)

Идентификатор точки доступа Amazon EFS для использования. Если указана точка доступа, значение корневого каталога, указанное в EFSVolumeConfiguration , должно быть либо опущено, либо установлено в / , что обеспечивает соблюдение пути, установленного в точке доступа EFS. Если используется точка доступа, шифрование при передаче должно быть включено в EFSVolumeConfiguration . Для получения дополнительной информации см. Working with Amazon EFS access points в Amazon Elastic File System User Guide .

iam -> (string)

Использовать ли роль IAM задания Batch, определенную в определении задания, при монтировании файловой системы Amazon EFS. Если включено, шифрование при передаче должно быть включено в EFSVolumeConfiguration . Если этот параметр опущен, используется значение по умолчанию DISABLED . Для получения дополнительной информации см. Using Amazon EFS access points в Batch User Guide . Для авторизации EFS IAM требуется, чтобы TransitEncryption было ENABLED и чтобы JobRoleArn было указано.

environment -> (list)

Переменные среды для передачи в контейнер. Этот параметр сопоставляется с Env в разделе «Создание контейнера» в Docker Remote API и опцией --env для docker run .

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

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

Примечание

Переменные среды не могут начинаться с «AWS_BATCH “. Эта система именования зарезервирована для переменных, которые устанавливает Batch.

(structure)

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

name -> (string)

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

value -> (string)

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

mountPoints -> (list)

Точки монтирования для томов данных в вашем контейнере. Этот параметр сопоставляется с Volumes в разделе «Создание контейнера» в Docker Remote API и опцией --volume для docker run .

(structure)

Подробности точки монтирования тома Docker, которая используется в свойствах контейнера задания. Этот параметр сопоставляется с Volumes в разделе «Создание контейнера» в Docker Remote API и опцией --volume для docker run.

containerPath -> (string)

Путь в контейнере, по которому монтируется том хоста.

readOnly -> (boolean)

Если это значение true , контейнер имеет доступ только для чтения к тому. В противном случае контейнер может записывать в том. Значение по умолчанию — false .

sourceVolume -> (string)

Имя тома для монтирования.

readonlyRootFilesystem -> (boolean)

Когда этот параметр равен true, контейнеру предоставляется доступ только для чтения к его корневой файловой системе. Этот параметр сопоставляется с ReadonlyRootfs в разделе «Создание контейнера» в Docker Remote API и опцией --read-only для docker run .

privileged -> (boolean)

Когда этот параметр равен true, контейнеру предоставляются повышенные разрешения на экземпляре хост-контейнера (аналогично пользователю root ). Этот параметр сопоставляется с Privileged в разделе «Создание контейнера» в Docker Remote API и опцией --privileged для docker run . Значение по умолчанию — false.

Примечание

Этот параметр неприменим к заданиям, выполняемым на ресурсах Fargate, и не должен предоставляться или указываться как false.

ulimits -> (list)

Список ulimits для установки в контейнере. Этот параметр соответствует Ulimits в разделе Create a container в Docker Remote API и опции --ulimit в docker run.

Примечание

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

(структура)

Параметры ulimit для передачи контейнеру. Для получения дополнительной информации см. Ulimit.

Примечание

Этот объект не применим к заданиям, выполняемым на ресурсах Fargate.

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

Жесткий лимит для типа ulimit.

name -> (строка)

type типа ulimit. Допустимые значения: core | cpu | data | fsize | locks | memlock | msgqueue | nice | nofile | nproc | rss | rtprio | rttime | sigpending | stack.

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

Мягкий лимит для типа ulimit.

user -> (строка)

Имя пользователя для использования внутри контейнера. Этот параметр соответствует User в разделе Create a container в Docker Remote API и опции --user в docker run.

instanceType -> (строка)

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

Примечание

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

resourceRequirements -> (список)

Тип и объем ресурсов для назначения контейнеру. Поддерживаемые ресурсы включают GPU, MEMORY и VCPU.

(структура)

Тип и объем ресурса для назначения контейнеру. Поддерживаемые ресурсы включают GPU, MEMORY и VCPU.

value -> (строка)

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

type=”GPU”

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

Примечание

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

type=”MEMORY”

Жесткий лимит памяти (в МиБ), доступный контейнеру. Этот параметр поддерживается для заданий, выполняемых на ресурсах Amazon EC2. Если контейнер пытается превысить указанный объем памяти, контейнер завершает работу. Этот параметр соответствует Memory в разделе Create a container в Docker Remote API и опции --memory в docker run. Необходимо указать не менее 4 МиБ памяти для задания. Это обязательно, но может быть указано в нескольких местах для заданий, выполняемых параллельно с несколькими узлами (MNP). Он должен быть указан для каждого узла хотя бы один раз. Этот параметр соответствует Memory в разделе Create a container в Docker Remote API и опции --memory в docker run.

Примечание

Если вы пытаетесь максимизировать использование ресурсов, предоставляя своим заданиям как можно больше памяти для определенного типа экземпляра, см. Memory management в Batch User Guide.

Для заданий, выполняемых на ресурсах Fargate, value является жестким лимитом (в МиБ) и должен соответствовать одному из поддерживаемых значений, а значения VCPU должны соответствовать одному из значений, поддерживаемых для этого значения памяти.

value = 512

VCPU = 0.25

value = 1024

VCPU = 0.25 or 0.5

value = 2048

VCPU = 0.25, 0.5, or 1

value = 3072

VCPU = 0.5, or 1

value = 4096

VCPU = 0.5, 1, or 2

value = 5120, 6144, or 7168

VCPU = 1 or 2

value = 8192

VCPU = 1, 2, or 4

value = 9216, 10240, 11264, 12288, 13312, 14336, or 15360

VCPU = 2 or 4

value = 16384

VCPU = 2, 4, or 8

value = 17408, 18432, 19456, 21504, 22528, 23552, 25600, 26624, 27648, 29696, or 30720

VCPU = 4

value = 20480, 24576, or 28672

VCPU = 4 or 8

value = 36864, 45056, 53248, or 61440

VCPU = 8

value = 32768, 40960, 49152, or 57344

VCPU = 8 or 16

value = 65536, 73728, 81920, 90112, 98304, 106496, 114688, or 122880

VCPU = 16

type=”VCPU”

Количество vCPU, зарезервированных для контейнера. Этот параметр соответствует CpuShares в разделе Create a container в Docker Remote API и опции --cpu-shares в docker run. Каждый vCPU эквивалентен 1024 долям ЦП. Для ресурсов Amazon EC2 необходимо указать хотя бы один vCPU. Это обязательно, но может быть указано в нескольких местах; он должен быть указан для каждого узла хотя бы один раз.

По умолчанию для квоты ресурсов vCPU Fargate по требованию составляет 6 vCPU. Для получения дополнительной информации о квотах Fargate см. Fargate quotas в Amazon Web Services General Reference.

Для заданий, выполняемых на ресурсах Fargate, value должно соответствовать одному из поддерживаемых значений, а значения MEMORY должны соответствовать одному из значений, поддерживаемых для этого значения VCPU. Поддерживаемые значения: 0,25, 0,5, 1, 2, 4, 8 и 16

value = 0.25

MEMORY = 512, 1024, or 2048

value = 0.5

MEMORY = 1024, 2048, 3072, or 4096

value = 1

MEMORY = 2048, 3072, 4096, 5120, 6144, 7168, or 8192

value = 2

MEMORY = 4096, 5120, 6144, 7168, 8192, 9216, 10240, 11264, 12288, 13312, 14336, 15360, or 16384

value = 4

MEMORY = 8192, 9216, 10240, 11264, 12288, 13312, 14336, 15360, 16384, 17408, 18432, 19456, 20480, 21504, 22528, 23552, 24576, 25600, 26624, 27648, 28672, 29696, or 30720

value = 8

MEMORY = 16384, 20480, 24576, 28672, 32768, 36864, 40960, 45056, 49152, 53248, 57344, or 61440

value = 16

MEMORY = 32768, 40960, 49152, 57344, 65536, 73728, 81920, 90112, 98304, 106496, 114688, or 122880

type -> (string)

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

linuxParameters -> (structure)

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

devices -> (list)

Любые устройства хоста, которые нужно предоставить контейнеру. Этот параметр сопоставляется с Devices в разделе «Создание контейнера» в Docker Remote API и с опцией --device для docker run .

Примечание

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

(structure)

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

Примечание

Этот объект не применим к заданиям, выполняемым на ресурсах Fargate, и его не следует указывать.

hostPath -> (string)

Путь к устройству в экземпляре контейнера хоста.

containerPath -> (string)

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

permissions -> (list)

Явные разрешения, предоставляемые контейнеру для устройства. По умолчанию контейнер имеет разрешения read , write и mknod для устройства.

(string)

initProcessEnabled -> (boolean)

Если true, запускает процесс init внутри контейнера, который перенаправляет сигналы и собирает процессы. Этот параметр сопоставляется с опцией --init для docker run . Для этого параметра требуется версия 1.25 Docker Remote API или более поздняя в вашем экземпляре контейнера. Чтобы проверить версию Docker Remote API в экземпляре контейнера, войдите в свой экземпляр контейнера и выполните следующую команду: sudo docker version | grep "Server API version"

sharedMemorySize -> (integer)

Значение для размера (в МиБ) тома /dev/shm . Этот параметр сопоставляется с опцией --shm-size для docker run .

Примечание

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

tmpfs -> (list)

Путь к контейнеру, параметры монтирования и размер (в МиБ) точки монтирования tmpfs . Этот параметр сопоставляется с опцией --tmpfs для docker run .

Примечание

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

(structure)

Путь к контейнеру, параметры монтирования и размер точки монтирования tmpfs .

Примечание

Этот объект не применим к заданиям, выполняемым на ресурсах Fargate.

containerPath -> (string)

Абсолютный путь к файлу в контейнере, в котором смонтирован том tmpfs .

size -> (integer)

Размер (в МиБ) тома tmpfs .

mountOptions -> (list)

Список параметров монтирования тома tmpfs .

Valid values: “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 “

(string)

maxSwap -> (integer)

Общий объем памяти подкачки (в МиБ), который может использовать контейнер. Этот параметр преобразуется в опцию --memory-swap для docker run , где значение представляет собой сумму памяти контейнера плюс значение maxSwap . Дополнительную информацию см. в ` подробностях --memory-swap <https://docs.docker.com/config/containers/resource_constraints/#–memory-swap-details>`__ в документации Docker.

Если указано значение maxSwap 0 , контейнер не использует подкачку. Допустимые значения: 0 или любое положительное целое число. Если параметр maxSwap опущен, контейнер не использует конфигурацию подкачки для экземпляра контейнера, в котором он работает. Необходимо задать значение maxSwap для использования параметра swappiness .

Примечание

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

swappiness -> (integer)

Этот параметр можно использовать для настройки поведения подкачки памяти контейнера. Значение swappiness 0 приводит к тому, что подкачка не выполняется, если это абсолютно необходимо. Значение swappiness 100 приводит к агрессивной подкачке страниц. Допустимые значения — целые числа от 0 до 100 . Если параметр swappiness не указан, используется значение по умолчанию 60 . Если значение не указано для maxSwap , этот параметр игнорируется. Если maxSwap имеет значение 0, контейнер не использует подкачку. Этот параметр сопоставляется с опцией --memory-swappiness для docker run .

Рассмотрим следующее при использовании конфигурации подкачки для каждого контейнера.

  • Пространство подкачки должно быть включено и выделено в экземпляре контейнера для использования контейнерами.

Примечание

По умолчанию в оптимизированных образах Amazon ECS AMIs подкачка не включена. Необходимо включить подкачку в экземпляре, чтобы использовать эту функцию. Дополнительные сведения см. в разделе Тома подкачки хранилища экземпляров в Руководстве пользователя Amazon EC2 для экземпляров Linux или Как выделить память для работы в качестве пространства подкачки в экземпляре Amazon EC2 с использованием файла подкачки?
  • Параметры пространства подкачки поддерживаются только для определений заданий с использованием ресурсов EC2.
  • Если параметры maxSwap и swappiness опущены из определения задания, каждый контейнер имеет значение swappiness по умолчанию 60. Кроме того, общее использование подкачки ограничено двойным резервированием памяти контейнера.

Примечание

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

logConfiguration -> (structure)

Спецификация конфигурации журнала для контейнера.

Этот параметр отображается в LogConfig в разделе «Создать контейнер» в Docker Remote API и в параметре --log-driver для docker run. По умолчанию контейнеры используют тот же драйвер ведения журнала, который использует демон Docker. Однако контейнер может использовать другой драйвер ведения журнала, чем демон Docker, указав драйвер ведения журнала с этим параметром в определении контейнера. Чтобы использовать другой драйвер ведения журнала для контейнера, система ведения журнала должна быть настроена правильно в экземпляре контейнера (или на другом сервере журналов для параметров удаленного ведения журнала). Дополнительную информацию о параметрах для различных поддерживаемых драйверов журналов см. в разделе Настройка драйверов ведения журнала в документации Docker.

Примечание

В настоящее время Batch поддерживает подмножество драйверов ведения журнала, доступных для демона Docker (показано в типе данных LogConfiguration).

Этот параметр требует версию 1.18 Docker Remote API или выше в вашем экземпляре контейнера. Чтобы проверить версию Docker Remote API в вашем экземпляре контейнера, войдите в свой экземпляр контейнера и выполните следующую команду: sudo docker version | grep "Server API version"

Примечание

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

logDriver -> (string)

Драйвер журнала, используемый для контейнера. Допустимые значения, перечисленные для этого параметра, — это драйверы журналов, с которыми агент контейнера Amazon ECS может взаимодействовать по умолчанию.

Поддерживаемые драйверы журналов: awslogs, fluentd, gelf, json-file, journald, logentries, syslog и splunk.

Примечание

Задания, выполняемые на ресурсах Fargate, ограничены драйверами журналов awslogs и splunk.

awsfirelens

Указывает драйвер ведения журнала firelens. Дополнительную информацию о настройке Firelens см. в разделе Отправка журналов Amazon ECS в службу Amazon Web Services или партнер Amazon Web Services в Руководстве разработчика Amazon Elastic Container Service.

awslogs

Указывает драйвер ведения журнала Amazon CloudWatch Logs. Дополнительные сведения см. в разделах Использование драйвера журнала awslogs в Руководстве пользователя Batch и Драйвер ведения журнала Amazon CloudWatch Logs в документации Docker.

fluentd

Указывает драйвер ведения журнала Fluentd. Дополнительные сведения, включая использование и параметры, см. в разделе Драйвер ведения журнала Fluentd в документации Docker.

gelf

Указывает драйвер ведения журнала Graylog Extended Format (GELF). Дополнительные сведения, включая использование и параметры, см. в разделе Драйвер ведения журнала Graylog Extended Format в документации Docker.

journald

Указывает драйвер ведения журнала journald. Дополнительные сведения, включая использование и параметры, см. в разделе Драйвер ведения журнала Journald в документации Docker.

json-file

Указывает драйвер ведения журнала JSON. Дополнительные сведения, включая использование и параметры, см. в разделе Драйвер ведения журнала JSON File в документации Docker.

splunk

Указывает драйвер ведения журнала Splunk. Дополнительные сведения, включая использование и параметры, см. в разделе Драйвер ведения журнала Splunk в документации Docker.

syslog

Указывает драйвер ведения журнала syslog. Дополнительные сведения, включая использование и параметры, см. в разделе Драйвер ведения журнала Syslog в документации Docker.

Примечание

Если у вас есть собственный драйвер, который не указан выше и с которым вы хотите работать с агентом контейнера Amazon ECS, вы можете создать ответвление проекта агента контейнера Amazon ECS, доступного на GitHub, и настроить его для работы с этим драйвером. Мы рекомендуем вам отправлять запросы на вытягивание для изменений, которые вы хотите включить. Однако Amazon Web Services в настоящее время не поддерживает запуск измененных копий этого программного обеспечения.

Этот параметр требует версию 1.18 Docker Remote API или выше в вашем экземпляре контейнера. Чтобы проверить версию Docker Remote API в вашем экземпляре контейнера, войдите в свой экземпляр контейнера и выполните следующую команду: sudo docker version | grep "Server API version"

options -> (map)

Параметры конфигурации для отправки в драйвер журнала. Этот параметр требует версию 1.19 Docker Remote API или выше в вашем экземпляре контейнера. Чтобы проверить версию Docker Remote API в вашем экземпляре контейнера, войдите в свой экземпляр контейнера и выполните следующую команду: sudo docker version | grep "Server API version"

key -> (string)

value -> (string)

secretOptions -> (list)

Секреты для передачи в конфигурацию журнала. Дополнительные сведения см. в разделе Указание конфиденциальных данных в Руководстве пользователя Batch.

(structure)

Объект, представляющий секрет для предоставления контейнеру. Секреты могут быть предоставлены контейнеру следующими способами:

  • Чтобы внедрить конфиденциальные данные в ваши контейнеры в качестве переменных среды, используйте параметр определения контейнера secrets.
  • Чтобы сослаться на конфиденциальную информацию в конфигурации журнала контейнера, используйте параметр определения контейнера secretOptions.

Дополнительные сведения см. в разделе Указание конфиденциальных данных в Руководстве пользователя Batch.

name -> (string)

Имя секрета.

valueFrom -> (string)

Секрет, предоставляемый контейнеру. Поддерживаемые значения — это либо полный ARN секрета Secrets Manager, либо полный ARN параметра в магазине параметров Amazon Web Services Systems Manager.

Примечание

Если параметр магазина параметров Amazon Web Services Systems Manager существует в том же регионе, что и запускаемое вами задание, вы можете использовать либо полный ARN, либо имя параметра. Если параметр существует в другом регионе, необходимо указать полный ARN.

secrets -> (list)

Секреты для контейнера. Дополнительные сведения см. в разделе Указание конфиденциальных данных в Руководстве пользователя Batch.

(structure)

Объект, представляющий секрет для предоставления контейнеру. Секреты могут быть предоставлены контейнеру следующими способами:

  • Чтобы внедрить конфиденциальные данные в ваши контейнеры в качестве переменных среды, используйте параметр определения контейнера secrets.
  • Чтобы сослаться на конфиденциальную информацию в конфигурации журнала контейнера, используйте параметр определения контейнера secretOptions.

Дополнительные сведения см. в разделе Указание конфиденциальных данных в Руководстве пользователя Batch.

name -> (string)

Имя секрета.

valueFrom -> (string)

Секрет, предоставляемый контейнеру. Поддерживаемые значения — это либо полный ARN секрета Secrets Manager, либо полный ARN параметра в магазине параметров Amazon Web Services Systems Manager.

Примечание

Если параметр магазина параметров Amazon Web Services Systems Manager существует в том же регионе, что и запускаемое вами задание, вы можете использовать либо полный ARN, либо имя параметра. Если параметр существует в другом регионе, необходимо указать полный ARN.

networkConfiguration -> (structure)

Сетевая конфигурация для заданий, выполняемых на ресурсах Fargate. Задания, выполняемые на ресурсах Amazon EC2, не должны указывать этот параметр.

assignPublicIp -> (string)

Указывает, имеет ли задание общедоступный IP-адрес. Для задания, выполняемого на ресурсах Fargate в частной подсети, чтобы отправлять исходящий трафик в Интернет (например, для извлечения образов контейнеров), частной подсети требуется шлюз NAT, прикрепленный к маршрутизации запросов в Интернет. Дополнительные сведения см. в разделе Сеть задач Amazon ECS в Руководстве разработчика Amazon Elastic Container Service. Значение по умолчанию — «DISABLED».

fargatePlatformConfiguration -> (structure)

Конфигурация платформы для заданий, выполняемых на ресурсах Fargate. Задания, выполняемые на ресурсах Amazon EC2, не должны указывать этот параметр.

platformVersion -> (string)

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

enableExecuteCommand -> (boolean)

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

ephemeralStorage -> (structure)

Объем временного хранилища для выделения для задачи. Этот параметр используется для увеличения общего объема доступного временного хранилища, помимо значения по умолчанию, для задач, размещенных на Fargate.

sizeInGiB -> (integer)

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

runtimePlatform -> (structure)

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

operatingSystemFamily -> (string)

Операционная система для вычислительной среды. Допустимые значения: LINUX (по умолчанию), WINDOWS_SERVER_2019_CORE , WINDOWS_SERVER_2019_FULL , WINDOWS_SERVER_2022_CORE и WINDOWS_SERVER_2022_FULL .

Примечание

Следующие параметры нельзя установить для контейнеров Windows: linuxParameters , privileged , user , ulimits , readonlyRootFilesystem и efsVolumeConfiguration .

Примечание

Планировщик Batch проверяет вычислительные среды, прикрепленные к очереди заданий, прежде чем зарегистрировать определение задачи в Fargate. В этом случае очередь заданий — это место, куда отправляется задание. Если для задания требуется контейнер Windows, а первая вычислительная среда — LINUX , вычислительная среда пропускается, и проверяется следующая вычислительная среда, пока не будет найдена вычислительная среда на базе Windows.

Примечание

Fargate Spot не поддерживается для ARM64 и контейнеров на базе Windows в Fargate. Очередь заданий будет заблокирована, если задание Fargate ARM64 или Windows отправлено в очередь заданий только с вычислительными средами Fargate Spot. Однако вы можете прикрепить вычислительные среды FARGATE и FARGATE_SPOT к одной и той же очереди заданий.

cpuArchitecture -> (string)

Архитектура vCPU. Значение по умолчанию — X86_64 . Допустимые значения: X86_64 и ARM64 .

Примечание

Этот параметр должен быть установлен в X86_64 для контейнеров Windows.

Примечание

Fargate Spot не поддерживается для ARM64 и контейнеров на базе Windows в Fargate. Очередь заданий будет заблокирована, если задание Fargate ARM64 или Windows отправлено в очередь заданий только с вычислительными средами Fargate Spot. Однако вы можете прикрепить вычислительные среды FARGATE и FARGATE_SPOT к одной и той же очереди заданий.

repositoryCredentials -> (structure)

Учетные данные аутентификации частного репозитория для использования.

credentialsParameter -> (string)

Ресурс Amazon Name (ARN) секрета, содержащего учетные данные частного репозитория.

instanceTypes -> (list)

Типы экземпляров базовой хост-инфраструктуры параллельного задания с несколькими узлами.

Примечание

Этот параметр не применяется к заданиям, которые выполняются на ресурсах Fargate.

Кроме того, этот объект списка в настоящее время ограничен одним элементом.

(string)

ecsProperties -> (structure)

Это объект, представляющий свойства диапазона узлов для параллельного задания с несколькими узлами.

taskProperties -> (list)

Объект, содержащий свойства определения задачи Amazon ECS для задания.

Примечание

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

(structure)

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

containers -> (list)

Этот объект — список контейнеров.

(structure)

Свойства контейнера используются для определений заданий на основе Amazon ECS. Эти свойства описывают контейнер, который запускается как часть задания.

command -> (list)

Команда, передаваемая в контейнер. Этот параметр соответствует Cmd в разделе «Создание контейнера» удаленного API Docker и параметру COMMAND для docker run . Для получения дополнительной информации см. Dockerfile reference: CMD .

(string)

dependsOn -> (list)

Список контейнеров, от которых зависит этот контейнер.

(structure)

Список контейнеров, от которых зависит эта задача.

containerName -> (string)

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

condition -> (string)

Условие зависимости контейнера. Доступны следующие условия и их поведение:

  • START - Это условие эмулирует поведение ссылок и томов на сегодняшний день. Он проверяет, что зависимый контейнер запущен, прежде чем разрешить запуск других контейнеров.
  • COMPLETE - Это условие проверяет, что зависимый контейнер выполняется до завершения (выхода), прежде чем разрешить запуск других контейнеров. Это может быть полезно для несущественных контейнеров, которые запускают скрипт, а затем выходят. Это условие нельзя установить в важном контейнере.
  • SUCCESS - Это условие то же самое, что и COMPLETE , но также требует, чтобы контейнер вышел с нулевым статусом. Это условие нельзя установить в важном контейнере.

environment -> (list)

Переменные среды для передачи в контейнер. Этот параметр сопоставляется с Env в разделе «Создание контейнера» удаленного API Docker и параметром --env для docker run .

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

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

Примечание

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

(structure)

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

name -> (string)

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

value -> (string)

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

essential -> (boolean)

Если параметр essential контейнера помечен как true , и этот контейнер завершает работу или останавливается по какой-либо причине, все остальные контейнеры, являющиеся частью задачи, останавливаются. Если параметр essential контейнера помечен как false, его сбой не влияет на остальные контейнеры в задаче. Если этот параметр опущен, считается, что контейнер является важным.

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

firelensConfiguration -> (structure)

Конфигурация FireLens для контейнера. Это используется для указания и настройки маршрутизатора журналов для журналов контейнеров. Для получения дополнительной информации см. Custom log routing в Руководстве разработчика Amazon Elastic Container Service .

type -> (string)

Маршрутизатор журналов для использования. Допустимые значения: fluentd или fluentbit .

options -> (map)

Параметры, используемые при настройке маршрутизатора журналов. Это поле необязательно и может использоваться для указания настраиваемого файла конфигурации или добавления дополнительных метаданных, таких как задача, определение задачи, кластер и сведения об экземпляре контейнера в событие журнала. При указании используемый синтаксис — "options":{"enable-ecs-log-metadata":"true|false","config-file-type:"s3|file","config-file-value":"arn:aws:s3:::mybucket/fluent.conf|filepath"} . Для получения дополнительной информации см. Creating a task definition that uses a FireLens configuration в Руководстве разработчика Amazon Elastic Container Service .

key -> (string)

value -> (string)

image -> (string)

Образ, используемый для запуска контейнера. Эта строка передается непосредственно демону Docker. По умолчанию доступны образы в реестре Docker Hub. Другие репозитории указываются с помощью repository-url/image:tag или repository-url/image@digest . Разрешено до 255 букв (прописных и строчных), цифр, дефисов, подчеркиваний, двоеточий, точек, косых черт и знаков номера. Этот параметр соответствует Image в разделе «Создание контейнера» удаленного API Docker и параметру IMAGE параметра ` docker run https://docs.docker.com/engine/reference/run/#security-configuration`__.

linuxParameters -> (structure)

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

devices -> (list)

Любые устройства хоста, которые нужно предоставить контейнеру. Этот параметр сопоставляется с Devices в разделе Создание контейнера API Docker Remote и опцией --device в docker run.

Примечание

Этот параметр неприменим к заданиям, выполняющимся в ресурсах Fargate. Не указывайте его для этих заданий.

(структура)

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

Примечание

Этот объект неприменим к заданиям, выполняющимся в ресурсах Fargate, и его не следует предоставлять.

hostPath -> (string)

Путь к устройству в экземпляре контейнера хоста.

containerPath -> (string)

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

permissions -> (list)

Явные разрешения, которые нужно предоставить контейнеру для устройства. По умолчанию контейнер имеет разрешения для read, write и mknod для устройства.

(string)

initProcessEnabled -> (boolean)

Если true, запустите процесс init внутри контейнера, который пересылает сигналы и освобождает процессы. Этот параметр сопоставляется с опцией --init в docker run. Этот параметр требует версию 1.25 API Docker Remote или выше в экземпляре контейнера. Чтобы проверить версию API Docker Remote в экземпляре контейнера, войдите в экземпляр контейнера и выполните следующую команду: sudo docker version | grep "Server API version"

sharedMemorySize -> (integer)

Значение размера (в МиБ) тома /dev/shm. Этот параметр сопоставляется с опцией --shm-size в docker run.

Примечание

Этот параметр неприменим к заданиям, выполняющимся в ресурсах Fargate. Не указывайте его для этих заданий.

tmpfs -> (list)

Путь к контейнеру, параметры монтирования и размер (в МиБ) монтирования tmpfs. Этот параметр сопоставляется с опцией --tmpfs в docker run.

Примечание

Этот параметр неприменим к заданиям, выполняющимся в ресурсах Fargate. Не указывайте этот параметр для этого типа ресурсов.

(структура)

Путь к контейнеру, параметры монтирования и размер монтирования tmpfs.

Примечание

Этот объект неприменим к заданиям, выполняющимся в ресурсах Fargate.

containerPath -> (string)

Абсолютный путь к файлу в контейнере, где смонтирован том tmpfs.

size -> (integer)

Размер (в МиБ) тома tmpfs.

mountOptions -> (list)

Список параметров монтирования тома 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”

(string)

maxSwap -> (integer)

Общий объем памяти подкачки (в МиБ), который может использовать контейнер. Этот параметр преобразуется в опцию --memory-swap в docker run, где значение — это сумма памяти контейнера и значения maxSwap. Дополнительные сведения см. в разделе ` --memory-swap details <https://docs.docker.com/config/containers/resource_constraints/#–memory-swap-details>`__ в документации Docker.

Если указано значение maxSwap 0, контейнер не использует подкачку. Допустимые значения — 0 или любое положительное целое число. Если параметр maxSwap опущен, контейнер не использует конфигурацию подкачки для экземпляра контейнера, в котором он выполняется. Необходимо установить значение maxSwap для использования параметра swappiness.

Примечание

Этот параметр неприменим к заданиям, выполняющимся в ресурсах Fargate. Не указывайте его для этих заданий.

swappiness -> (integer)

Этот параметр можно использовать для настройки поведения подкачки памяти контейнера. Значение swappiness 0 приводит к тому, что подкачка не выполняется, если это абсолютно необходимо. Значение swappiness 100 приводит к агрессивной подкачке страниц. Допустимые значения — целые числа от 0 до 100. Если параметр swappiness не указан, используется значение по умолчанию 60. Если значение не указано для maxSwap, этот параметр игнорируется. Если maxSwap установлено значение 0, контейнер не использует подкачку. Этот параметр сопоставляется с опцией --memory-swappiness в docker run.

Учитывайте следующее при использовании конфигурации подкачки для каждого контейнера.

  • Пространство подкачки должно быть включено и выделено в экземпляре контейнера для использования контейнерами.

Примечание

По умолчанию оптимизированные AMI Amazon ECS не имеют включенной подкачки. Необходимо включить подкачку в экземпляре, чтобы использовать эту функцию. Дополнительные сведения см. в разделе «Тома подкачки хранилища экземпляра» в Руководстве пользователя Amazon EC2 для экземпляров Linux или «Как выделить память для работы в качестве пространства подкачки в экземпляре Amazon EC2 с помощью файла подкачки?».
  • Параметры пространства подкачки поддерживаются только для определений заданий, использующих ресурсы EC2.
  • Если параметры maxSwap и swappiness опущены из определения задания, каждый контейнер имеет значение swappiness по умолчанию 60. Кроме того, общее использование подкачки ограничено двойным резервированием памяти контейнера.

Примечание

Этот параметр неприменим к заданиям, выполняющимся в ресурсах Fargate. Не указывайте его для этих заданий.

logConfiguration -> (structure)

Спецификация конфигурации журнала для контейнера.

Этот параметр соответствует LogConfig в разделе Создание контейнера в Docker Remote API и параметру --log-driver в docker run .

По умолчанию контейнеры используют тот же драйвер журналирования, который использует демон Docker. Однако контейнер может использовать другой драйвер журналирования, чем демон 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 -> (string)

Драйвер журнала для использования для контейнера. Допустимые значения, перечисленные для этого параметра, — это драйверы журналов, с которыми агент контейнера Amazon ECS может взаимодействовать по умолчанию.

Поддерживаемые драйверы журналов: awslogs , fluentd , gelf , json-file , journald , logentries , syslog и splunk .

Примечание

Задания, выполняющиеся на ресурсах Fargate, ограничены драйверами журналов awslogs и splunk.

awsfirelens

Указывает драйвер журналирования firelens. Для получения дополнительной информации о настройке Firelens см. раздел Отправка журналов Amazon ECS в службу Amazon Web Services или партнера Amazon Web Services в Руководстве разработчика Amazon Elastic Container Service .

awslogs

Указывает драйвер журналирования Amazon CloudWatch Logs. Для получения дополнительной информации см. разделы Использование драйвера журнала awslogs в Руководстве пользователя Batch и Драйвер журналирования Amazon CloudWatch Logs в документации Docker.

fluentd

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

gelf

Указывает драйвер журналирования Graylog Extended Format (GELF). Для получения дополнительной информации, включая использование и параметры, см. раздел Драйвер журналирования Graylog Extended Format в документации Docker .

journald

Указывает драйвер журналирования journald. Для получения дополнительной информации, включая использование и параметры, см. раздел Драйвер журналирования Journald в документации Docker .

json-file

Указывает драйвер журналирования JSON file. Для получения дополнительной информации, включая использование и параметры, см. раздел Драйвер журналирования JSON File в документации Docker .

splunk

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

syslog

Указывает драйвер журналирования syslog. Для получения дополнительной информации, включая использование и параметры, см. раздел Драйвер журналирования Syslog в документации Docker .

Примечание

Если у вас есть собственный драйвер, не указанный ранее, с которым вы хотите работать с агентом контейнера Amazon ECS, вы можете разветвить проект агента контейнера Amazon ECS, доступный на GitHub, и настроить его для работы с этим драйвером. Мы рекомендуем вам отправлять запросы на включение изменений, которые вы хотите включить. Однако Amazon Web Services в настоящее время не поддерживает запуск измененных копий этого программного обеспечения.

Этот параметр требует версию 1.18 или более позднюю версию Docker Remote API в вашем экземпляре контейнера. Чтобы проверить версию Docker Remote API в вашем экземпляре контейнера, войдите в свой экземпляр контейнера и выполните следующую команду: sudo docker version | grep "Server API version"

options -> (map)

Параметры конфигурации, которые необходимо отправить драйверу журнала. Этот параметр требует версию 1.19 или более позднюю версию Docker Remote API в вашем экземпляре контейнера. Чтобы проверить версию Docker Remote API в вашем экземпляре контейнера, войдите в свой экземпляр контейнера и выполните следующую команду: sudo docker version | grep "Server API version"

key -> (string)

value -> (string)

secretOptions -> (list)

Секреты для передачи конфигурации журнала. Для получения дополнительной информации см. раздел Указание конфиденциальных данных в Руководстве пользователя Batch .

(structure)

Объект, представляющий секрет, который нужно предоставить вашему контейнеру. Секреты можно предоставить контейнеру следующими способами:

  • Чтобы внедрить конфиденциальные данные в ваши контейнеры в виде переменных среды, используйте параметр определения контейнера secrets.
  • Чтобы сослаться на конфиденциальную информацию в конфигурации журнала контейнера, используйте параметр определения контейнера secretOptions.

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

name -> (string)

Имя секрета.

valueFrom -> (string)

Секрет, который нужно предоставить контейнеру. Поддерживаемыми значениями являются полный ARN секрета Secrets Manager или полный ARN параметра в Amazon Web Services Systems Manager Parameter Store.

Примечание

Если параметр Amazon Web Services Systems Manager Parameter Store существует в том же регионе, что и задание, которое вы запускаете, вы можете использовать либо полный Amazon Resource Name (ARN), либо имя параметра. Если параметр существует в другом регионе, необходимо указать полный ARN.

mountPoints -> (list)

Точки монтирования для томов данных в вашем контейнере.

Этот параметр соответствует Volumes в разделе Создание контейнера в Docker Remote API и параметру –volume для `docker run .

Контейнеры Windows могут монтировать целые каталоги на тот же диск, что и $env:ProgramData . Контейнеры Windows не могут монтировать каталоги на другом диске, и точка монтирования не может быть между дисками.

(structure)

Подробности точки монтирования тома Docker, которая используется в свойствах контейнера задания. Этот параметр соответствует Volumes в разделе Создание контейнера в Docker Remote API и параметру --volume для docker run.

containerPath -> (string)

Путь в контейнере, где смонтирован том хоста.

readOnly -> (boolean)

Если это значение true , контейнер имеет доступ к тому только для чтения. В противном случае контейнер может записывать в том. Значение по умолчанию — false .

sourceVolume -> (string)

Имя тома для монтирования.

name -> (string)

Имя контейнера. Имя можно использовать в качестве уникального идентификатора для целевых объектов dependsOn и Overrides .

privileged -> (boolean)

Когда этот параметр имеет значение true , контейнеру предоставляются повышенные привилегии в экземпляре контейнера хоста (аналогично пользователю root ). Этот параметр соответствует Privileged в разделе Создание контейнера в Docker Remote API и параметру --privileged для docker run .

Примечание

Этот параметр не поддерживается для контейнеров Windows или задач, выполняемых в Fargate.

readonlyRootFilesystem -> (boolean)

Когда этот параметр имеет значение true, контейнеру предоставляется доступ только для чтения к его корневой файловой системе. Этот параметр соответствует ReadonlyRootfs в разделе Создание контейнера в Docker Remote API и параметру --read-only для docker run .

Примечание

Этот параметр не поддерживается для контейнеров Windows.

repositoryCredentials -> (structure)

Учетные данные аутентификации частного репозитория для использования.

credentialsParameter -> (string)

ARN секрета, содержащего учетные данные частного репозитория.

resourceRequirements -> (list)

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

(структура)

Тип и объем ресурса, который необходимо назначить контейнеру. Поддерживаемые ресурсы включают GPU , MEMORY и VCPU .

value -> (string)

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

type=”GPU”

Количество физических GPU, которые необходимо зарезервировать для контейнера. Убедитесь, что количество GPU, зарезервированных для всех контейнеров в задании, не превышает количество доступных GPU на вычислительном ресурсе, на котором запускается задание.

Примечание

GPU недоступны для заданий, которые выполняются на ресурсах Fargate.

type=”MEMORY”

Жесткий лимит памяти (в МиБ), присутствующий в контейнере. Этот параметр поддерживается для заданий, которые выполняются на ресурсах Amazon EC2. Если ваш контейнер попытается превысить указанный объем памяти, контейнер будет завершен. Этот параметр соответствует Memory в разделе Create a container в Docker Remote API и параметру --memory для docker run . Для задания необходимо указать не менее 4 МиБ памяти. Это обязательно, но может быть указано в нескольких местах для многоузловых параллельных (MNP) заданий. Он должен быть указан для каждого узла хотя бы один раз. Этот параметр соответствует Memory в разделе Create a container в Docker Remote API и параметру --memory для docker run .

Примечание

Если вы пытаетесь максимизировать использование ресурсов, предоставляя своим заданиям как можно больше памяти для конкретного типа экземпляра, см. раздел Memory management в Batch User Guide .

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

value = 512

VCPU = 0.25

value = 1024

VCPU = 0.25 or 0.5

value = 2048

VCPU = 0.25, 0.5, or 1

value = 3072

VCPU = 0.5, or 1

value = 4096

VCPU = 0.5, 1, or 2

value = 5120, 6144, or 7168

VCPU = 1 or 2

value = 8192

VCPU = 1, 2, or 4

value = 9216, 10240, 11264, 12288, 13312, 14336, or 15360

VCPU = 2 or 4

value = 16384

VCPU = 2, 4, or 8

value = 17408, 18432, 19456, 21504, 22528, 23552, 25600, 26624, 27648, 29696, or 30720

VCPU = 4

value = 20480, 24576, or 28672

VCPU = 4 or 8

value = 36864, 45056, 53248, or 61440

VCPU = 8

value = 32768, 40960, 49152, or 57344

VCPU = 8 or 16

value = 65536, 73728, 81920, 90112, 98304, 106496, 114688, or 122880

VCPU = 16

type=”VCPU”

Количество vCPU, зарезервированных для контейнера. Этот параметр соответствует CpuShares в разделе Create a container в Docker Remote API и параметру --cpu-shares для docker run . Каждый vCPU эквивалентен 1024 долям ЦП. Для ресурсов Amazon EC2 необходимо указать не менее одного vCPU. Это обязательно, но может быть указано в нескольких местах; его необходимо указать для каждого узла хотя бы один раз.

По умолчанию для квоты ресурсов Fargate On-Demand vCPU установлено значение 6 vCPU. Дополнительные сведения о квотах Fargate см. в разделе Fargate quotas в Amazon Web Services General Reference .

Для заданий, которые выполняются на ресурсах Fargate, value должно соответствовать одному из поддерживаемых значений, а значения MEMORY должны быть одним из значений, поддерживаемых для этого значения VCPU . Поддерживаемые значения: 0.25, 0.5, 1, 2, 4, 8 и 16.

value = 0.25

MEMORY = 512, 1024, or 2048

value = 0.5

MEMORY = 1024, 2048, 3072, or 4096

value = 1

MEMORY = 2048, 3072, 4096, 5120, 6144, 7168, or 8192

value = 2

MEMORY = 4096, 5120, 6144, 7168, 8192, 9216, 10240, 11264, 12288, 13312, 14336, 15360, or 16384

value = 4

MEMORY = 8192, 9216, 10240, 11264, 12288, 13312, 14336, 15360, 16384, 17408, 18432, 19456, 20480, 21504, 22528, 23552, 24576, 25600, 26624, 27648, 28672, 29696, or 30720

value = 8

MEMORY = 16384, 20480, 24576, 28672, 32768, 36864, 40960, 45056, 49152, 53248, 57344, or 61440

value = 16

MEMORY = 32768, 40960, 49152, 57344, 65536, 73728, 81920, 90112, 98304, 106496, 114688, or 122880

type -> (string)

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

secrets -> (list)

Секреты, которые необходимо передать в контейнер. Дополнительные сведения см. в разделе Specifying Sensitive Data в Руководстве разработчика Amazon Elastic Container Service.

(структура)

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

  • Чтобы внедрить конфиденциальные данные в ваши контейнеры в виде переменных среды, используйте параметр определения контейнера secrets .
  • Чтобы ссылаться на конфиденциальную информацию в конфигурации журнала контейнера, используйте параметр определения контейнера secretOptions .

Дополнительные сведения см. в разделе Указание конфиденциальных данных в Batch User Guide .

name -> (string)

Имя секрета.

valueFrom -> (string)

Секрет для предоставления контейнеру. Поддерживаются либо полный ARN секрета Secrets Manager, либо полный ARN параметра в Amazon Web Services Systems Manager Parameter Store.

Примечание

Если параметр Amazon Web Services Systems Manager Parameter Store существует в том же регионе, что и запускаемое задание, можно использовать либо полный ARN, либо имя параметра. Если параметр существует в другом регионе, необходимо указать полный ARN.

ulimits -> (list)

Список ulimits для установки в контейнере. Если в определении задачи указано значение ulimit , оно переопределяет значения по умолчанию, заданные Docker. Этот параметр соответствует Ulimits в разделе Create a container в Docker Remote API и параметру --ulimit для docker run .

Задачи Amazon ECS, размещенные в Fargate, используют значения пределов ресурсов по умолчанию, заданные операционной системой, за исключением параметра предела ресурсов nofile, который Fargate переопределяет. Предел ресурсов nofile устанавливает ограничение на количество открытых файлов, которые может использовать контейнер. Значение по умолчанию для мягкого лимита nofile составляет 1024 , а жесткий лимит по умолчанию составляет 65535 .

Этот параметр требует версии 1.18 Docker Remote API или выше на экземпляре контейнера. Чтобы проверить версию Docker Remote API на экземпляре контейнера, войдите в свой экземпляр контейнера и выполните следующую команду: sudo docker version --format '{{.Server.APIVersion}}'

Примечание

Этот параметр не поддерживается для контейнеров Windows.

(структура)

Параметры ulimit для передачи в контейнер. Дополнительные сведения см. в разделе Ulimit .

Примечание

Этот объект не применяется к заданиям, которые выполняются на ресурсах Fargate.

hardLimit -> (integer)

Жесткий предел для типа ulimit .

name -> (string)

type ulimit . Допустимые значения: core | cpu | data | fsize | locks | memlock | msgqueue | nice | nofile | nproc | rss | rtprio | rttime | sigpending | stack .

softLimit -> (integer)

Мягкий предел для типа ulimit .

user -> (string)

Пользователь, который будет использоваться внутри контейнера. Этот параметр соответствует User в разделе Create a container в Docker Remote API и параметру –user для docker run.

Примечание

При запуске задач с использованием сетевого режима host , не запускайте контейнеры с использованием root user (UID 0) . Мы рекомендуем использовать пользователя, не являющегося root, для повышения безопасности.

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

  • user
  • user:group
  • uid
  • uid:gid
  • user:gi
  • uid:group

Примечание

Этот параметр не поддерживается для контейнеров Windows.

ephemeralStorage -> (structure)

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

sizeInGiB -> (integer)

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

executionRoleArn -> (string)

ARN (Amazon Resource Name) роли выполнения, которую Batch может принять. Для заданий, которые выполняются на ресурсах Fargate, необходимо предоставить роль выполнения. Дополнительные сведения см. в разделе Batch execution IAM role в Batch User Guide .

platformVersion -> (string)

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

ipcMode -> (string)

```

Пространство имен ресурсов IPC для использования контейнерами в задаче. Допустимые значения: host , task или none .

Если указано host , все контейнеры в задачах, которые указали режим IPC host в том же экземпляре контейнера, совместно используют одни и те же ресурсы IPC с экземпляром Amazon EC2 хоста.

Если указано task , все контейнеры в указанном task совместно используют одни и те же ресурсы IPC.

Если указано none , ресурсы IPC в контейнерах задачи являются частными и не используются совместно с другими контейнерами в задаче или в экземпляре контейнера.

Если значение не указано, совместное использование пространства имен ресурсов IPC зависит от настройки демона Docker в экземпляре контейнера. Дополнительные сведения см. в разделе Настройки IPC в справочнике по запуску Docker.

taskRoleArn -> (string)

Имя ресурса Amazon (ARN), связанное с задачей Amazon ECS.

Примечание

Это объект сопоставим с ContainerProperties:jobRoleArn .

pidMode -> (string)

Пространство имен процессов для использования контейнерами в задаче. Допустимые значения: host или task . Например, вспомогательным модулям мониторинга может потребоваться pidMode для доступа к информации о других контейнерах, работающих в той же задаче.

Если указано host , все контейнеры в задачах, которые указали режим PID host в том же экземпляре контейнера, совместно используют пространство имен процессов с экземпляром Amazon EC2 хоста.

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

Если значение не указано, по умолчанию используется частное пространство имен для каждого контейнера. Дополнительные сведения см. в разделе Настройки PID в справочнике по запуску Docker.

networkConfiguration -> (structure)

Настройка сети для задач, выполняемых на ресурсах Fargate. Задачи, выполняемые на ресурсах Amazon EC2, не должны указывать этот параметр.

assignPublicIp -> (string)

Указывает, имеет ли задача общедоступный IP-адрес. Для задачи, выполняемой на ресурсах Fargate в частной подсети для отправки исходящего трафика в Интернет (например, для извлечения образов контейнеров), частная подсеть требует, чтобы был прикреплен NAT-шлюз для маршрутизации запросов в Интернет. Дополнительные сведения см. в разделе Сеть задач Amazon ECS в Руководстве разработчика Amazon Elastic Container Service . Значение по умолчанию — «DISABLED «.

runtimePlatform -> (structure)

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

operatingSystemFamily -> (string)

Операционная система для вычислительной среды. Допустимые значения: LINUX (по умолчанию), WINDOWS_SERVER_2019_CORE , WINDOWS_SERVER_2019_FULL , WINDOWS_SERVER_2022_CORE и WINDOWS_SERVER_2022_FULL .

Примечание

Следующие параметры нельзя задать для контейнеров Windows: linuxParameters , privileged , user , ulimits , readonlyRootFilesystem и efsVolumeConfiguration .

Примечание

Batch Scheduler проверяет вычислительные среды, прикрепленные к очереди заданий, прежде чем регистрировать определение задачи с помощью Fargate. В этом сценарии очередь заданий — это место, где отправляется задание. Если заданию требуется контейнер Windows, а первая вычислительная среда — LINUX , вычислительная среда пропускается и проверяется следующая вычислительная среда, пока не будет найдена вычислительная среда на основе Windows.

Примечание

Fargate Spot не поддерживается для ARM64 и контейнеров на основе Windows в Fargate. Очередь заданий будет заблокирована, если задание Fargate ARM64 или задание Windows отправлено в очередь заданий только с вычислительными средами Fargate Spot. Однако можно прикрепить вычислительные среды FARGATE и FARGATE_SPOT к одной и той же очереди заданий.

cpuArchitecture -> (string)

Архитектура vCPU. Значение по умолчанию — X86_64 . Допустимые значения: X86_64 и ARM64 .

Примечание

Этот параметр должен быть установлен в X86_64 для контейнеров Windows.

Примечание

Fargate Spot не поддерживается для ARM64 и контейнеров на основе Windows в Fargate. Очередь заданий будет заблокирована, если задание Fargate ARM64 или задание Windows отправлено в очередь заданий только с вычислительными средами Fargate Spot. Однако можно прикрепить вычислительные среды FARGATE и FARGATE_SPOT к одной и той же очереди заданий.

volumes -> (list)

Список томов, связанных с заданием.

(structure)

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

host -> (structure)

Содержимое параметра host определяет, сохраняется ли ваш том данных в экземпляре контейнера хоста и где он хранится. Если параметр host пуст, демон Docker назначает путь хоста для вашего тома данных. Однако данные не гарантированно сохраняются после прекращения работы контейнеров, связанных с ним.

Примечание

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

sourcePath -> (string)

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

Примечание

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

name -> (string)

Имя тома. Оно может содержать до 255 символов. Оно может содержать прописные и строчные буквы, цифры, дефисы (-) и символы подчеркивания (_). Эта ссылка на имя в параметре sourceVolume определения контейнера mountPoints .

efsVolumeConfiguration -> (structure)

Этот параметр указывается при использовании файловой системы Amazon Elastic File System для хранения заданий. Задания, выполняемые на ресурсах Fargate, должны указывать platformVersion не менее 1.4.0 .

fileSystemId -> (string)

Идентификатор файловой системы Amazon EFS для использования.

rootDirectory -> (string)

Каталог в файловой системе Amazon EFS, который необходимо подключить в качестве корневого каталога внутри хоста. Если этот параметр опущен, вместо этого используется корень тома Amazon EFS. Указание / имеет тот же эффект, что и опускание этого параметра. Максимальная длина — 4096 символов.

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

Если точка доступа EFS указана в authorizationConfig , параметр root directory должен быть либо опущен, либо установлен в / , что обеспечивает соблюдение пути, установленного в точке доступа Amazon EFS.

transitEncryption -> (string)

Определяет, следует ли включать шифрование для данных Amazon EFS в пути между хостом Amazon ECS и сервером Amazon EFS. Шифрование в пути должно быть включено, если используется авторизация Amazon EFS IAM. Если этот параметр опущен, используется значение по умолчанию DISABLED . Дополнительные сведения см. в разделе Шифрование данных в пути в Руководстве пользователя Amazon Elastic File System .

transitEncryptionPort -> (integer)

Порт для использования при отправке зашифрованных данных между хостом Amazon ECS и сервером Amazon EFS. Если вы не укажете порт шифрования в пути, будет использоваться стратегия выбора порта, которую использует вспомогательная программа монтирования Amazon EFS. Значение должно быть в диапазоне от 0 до 65 535. Дополнительные сведения см. в разделе Вспомогательная программа монтирования EFS в Руководстве пользователя Amazon Elastic File System .

authorizationConfig -> (structure)

Сведения о конфигурации авторизации для файловой системы Amazon EFS.

accessPointId -> (string)

Идентификатор точки доступа Amazon EFS для использования. Если указана точка доступа, значение root directory, указанное в EFSVolumeConfiguration , должно быть либо опущено, либо установлено в / , что обеспечивает соблюдение пути, установленного в точке доступа EFS. Если используется точка доступа, шифрование в пути должно быть включено в EFSVolumeConfiguration . Дополнительные сведения см. в разделе Работа с точками доступа Amazon EFS в Руководстве пользователя Amazon Elastic File System .

iam -> (string)

Следует ли использовать роль IAM задания Batch, определенную в определении задания, при монтировании файловой системы Amazon EFS. Если этот параметр включен, шифрование в пути должно быть включено в EFSVolumeConfiguration . Если этот параметр опущен, используется значение по умолчанию DISABLED . Дополнительные сведения см. в разделе Использование точек доступа Amazon EFS в Руководстве пользователя Batch . Для авторизации EFS IAM требуется, чтобы TransitEncryption было ENABLED и было указано JobRoleArn .

enableExecuteCommand -> (boolean)

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

eksProperties -> (structure)

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

podProperties -> (structure)

Свойства ресурсов pod Kubernetes для задания.

serviceAccountName -> (string)

Имя учетной записи службы, используемой для запуска pod. Для получения дополнительной информации см. Kubernetes service accounts and Configure a Kubernetes service account to assume an IAM role in the Amazon EKS User Guide и Configure service accounts for pods in the Kubernetes documentation .

hostNetwork -> (boolean)

Указывает, использует ли pod сетевой IP-адрес хоста. Значение по умолчанию — true . Установка этого значения в false включает модель сети pod Kubernetes. Большинство рабочих нагрузок Batch предназначены только для исходящего трафика и не требуют накладных расходов на выделение IP для каждого pod для входящих подключений. Для получения дополнительной информации см. Host namespaces and Pod networking in the Kubernetes documentation .

dnsPolicy -> (string)

Политика DNS для pod. Значение по умолчанию — ClusterFirst . Если параметр hostNetwork не указан, то по умолчанию используется ClusterFirstWithHostNet . ClusterFirst указывает, что любой DNS-запрос, не соответствующий настроенному суффиксу домена кластера, пересылается на вышестоящий nameserver, унаследованный от узла. Для получения дополнительной информации см. Pod’s DNS policy in the Kubernetes documentation .

Допустимые значения: Default | ClusterFirst | ClusterFirstWithHostNet

imagePullSecrets -> (list)

Ссылается на ресурс секрета Kubernetes. Он содержит список секретов. Эти секреты помогают получить доступ к извлечению образов из частного реестра.

ImagePullSecret$name требуется, когда этот объект используется.

(structure)

Ссылается на ресурс секрета Kubernetes. Это имя секрета должно начинаться и заканчиваться буквенно-цифровым символом, должно быть в нижнем регистре, может содержать точки (.) и дефисы (-) и не может содержать более 253 символов.

name -> (string)

Предоставляет уникальный идентификатор для ImagePullSecret . Этот объект требуется при использовании EksPodProperties$imagePullSecrets .

containers -> (list)

Свойства контейнера, используемого в pod Amazon EKS.

Примечание

Этот объект ограничен 10 элементами.

(structure)

Свойства контейнера EKS используются в определениях заданий для определений заданий на основе Amazon EKS для описания свойств узла контейнера в pod, который запускается как часть задания. Это нельзя указать для определений заданий на основе Amazon ECS.

name -> (string)

Имя контейнера. Если имя не указано, используется имя по умолчанию “Default “. Каждый контейнер в pod должен иметь уникальное имя.

image -> (string)

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

imagePullPolicy -> (string)

Политика извлечения образа для контейнера. Поддерживаемые значения: Always , IfNotPresent и Never . Этот параметр по умолчанию равен IfNotPresent . Однако, если указан тег :latest , по умолчанию используется Always . Для получения дополнительной информации см. Updating images in the Kubernetes documentation .

command -> (list)

Точка входа для контейнера. Это не выполняется в оболочке. Если это не указано, используется ENTRYPOINT образа контейнера. Ссылки на переменные среды расширяются с использованием среды контейнера.

Если ссылочная переменная среды не существует, ссылка в команде не изменяется. Например, если ссылка относится к “$(NAME1) “ и переменная среды NAME1 не существует, строка команды останется “$(NAME1) .” $$ заменяется на $ , и результирующая строка не расширяется. Например, $$(VAR_NAME) будет передано как $(VAR_NAME) , независимо от того, существует ли переменная среды VAR_NAME . Точку входа нельзя обновить. Для получения дополнительной информации см. ENTRYPOINT in the Dockerfile reference и Define a command and arguments for a container and Entrypoint in the Kubernetes documentation .

(string)

args -> (list)

Массив аргументов для точки входа. Если это не указано, используется CMD образа контейнера. Это соответствует члену args в разделе Entrypoint pod в Kubernetes. Ссылки на переменные среды расширяются с использованием среды контейнера.

Если ссылочная переменная среды не существует, ссылка в команде не изменяется. Например, если ссылка относится к “$(NAME1) “ и переменная среды NAME1 не существует, строка команды останется “$(NAME1) .” $$ заменяется на $ , и результирующая строка не расширяется. Например, $$(VAR_NAME) передается как $(VAR_NAME) , независимо от того, существует ли переменная среды VAR_NAME . Для получения дополнительной информации см. Dockerfile reference: CMD и Define a command and arguments for a pod in the Kubernetes documentation .

(string)

env -> (list)

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

Примечание

Переменные среды не могут начинаться с “AWS_BATCH “. Это соглашение об именовании зарезервировано для переменных, которые устанавливает Batch.

(structure)

Переменная среды.

name -> (string)

Имя переменной среды.

value -> (string)

Значение переменной среды.

resources -> (structure)

Тип и объем ресурсов, которые необходимо назначить контейнеру. Поддерживаемые ресурсы включают memory , cpu и nvidia.com/gpu . Для получения дополнительной информации см. Resource management for pods and containers in the Kubernetes documentation .

limits -> (map)

Тип и количество ресурсов, которые необходимо зарезервировать для контейнера. Значения зависят от указанного name . Ресурсы можно запросить с помощью объектов limits или requests .

memory

Жесткий предел памяти (в МиБ) для контейнера с использованием целых чисел с суффиксом «Mi». Если ваш контейнер пытается превысить указанный объем памяти, контейнер завершается. Необходимо указать не менее 4 МиБ памяти для задания. memory можно указать в limits , requests или в обоих. Если memory указан в обоих местах, то значение, указанное в limits , должно быть равно значению, указанному в requests .

Примечание

Чтобы максимально использовать ресурсы, предоставьте своим заданиям как можно больше памяти для конкретного типа экземпляра, который вы используете. Чтобы узнать, как это сделать, см. Memory management in the Batch User Guide .

cpu

Количество процессоров, зарезервированных для контейнера. Значения должны быть четными кратными 0.25 . cpu можно указать в limits , requests или в обоих. Если cpu указан в обоих местах, то значение, указанное в limits , должно быть по крайней мере таким же большим, как значение, указанное в requests .

nvidia.com/gpu

Количество графических процессоров, зарезервированных для контейнера. Значения должны быть целым числом. memory можно указать в limits , requests или в обоих. Если memory указан в обоих местах, то значение, указанное в limits , должно быть равно значению, указанному в requests .

key -> (string)

value -> (string)

requests -> (map)

Тип и количество ресурсов, которые необходимо запросить для контейнера. Значения зависят от указанного name . Ресурсы можно запросить с помощью объектов limits или requests .

memory

Жесткий предел памяти (в МиБ) для контейнера с использованием целых чисел с суффиксом «Mi». Если ваш контейнер пытается превысить указанный объем памяти, контейнер завершается. Необходимо указать не менее 4 МиБ памяти для задания. memory можно указать в limits , requests или в обоих. Если memory указан в обоих, то значение, указанное в limits , должно быть равно значению, указанному в requests .

Примечание

Если вы пытаетесь максимально использовать ресурсы, предоставив своим заданиям как можно больше памяти для определенного типа экземпляра, см. Memory management in the Batch User Guide .

cpu

Количество процессоров, зарезервированных для контейнера. Значения должны быть четными кратными 0.25 . cpu можно указать в limits , requests или в обоих. Если cpu указан в обоих, то значение, указанное в limits , должно быть по крайней мере таким же большим, как значение, указанное в requests .

nvidia.com/gpu

Количество графических процессоров, зарезервированных для контейнера. Значения должны быть целым числом. nvidia.com/gpu можно указать в limits , requests или в обоих. Если nvidia.com/gpu указан в обоих местах, то значение, указанное в limits , должно быть равно значению, указанному в requests .

key -> (string)

value -> (string)

volumeMounts -> (list)

Точки монтирования томов для контейнера. Batch поддерживает типы томов emptyDir , hostPath и secret . Для получения дополнительной информации о томах и точках монтирования томов в Kubernetes см. Volumes in the Kubernetes documentation .

(structure)

Точки монтирования томов для контейнера для задания Amazon EKS. Для получения дополнительной информации о томах и точках монтирования томов в Kubernetes см. Volumes in the Kubernetes documentation .

name -> (string)

Имя точки монтирования тома. Оно должно соответствовать имени одного из томов в pod.

mountPath -> (string)

Путь в контейнере, где смонтирован том.

subPath -> (string)

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

readOnly -> (boolean)

Если это значение true , контейнер имеет доступ к тому только для чтения. В противном случае контейнер может записывать данные на том. Значение по умолчанию — false .

securityContext -> (structure)

Контекст безопасности для задания. Для получения дополнительной информации см. раздел «Настройка контекста безопасности для pod или контейнера» в документации Kubernetes.

runAsUser -> (long)

Когда этот параметр указан, контейнер запускается под указанным идентификатором пользователя (uid). Если этот параметр не указан, по умолчанию используется пользователь, указанный в метаданных изображения. Этот параметр соответствует RunAsUser и политике MustRanAs в политиках безопасности pod Users and groups в документации Kubernetes.

runAsGroup -> (long)

Когда этот параметр указан, контейнер запускается под указанным идентификатором группы (gid). Если этот параметр не указан, по умолчанию используется группа, указанная в метаданных изображения. Этот параметр соответствует политике RunAsGroup и MustRunAs в политиках безопасности pod Users and groups в документации Kubernetes.

privileged -> (boolean)

Когда этот параметр true, контейнеру предоставляются повышенные разрешения на экземпляре хост-контейнера. Уровень разрешений аналогичен разрешениям пользователя root. Значение по умолчанию — false. Этот параметр соответствует политике privileged в политиках безопасности pod Privileged в документации Kubernetes.

allowPrivilegeEscalation -> (boolean)

Разрешено ли контейнеру или pod Kubernetes получать больше привилегий, чем его родительский процесс. Значение по умолчанию — false.

readOnlyRootFilesystem -> (boolean)

Когда этот параметр true, контейнеру предоставляется доступ только для чтения к его корневой файловой системе. Значение по умолчанию — false. Этот параметр соответствует политике ReadOnlyRootFilesystem в политиках безопасности pod Volumes and file systems в документации Kubernetes.

runAsNonRoot -> (boolean)

Когда этот параметр указан, контейнер запускается как пользователь с uid, отличным от 0. Если этот параметр не указан, такое правило не применяется. Этот параметр соответствует политике RunAsUser и MustRunAsNonRoot в политиках безопасности pod Users and groups в документации Kubernetes.

initContainers -> (list)

Эти контейнеры запускаются перед контейнерами приложений, всегда выполняются до завершения и должны успешно завершиться до запуска следующего контейнера. Эти контейнеры регистрируются с помощью агента Amazon EKS Connector и сохраняют информацию о регистрации в хранилище данных Kubernetes. Для получения дополнительной информации см. раздел Init Containers в документации Kubernetes.

Примечание

Этот объект ограничен 10 элементами.

(структура)

Свойства контейнера EKS используются в определениях заданий для определений заданий на основе Amazon EKS, чтобы описать свойства узла контейнера в pod, который запускается как часть задания. Это нельзя указать для определений заданий на основе Amazon ECS.

name -> (string)

Имя контейнера. Если имя не указано, используется имя по умолчанию "Default". Каждый контейнер в pod должен иметь уникальное имя.

image -> (string)

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

imagePullPolicy -> (string)

Политика извлечения образов для контейнера. Поддерживаемые значения: Always, IfNotPresent и Never. Этот параметр по умолчанию имеет значение IfNotPresent. Однако, если указан тег :latest, по умолчанию используется Always. Для получения дополнительной информации см. раздел Обновление изображений в документации Kubernetes.

command -> (list)

Точка входа для контейнера. Он не выполняется внутри оболочки. Если это не указано, используется ENTRYPOINT образа контейнера. Ссылки на переменные среды расширяются с использованием среды контейнера.

Если ссылочная переменная среды не существует, ссылка в команде не изменяется. Например, если ссылка относится к "$(NAME1)" и переменная среды NAME1 не существует, командная строка останется "$(NAME1)". $$ заменяется на $, и результирующая строка не расширяется. Например, $$(VAR_NAME) будет передан как $(VAR_NAME) независимо от того, существует ли переменная среды VAR_NAME. Точку входа нельзя обновить. Для получения дополнительной информации см. ENTRYPOINT в справке Dockerfile и Определите команду и аргументы для контейнера и Точку входа в документации Kubernetes.

(string)

args -> (list)

Массив аргументов для точки входа. Если это не указано, используется CMD образа контейнера. Это соответствует члену args в разделе Entrypoint pod в Kubernetes. Ссылки на переменные среды расширяются с использованием среды контейнера.

Если ссылочная переменная среды не существует, ссылка в команде не изменяется. Например, если ссылка относится к "$(NAME1)" и переменная среды NAME1 не существует, командная строка останется "$(NAME1)". $$ заменяется на $, и результирующая строка не расширяется. Например, $$(VAR_NAME) передается как $(VAR_NAME) независимо от того, существует ли переменная среды VAR_NAME. Для получения дополнительной информации см. Справку Dockerfile: CMD и Определите команду и аргументы для pod в документации Kubernetes.

(string)

env -> (list)

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

Примечание

Переменные среды не могут начинаться с "AWS_BATCH". Эта конвенция именования зарезервирована для переменных, которые устанавливает Batch.

(структура)

Переменная среды.

name -> (string)

Имя переменной среды.

value -> (string)

Значение переменной среды.

resources -> (structure)

Тип и количество ресурсов, выделяемых контейнеру. Поддерживаемые ресурсы включают memory, cpu и nvidia.com/gpu. Для получения дополнительной информации см. Управление ресурсами для pod и контейнеров в документации Kubernetes.

limits -> (map)

Тип и количество ресурсов, резервируемых для контейнера. Значения варьируются в зависимости от указанного name. Ресурсы можно запросить, используя объекты limits или requests.

memory

Жесткий лимит памяти (в МиБ) для контейнера, используя целые числа с суффиксом «Ми». Если ваш контейнер пытается превысить указанную память, контейнер завершается. Для задания необходимо указать не менее 4 МиБ памяти. memory можно указать в limits, requests или в обоих. Если memory указан в обоих местах, то значение, указанное в limits, должно быть равно значению, указанному в requests.

Примечание

Чтобы максимально эффективно использовать ресурсы, предоставляйте своим заданиям как можно больше памяти для конкретного типа экземпляра, который вы используете. Чтобы узнать, как это сделать, см. Управление памятью в Руководстве пользователя Batch.

cpu

Количество ЦП, зарезервированных для контейнера. Значения должны быть четными кратно 0.25. cpu можно указать в limits, requests или в обоих. Если cpu указан в обоих местах, то значение, указанное в limits, должно быть не меньше значения, указанного в requests.

nvidia.com/gpu

Количество графических процессоров, зарезервированных для контейнера. Значения должны быть целым числом. memory можно указать в limits, requests или в обоих. Если memory указан в обоих местах, то значение, указанное в limits, должно быть равно значению, указанному в requests.

key -> (string)

value -> (string)

requests -> (map)

Тип и количество ресурсов, запрашиваемых для контейнера. Значения варьируются в зависимости от указанного name. Ресурсы можно запросить, используя объекты limits или requests.

memory

Жесткий лимит памяти (в МиБ) для контейнера, используя целые числа с суффиксом «Ми». Если ваш контейнер пытается превысить указанную память, контейнер завершается. Для задания необходимо указать не менее 4 МиБ памяти. memory можно указать в limits, requests или в обоих. Если memory указан в обоих случаях, то значение, указанное в limits, должно быть равно значению, указанному в requests.

Примечание

Если вы пытаетесь максимально эффективно использовать ресурсы, предоставив своим заданиям как можно больше памяти для определенного типа экземпляра, см. Управление памятью в Руководстве пользователя Batch.

cpu

Количество ЦП, зарезервированных для контейнера. Значения должны быть четными кратно 0.25. cpu можно указать в limits, requests или в обоих. Если cpu указан в обоих местах, то значение, указанное в limits, должно быть не меньше значения, указанного в requests.

nvidia.com/gpu

Количество графических процессоров, зарезервированных для контейнера. Значения должны быть целым числом. nvidia.com/gpu можно указать в limits, requests или в обоих. Если nvidia.com/gpu указан в обоих местах, то значение, указанное в limits, должно быть равно значению, указанному в requests.

key -> (string)

value -> (string)

volumeMounts -> (list)

Точки монтирования томов для контейнера. Batch поддерживает emptyDir, hostPath и secret типы томов. Для получения дополнительной информации о томах и точках монтирования томов в Kubernetes см. раздел Тома в документации Kubernetes.

(структура)

Точки монтирования томов для контейнера для задания Amazon EKS. Для получения дополнительной информации о томах и точках монтирования томов в Kubernetes см. раздел Тома в документации Kubernetes.

name -> (string)

Имя точки монтирования тома. Это должно соответствовать имени одного из томов в pod.

mountPath -> (string)

Путь в контейнере, где монтируется том.

subPath -> (string)

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

readOnly -> (boolean)

Если это значение true, контейнер имеет доступ к тому только для чтения. В противном случае контейнер может записывать данные в том. Значение по умолчанию: false.

securityContext -> (structure)

Контекст безопасности для задания. Для получения дополнительной информации см. раздел Настройка контекста безопасности для pod или контейнера в документации Kubernetes.

runAsUser -> (long)

Когда этот параметр указан, контейнер запускается с указанным идентификатором пользователя (uid). Если этот параметр не указан, по умолчанию используется пользователь, указанный в метаданных изображения. Этот параметр сопоставляется с политикой RunAsUser и MustRanAs в политиках безопасности pod «Пользователи и группы» в документации Kubernetes.

runAsGroup -> (long)

Когда этот параметр указан, контейнер запускается с указанным идентификатором группы (gid). Если этот параметр не указан, по умолчанию используется группа, указанная в метаданных изображения. Этот параметр сопоставляется с политикой RunAsGroup и MustRunAs в политиках безопасности pod «Пользователи и группы» в документации Kubernetes.

privileged -> (boolean)

Когда этот параметр имеет значение true, контейнеру предоставляются повышенные разрешения в экземпляре контейнера хоста. Уровень разрешений аналогичен разрешениям пользователя root. Значение по умолчанию — false. Этот параметр сопоставляется с политикой privileged в политиках безопасности pod «Привилегированные» в документации Kubernetes.

allowPrivilegeEscalation -> (boolean)

Разрешено ли контейнеру или pod Kubernetes получать больше привилегий, чем его родительский процесс. Значение по умолчанию — false.

readOnlyRootFilesystem -> (boolean)

Когда этот параметр имеет значение true, контейнеру предоставляется доступ только для чтения к его корневой файловой системе. Значение по умолчанию — false. Этот параметр сопоставляется с политикой ReadOnlyRootFilesystem в политиках безопасности pod «Тома и файловые системы» в документации Kubernetes.

runAsNonRoot -> (boolean)

Когда этот параметр указан, контейнер запускается пользователем с uid, отличным от 0. Если этот параметр не указан, такое правило не применяется. Этот параметр сопоставляется с политикой RunAsUser и MustRunAsNonRoot в политиках безопасности pod «Пользователи и группы» в документации Kubernetes.

volumes -> (list)

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

(structure)

Указывает том Amazon EKS для определения задания.

name -> (string)

Имя тома. Имя должно быть допустимым именем поддомена DNS. Для получения дополнительной информации см. раздел Имена поддоменов DNS в документации Kubernetes.

hostPath -> (structure)

Указывает конфигурацию тома Kubernetes hostPath. Дополнительные сведения см. в разделе hostPath в документации Kubernetes.

path -> (string)

Путь к файлу или каталогу на хосте для монтирования в контейнеры в pod.

emptyDir -> (structure)

Указывает конфигурацию тома Kubernetes emptyDir. Дополнительные сведения см. в разделе emptyDir в документации Kubernetes.

medium -> (string)

Носитель для хранения тома. Значение по умолчанию — пустая строка, которая использует хранилище узла.

“”

(По умолчанию) Использовать дисковое хранилище узла.

“Memory”

Использовать том tmpfs, поддерживаемый ОЗУ узла. Содержимое тома теряется при перезагрузке узла, и любое хранилище на томе учитывается в ограничении памяти контейнера.

sizeLimit -> (string)

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

secret -> (structure)

Указывает конфигурацию тома Kubernetes secret. Дополнительные сведения см. в разделе secret в документации Kubernetes.

secretName -> (string)

Имя секрета. Имя должно быть допустимым именем поддомена DNS. Для получения дополнительной информации см. раздел Имена поддоменов DNS в документации Kubernetes.

optional -> (boolean)

Указывает, должен ли быть определен секрет или ключи секрета.

persistentVolumeClaim -> (structure)

Указывает конфигурацию Kubernetes persistentVolumeClaim, привязанного к persistentVolume. Дополнительные сведения см. в разделе Persistent Volume Claims в документации Kubernetes.

claimName -> (string)

Имя persistentVolumeClaim, привязанного к persistentVolume. Дополнительные сведения см. в разделе Persistent Volume Claims в документации Kubernetes.

readOnly -> (boolean)

Необязательное логическое значение, указывающее, является ли подключение доступным только для чтения. По умолчанию — false. Дополнительные сведения см. в разделе Read Only Mounts в документации Kubernetes.

metadata -> (structure)

Метаданные о pod Kubernetes. Дополнительные сведения см. в разделе Understanding Kubernetes Objects в документации Kubernetes.

labels -> (map)

Пары ключ-значение, используемые для идентификации, сортировки и организации ресурсов cube. Может содержать до 63 прописных букв, строчных букв, цифр, дефисов (-) и символов подчеркивания (_). Метки можно добавлять или изменять в любое время. Каждый ресурс может иметь несколько меток, но каждый ключ должен быть уникальным для данного объекта.

key -> (string)

value -> (string)

annotations -> (map)

Пары ключ-значение, используемые для прикрепления произвольных, неидентифицирующих метаданных к объектам Kubernetes. Допустимые ключи аннотаций имеют два сегмента: необязательный префикс и имя, разделенные косой чертой (/).

  • Префикс является необязательным и должен содержать не более 253 символов. Если указано, префикс должен быть поддоменом DNS — серией меток DNS, разделенных точками (.), и должен заканчиваться косой чертой (/).
  • Сегмент имени является обязательным и должен содержать не более 63 символов. Он может включать буквенно-цифровые символы ([a-z0-9A-Z]), дефисы (-), символы подчеркивания (_) и точки (.), но должен начинаться и заканчиваться буквенно-цифровым символом.

Примечание

Значения аннотаций должны содержать не более 255 символов.

Аннотации можно добавлять или изменять в любое время. Каждый ресурс может иметь несколько аннотаций.

key -> (string)

value -> (string)

namespace -> (string)

Пространство имен кластера Amazon EKS. В Kubernetes пространства имен предоставляют механизм изоляции групп ресурсов в одном кластере. Имена ресурсов должны быть уникальными в пределах пространства имен, но не в разных пространствах имен. Пакет Batch помещает поды Batch Job в это пространство имен. Если это поле предоставлено, значение не может быть пустым или null. Оно должно соответствовать следующим требованиям:

  • 1–63 символа
  • Не может быть установлено значение по умолчанию
  • Не может начинаться с kube
  • Должно соответствовать следующему регулярному выражению: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$

Дополнительные сведения см. в разделе Namespaces в документации Kubernetes. Это пространство имен может отличаться от kubernetesNamespace, установленного в EksConfiguration вычислительной среды, но должно иметь идентичные роли управления доступом на основе ролей (RBAC) как kubernetesNamespace вычислительной среды. Для многоузловых параллельных заданий необходимо указать одно и то же значение для всех диапазонов узлов.

shareProcessNamespace -> (boolean)

Указывает, являются ли процессы в контейнере общими или видимыми для других контейнеров в том же pod. Дополнительные сведения см. в разделе Share Process Namespace between Containers in a Pod.

consumableResourceProperties -> (structure)

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

consumableResourceList -> (list)

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

(structure)

Сведения о потребляемом ресурсе, необходимом для запуска задания.

consumableResource -> (string)

Имя или ARN потребляемого ресурса.

quantity -> (long)

Необходимое количество потребляемого ресурса.

arrayProperties -> (structure)

Свойства массива задания, если это задание массива.

statusSummary -> (map)

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

key -> (string)

value -> (integer)

size -> (integer)

Размер задания массива. Этот параметр возвращается для родительских заданий массива.

index -> (integer)

Индекс задания в массиве, связанный с этим заданием. Этот параметр возвращается для дочерних заданий массива.

timeout -> (structure)

Конфигурация таймаута для задания.

attemptDurationSeconds -> (integer)

Время ожидания задания (в секундах), которое измеряется от метки времени startedAt попытки задания. По истечении этого времени Batch завершает ваши задания, если они не завершены. Минимальное значение таймаута составляет 60 секунд.

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

Для многоузловых параллельных (MNP) заданий таймаут применяется ко всему заданию, а не к отдельным узлам.

tags -> (map)

Теги, примененные к заданию.

key -> (string)

value -> (string)

propagateTags -> (boolean)

Указывает, следует ли распространять теги из задания или определения задания в соответствующую задачу Amazon ECS. Если значение не указано, теги не распространяются. Теги могут распространяться только на задачи при их создании. Для тегов с одинаковыми именами теги заданий имеют приоритет над тегами определений заданий. Если общее количество комбинированных тегов из задания и определения задания превышает 50, задание перемещается в состояние FAILED.

platformCapabilities -> (list)

Возможности платформы, требуемые определением задания. Если значение не указано, по умолчанию используется EC2. Задания, выполняемые на ресурсах Fargate, указывают FARGATE.

(string)

eksProperties -> (structure)

Объект с различными свойствами, специфичными для заданий на основе Amazon EKS.

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

Свойства для ресурсов pod Kubernetes задания.

serviceAccountName -> (строка)

Имя учетной записи службы, используемой для запуска pod. Для получения дополнительной информации см. раздел Учетные записи служб Kubernetes и Настройка учетной записи службы Kubernetes для принятия роли IAM в Руководстве пользователя Amazon EKS и Настройка учетных записей служб для pod в документации Kubernetes .

hostNetwork -> (boolean)

Указывает, использует ли pod сетевой IP-адрес хостов. Значение по умолчанию: true . Установка этого параметра в значение false включает модель сети pod Kubernetes. Большинство рабочих нагрузок Batch предназначены только для исходящего трафика и не требуют накладных расходов на выделение IP-адресов для каждого pod для входящих подключений. Для получения дополнительной информации см. разделы Пространства имен хостов и Сеть Pod в документации Kubernetes .

dnsPolicy -> (строка)

Политика DNS для pod. Значение по умолчанию: ClusterFirst . Если параметр hostNetwork не указан, по умолчанию используется ClusterFirstWithHostNet . ClusterFirst указывает, что любой DNS-запрос, который не соответствует настроенному суффиксу домена кластера, пересылается в вышестоящий nameserver, унаследованный от узла. Если для параметра dnsPolicy в операции API RegisterJobDefinition не было указано значение, то ни одно значение не будет возвращено для параметра dnsPolicy ни одной из операций API DescribeJobDefinitions или DescribeJobs. Настройка spec pod будет содержать либо ClusterFirst, либо ClusterFirstWithHostNet, в зависимости от значения параметра hostNetwork. Для получения дополнительной информации см. раздел Политика DNS pod в документации Kubernetes .

Допустимые значения: Default | ClusterFirst | ClusterFirstWithHostNet

imagePullSecrets -> (list)

Отображает ссылку на ресурс Kubernetes secret. Эти секреты помогают получить доступ для извлечения изображений из частного реестра.

(структура)

Ссылается на ресурс Kubernetes secret. Это имя секрета должно начинаться и заканчиваться буквенно-цифровым символом, должно быть строчным, может содержать точки (.) и дефисы (-), и не может содержать более 253 символов.

name -> (строка)

Предоставляет уникальный идентификатор для ImagePullSecret . Этот объект обязателен при использовании EksPodProperties$imagePullSecrets.

containers -> (list)

Свойства контейнера, который используется в Amazon EKS pod.

(структура)

Сведения о свойствах контейнера, которые возвращаются DescribeJobs для заданий, использующих Amazon EKS.

name -> (string)

Имя контейнера. Если имя не указано, используется имя по умолчанию «Default ». Каждый контейнер в pod должен иметь уникальное имя.

image -> (string)

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

imagePullPolicy -> (string)

Политика извлечения образов для контейнера. Поддерживаемые значения: Always , IfNotPresent и Never . Этот параметр по умолчанию равен Always , если указан тег :latest , IfNotPresent в противном случае. Для получения дополнительной информации см. раздел Обновление образов в документации Kubernetes .

command -> (list)

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

(string)

args -> (list)

Массив аргументов для точки входа. Если это не указано, используется CMD образа контейнера. Это соответствует члену args в разделе Точка входа Pod в Kubernetes. Ссылки на переменные среды расширяются с использованием среды контейнера.

Если указанная переменная среды не существует, ссылка в команде не изменяется. Например, если ссылка на “$(NAME1) “ и переменная среды NAME1 не существует, строка команды останется “$(NAME1) “. $$ заменяется на $ , и результирующая строка не расширяется. Например, $$(VAR_NAME) передается как $(VAR_NAME) , существует ли переменная среды VAR_NAME или нет. Для получения дополнительной информации см. раздел Справочник Dockerfile: CMD и Определите команду и аргументы для pod в документации Kubernetes .

(string)

env -> (list)

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

Примечание

Переменные среды не могут начинаться с “AWS_BATCH “. Эта конвенция именования зарезервирована для переменных, которые задает Batch.

(структура)

Переменная среды.

name -> (string)

Имя переменной среды.

value -> (string)

Значение переменной среды.

resources -> (structure)

Тип и объем ресурсов, выделяемых контейнеру. Поддерживаемые ресурсы включают memory , cpu и nvidia.com/gpu . Для получения дополнительной информации см. раздел Управление ресурсами для подов и контейнеров в документации Kubernetes .

limits -> (map)

Тип и количество ресурсов, резервируемых для контейнера. Значения варьируются в зависимости от указанного name . Ресурсы можно запросить, используя объекты limits или requests .

memory

Жесткий лимит памяти (в МиБ) для контейнера с использованием целых чисел с суффиксом «Mi». Если ваш контейнер пытается превысить указанный объем памяти, контейнер завершается. Необходимо указать не менее 4 МиБ памяти для задания. memory можно указать в limits , requests или в обоих. Если memory указан в обоих местах, то значение, указанное в limits , должно быть равно значению, указанному в requests .

Примечание

Чтобы максимально эффективно использовать ресурсы, предоставьте своим заданиям как можно больше памяти для определенного типа экземпляра, который вы используете. Чтобы узнать, как это сделать, см. раздел Управление памятью в Руководстве пользователя Batch .

cpu

Количество процессоров, зарезервированных для контейнера. Значения должны быть четным кратным 0.25 . cpu можно указать в limits , requests или в обоих. Если cpu указан в обоих местах, то значение, указанное в limits , должно быть не менее значения, указанного в requests .

nvidia.com/gpu

Количество графических процессоров, зарезервированных для контейнера. Значения должны быть целым числом. memory можно указать в limits , requests или в обоих. Если memory указан в обоих местах, то значение, указанное в limits , должно быть равно значению, указанному в requests .

key -> (string)

value -> (string)

requests -> (map)

Тип и количество ресурсов, запрашиваемых для контейнера. Значения варьируются в зависимости от указанного name . Ресурсы можно запросить, используя объекты limits или requests .

memory

Жесткий лимит памяти (в МиБ) для контейнера с использованием целых чисел с суффиксом «Mi». Если ваш контейнер пытается превысить указанный объем памяти, контейнер завершается. Необходимо указать не менее 4 МиБ памяти для задания. memory можно указать в limits , requests или в обоих. Если memory указан в обоих, то значение, указанное в limits , должно быть равно значению, указанному в requests .

Примечание

Если вы пытаетесь максимально эффективно использовать ресурсы, предоставив своим заданиям как можно больше памяти для определенного типа экземпляра, см. раздел Управление памятью в Руководстве пользователя Batch .

cpu

Количество процессоров, зарезервированных для контейнера. Значения должны быть четным кратным 0.25 . cpu можно указать в limits , requests или в обоих. Если cpu указан в обоих, то значение, указанное в limits , должно быть не менее значения, указанного в requests .

nvidia.com/gpu

Количество графических процессоров, зарезервированных для контейнера. Значения должны быть целым числом. nvidia.com/gpu можно указать в limits , requests или в обоих. Если nvidia.com/gpu указан в обоих, то значение, указанное в limits , должно быть равно значению, указанному в requests .

key -> (string)

value -> (string)

exitCode -> (integer)

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

reason -> (string)

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

volumeMounts -> (list)

Точки монтирования томов для контейнера. Batch поддерживает типы томов emptyDir , hostPath и secret . Для получения дополнительной информации о томах и точках монтирования томов в Kubernetes см. раздел Тома в документации Kubernetes .

(структура)

Точки монтирования томов для контейнера для задания Amazon EKS. Для получения дополнительной информации о томах и точках монтирования томов в Kubernetes см. раздел Тома в документации Kubernetes .

name -> (string)

Имя точки монтирования тома. Оно должно соответствовать имени одного из томов в pod.

mountPath -> (string)

Путь в контейнере, где монтируется том.

subPath -> (string)

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

readOnly -> (boolean)

Если это значение true , контейнер имеет доступ только для чтения к тому. В противном случае контейнер может записывать в том. Значение по умолчанию — false .

securityContext -> (structure)

Контекст безопасности для задания. Для получения дополнительной информации см. раздел Настройка контекста безопасности для pod или контейнера в документации Kubernetes .

runAsUser -> (long)

Когда этот параметр указан, контейнер запускается с указанным идентификатором пользователя (uid ). Если этот параметр не указан, по умолчанию используется пользователь, указанный в метаданных образа. Этот параметр сопоставляется с политикой RunAsUser и MustRanAs в политиках безопасности pod для пользователей и групп в документации Kubernetes .

runAsGroup -> (long)

Когда этот параметр указан, контейнер запускается с указанным идентификатором группы (gid ). Если этот параметр не указан, по умолчанию используется группа, указанная в метаданных образа. Этот параметр сопоставляется с политикой RunAsGroup и MustRunAs в политиках безопасности pod для пользователей и групп в документации Kubernetes .

privileged -> (boolean)

Когда этот параметр true , контейнеру предоставляются повышенные разрешения в экземпляре хост-контейнера. Уровень разрешений аналогичен разрешениям пользователя root . Значение по умолчанию — false . Этот параметр сопоставляется с политикой privileged в политиках безопасности pod Privileged в документации Kubernetes .

allowPrivilegeEscalation -> (boolean)

Разрешено ли контейнеру или pod Kubernetes получать больше разрешений, чем его родительский процесс. Значение по умолчанию — false .

readOnlyRootFilesystem -> (boolean)

Когда этот параметр true , контейнеру предоставляется доступ только для чтения к его корневой файловой системе. Значение по умолчанию — false . Этот параметр сопоставляется с политикой ReadOnlyRootFilesystem в политиках безопасности томов и файловых систем pod в документации Kubernetes .

runAsNonRoot -> (boolean)

Когда этот параметр указан, контейнер запускается как пользователь с uid , отличным от 0. Если этот параметр не указан, такое правило не применяется. Этот параметр сопоставляется с политикой RunAsUser и MustRunAsNonRoot в политиках безопасности pod для пользователей и групп в документации Kubernetes .

initContainers -> (list)

Контейнер, зарегистрированный с агентом Amazon EKS Connector, сохраняет информацию о регистрации в хранилище данных внутренней части Kubernetes.

(структура)

Подробности свойств контейнера, которые возвращаются DescribeJobs для заданий, использующих Amazon EKS.

name -> (string)

Имя контейнера. Если имя не указано, используется имя по умолчанию “Default “. Каждый контейнер в pod должен иметь уникальное имя.

image -> (string)

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

imagePullPolicy -> (string)

Политика извлечения образа для контейнера. Поддерживаются значения Always , IfNotPresent и Never . Этот параметр по умолчанию Always , если указан тег :latest , IfNotPresent в противном случае. Для получения дополнительной информации см. раздел Обновление изображений в документации Kubernetes .

command -> (list)

Точка входа для контейнера. Для получения дополнительной информации см. Entrypoint в документации Kubernetes .

(string)

args -> (list)

Массив аргументов к точке входа. Если это не указано, используется CMD образа контейнера. Это соответствует члену args в части Entrypoint Pod в Kubernetes. Ссылки на переменные среды расширяются с использованием среды контейнера.

Если ссыловая переменная среды не существует, ссылка в команде не изменяется. Например, если ссылка указывает на “$(NAME1) “ и переменная среды NAME1 не существует, командная строка останется “$(NAME1) “. $$ заменяется на $ , и результирующая строка не расширяется. Например, $$(VAR_NAME) передается как $(VAR_NAME) , независимо от того, существует ли переменная среды VAR_NAME . Для получения дополнительной информации см. Справочник Dockerfile: CMD и Определите команду и аргументы для pod в документации Kubernetes .

(string)

env -> (list)

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

Примечание

Переменные среды не могут начинаться с “AWS_BATCH “. Это соглашение об именах зарезервировано для переменных, которые устанавливает Batch.

(структура)

Переменная среды.

name -> (string)

Имя переменной среды.

value -> (string)

Значение переменной среды.

resources -> (structure)

Тип и объем ресурсов, которые необходимо назначить контейнеру. Поддерживаемые ресурсы включают memory , cpu и nvidia.com/gpu . Для получения дополнительной информации см. Управление ресурсами для pod и контейнеров в документации Kubernetes .

limits -> (map)

Тип и количество ресурсов, которые необходимо зарезервировать для контейнера. Значения варьируются в зависимости от указанного name . Ресурсы можно запросить, используя объекты limits или requests .

memory

Жесткий предел памяти (в МиБ) для контейнера с использованием целых чисел с суффиксом «Mi». Если ваш контейнер попытается превысить указанный объем памяти, контейнер будет завершен. Для задания необходимо указать не менее 4 МиБ памяти. memory можно указать в limits , requests или в обоих. Если memory указан в обоих местах, то значение, указанное в limits , должно быть равно значению, указанному в requests .

Примечание

Чтобы максимально увеличить использование ресурсов, предоставьте своим заданиям как можно больше памяти для конкретного типа экземпляра, который вы используете. Чтобы узнать, как это сделать, см. Управление памятью в Руководстве пользователя Batch .

cpu

Количество ЦП, зарезервированных для контейнера. Значения должны быть четным кратным 0.25 . cpu можно указать в limits , requests или в обоих. Если cpu указан в обоих местах, то значение, указанное в limits , должно быть не меньше значения, указанного в requests .

nvidia.com/gpu

Количество GPU, зарезервированных для контейнера. Значения должны быть целым числом. memory можно указать в limits , requests или в обоих. Если memory указан в обоих местах, то значение, указанное в limits , должно быть равно значению, указанному в requests .

key -> (string)

value -> (string)

requests -> (map)

Тип и количество ресурсов, которые необходимо запросить для контейнера. Значения варьируются в зависимости от указанного name . Ресурсы можно запросить, используя объекты limits или requests .

memory

Жесткий предел памяти (в МиБ) для контейнера с использованием целых чисел с суффиксом «Mi». Если ваш контейнер попытается превысить указанный объем памяти, контейнер будет завершен. Для задания необходимо указать не менее 4 МиБ памяти. memory можно указать в limits , requests или в обоих. Если memory указан в обоих, то значение, указанное в limits , должно быть равно значению, указанному в requests .

Примечание

Если вы пытаетесь максимально увеличить использование ресурсов, предоставив своим заданиям как можно больше памяти для определенного типа экземпляра, см. Управление памятью в Руководстве пользователя Batch .

cpu

Количество ЦП, зарезервированных для контейнера. Значения должны быть четным кратным 0.25 . cpu можно указать в limits , requests или в обоих. Если cpu указан в обоих, то значение, указанное в limits , должно быть не меньше значения, указанного в requests .

nvidia.com/gpu

Количество GPU, зарезервированных для контейнера. Значения должны быть целым числом. nvidia.com/gpu можно указать в limits , requests или в обоих. Если nvidia.com/gpu указан в обоих, то значение, указанное в limits , должно быть равно значению, указанному в requests .

key -> (string)

value -> (string)

exitCode -> (integer)

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

reason -> (string)

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

volumeMounts -> (list)

Тома для контейнера. Batch поддерживает типы томов emptyDir , hostPath и secret . Для получения дополнительной информации о томах и монтировании томов в Kubernetes см. Раздел Volumes в документации Kubernetes .

(структура)

Тома для контейнера для задания Amazon EKS. Для получения дополнительной информации о томах и монтировании томов в Kubernetes см. Раздел Volumes в документации Kubernetes .

name -> (string)

Имя монтирования тома. Оно должно соответствовать имени одного из томов в pod.

mountPath -> (string)

Путь в контейнере, где монтируется том.

subPath -> (string)

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

readOnly -> (boolean)

Если это значение true , контейнер имеет доступ к тому только для чтения. В противном случае контейнер может записывать данные на том. Значение по умолчанию – false .

securityContext -> (structure)

Контекст безопасности для задания. Для получения дополнительной информации см. Настройка контекста безопасности для pod или контейнера в документации Kubernetes .

runAsUser -> (long)

Если этот параметр указан, контейнер запускается с указанным идентификатором пользователя (uid ). Если этот параметр не указан, по умолчанию используется пользователь, указанный в метаданных образа. Этот параметр соответствует RunAsUser и политике MustRanAs в политиках безопасности pod Пользователи и группы в документации Kubernetes .

runAsGroup -> (long)

Если этот параметр указан, контейнер запускается с указанным идентификатором группы (gid ). Если этот параметр не указан, по умолчанию используется группа, указанная в метаданных образа. Этот параметр соответствует RunAsGroup и политике MustRunAs в политиках безопасности pod Пользователи и группы в документации Kubernetes .

privileged -> (boolean)

Если этот параметр равен true , контейнеру предоставляются повышенные разрешения в экземпляре хост-контейнера. Уровень разрешений аналогичен разрешениям пользователя root . Значение по умолчанию – false . Этот параметр соответствует политике privileged в политиках безопасности pod Привилегированный в документации Kubernetes .

allowPrivilegeEscalation -> (boolean)

Разрешено ли контейнеру или pod Kubernetes получать больше привилегий, чем его родительский процесс. Значение по умолчанию – false .

readOnlyRootFilesystem -> (boolean)

Если этот параметр равен true , контейнеру предоставляется доступ только для чтения к его корневой файловой системе. Значение по умолчанию – false . Этот параметр соответствует политике ReadOnlyRootFilesystem в политиках безопасности pod Тома и файловые системы в документации Kubernetes .

runAsNonRoot -> (boolean)

Если этот параметр указан, контейнер запускается как пользователь с uid , отличным от 0. Если этот параметр не указан, такое правило не применяется. Этот параметр соответствует политике RunAsUser и MustRunAsNonRoot в политиках безопасности pod Пользователи и группы в документации Kubernetes .

volumes -> (list)

Указывает тома для определения задания с использованием ресурсов Amazon EKS.

(структура)

Указывает том Amazon EKS для определения задания.

name -> (string)

Имя тома. Имя должно соответствовать имени поддомена DNS. Дополнительные сведения см. в разделе имена поддоменов DNS в документации Kubernetes .

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

Указывает конфигурацию тома Kubernetes hostPath. Дополнительные сведения см. в разделе hostPath в документации Kubernetes .

path -> (string)

Путь к файлу или каталогу на хосте для монтирования в контейнеры в pod.

emptyDir -> (structure)

Указывает конфигурацию тома Kubernetes emptyDir. Дополнительные сведения см. в разделе emptyDir в документации Kubernetes .

medium -> (string)

Носитель для хранения тома. Значение по умолчанию — пустая строка, которая использует хранилище узла.

“”

(По умолчанию) Используйте дисковое хранилище узла.

“Memory”

Используйте том tmpfs, который поддерживается RAM узла. Содержимое тома теряется при перезагрузке узла, и любое хранилище в томе учитывается в ограничении памяти контейнера.

sizeLimit -> (string)

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

secret -> (structure)

Указывает конфигурацию тома Kubernetes secret. Дополнительные сведения см. в разделе secret в документации Kubernetes .

secretName -> (string)

Имя секрета. Имя должно соответствовать имени поддомена DNS. Дополнительные сведения см. в разделе имена поддоменов DNS в документации Kubernetes .

optional -> (boolean)

Указывает, необходимо ли определить секрет или ключи секрета.

persistentVolumeClaim -> (structure)

Указывает конфигурацию Kubernetes persistentVolumeClaim, привязанного к persistentVolume . Дополнительные сведения см. в разделе Persistent Volume Claims в документации Kubernetes .

claimName -> (string)

Имя persistentVolumeClaim, привязанного к persistentVolume . Дополнительные сведения см. в разделе Persistent Volume Claims в документации Kubernetes .

readOnly -> (boolean)

Необязательное логическое значение, указывающее, является ли монтирование только для чтения. По умолчанию — false. Дополнительные сведения см. в разделе Read Only Mounts в документации Kubernetes .

podName -> (string)

Имя pod для этого задания.

nodeName -> (string)

Имя узла для этого задания.

metadata -> (structure)

Описывает и однозначно идентифицирует ресурсы Kubernetes. Например, вычислительная среда, в которой работает pod, или jobID для задания, выполняемого в pod. Дополнительные сведения см. в разделе Understanding Kubernetes Objects в документации Kubernetes .

labels -> (map)

Пары "ключ-значение", используемые для идентификации, сортировки и организации ресурсов cube. Может содержать до 63 прописных букв, строчных букв, цифр, дефисов (-) и символов подчеркивания (_). Метки можно добавлять или изменять в любое время. Каждый ресурс может иметь несколько меток, но каждый ключ должен быть уникальным для данного объекта.

key -> (string)

value -> (string)

annotations -> (map)

Пары "ключ-значение", используемые для добавления произвольных, не идентифицирующих метаданных к объектам Kubernetes. Допустимые ключи аннотаций имеют два сегмента: необязательный префикс и имя, разделенные косой чертой (/).

  • Префикс является необязательным и должен содержать не более 253 символов. Если указано, префикс должен быть поддоменом DNS — серией меток DNS, разделенных точками (.), и он должен заканчиваться косой чертой (/).
  • Сегмент имени является обязательным и должен содержать не более 63 символов. Он может включать буквенно-цифровые символы ([a-z0-9A-Z]), дефисы (-), символы подчеркивания (_) и точки (.), но должен начинаться и заканчиваться буквенно-цифровым символом.

Примечание

Значения аннотаций должны содержать не более 255 символов.

Аннотации можно добавлять или изменять в любое время. Каждый ресурс может иметь несколько аннотаций.

key -> (string)

value -> (string)

namespace -> (string)

Пространство имен кластера Amazon EKS. В Kubernetes пространства имен предоставляют механизм для изоляции групп ресурсов в одном кластере. Имена ресурсов должны быть уникальными в пределах пространства имен, но не в разных пространствах имен. Batch помещает pods заданий Batch в это пространство имен. Если это поле предоставлено, значение не может быть пустым или null. Оно должно соответствовать следующим требованиям:

  • от 1 до 63 символов
  • Нельзя устанавливать значение по умолчанию
  • Не может начинаться с kube
  • Должно соответствовать следующему регулярному выражению: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$

Дополнительные сведения см. в разделе Namespaces в документации Kubernetes . Это пространство имен может отличаться от kubernetesNamespace , заданного в EksConfiguration вычислительной среды, но должно иметь идентичные роли управления доступом на основе ролей (RBAC) в качестве kubernetesNamespace вычислительной среды. Для многоузловых параллельных заданий должно быть указано одно и то же значение для всех диапазонов узлов.

shareProcessNamespace -> (boolean)

Указывает, являются ли процессы в контейнере общими или видимыми для других контейнеров в том же pod. Дополнительные сведения см. в разделе Share Process Namespace between Containers in a Pod .

eksAttempts -> (list)

Список попыток задания, связанных с этим заданием.

(структура)

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

containers -> (list)

Сведения об окончательном состоянии контейнеров для этой попытки задания.

(структура)

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

name -> (string)

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

containerID -> (string)

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

exitCode -> (integer)

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

reason -> (string)

Краткая (максимум 255 символов) понятная человеку строка для предоставления дополнительных сведений о работающем или остановленном контейнере.

initContainers -> (list)

Сведения об init-контейнерах.

(структура)

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

name -> (string)

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

containerID -> (string)

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

exitCode -> (integer)

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

reason -> (string)

Краткая (максимум 255 символов) понятная человеку строка для предоставления дополнительных сведений о работающем или остановленном контейнере.

eksClusterArn -> (string)

Аббревиатура Amazon Resource Name (ARN) кластера Amazon EKS.

podName -> (string)

Имя pod для этой попытки задания.

podNamespace -> (string)

Пространство имен кластера Amazon EKS, в котором существует pod.

nodeName -> (string)

Имя узла для этой попытки задания.

startedAt -> (long)

Метка времени Unix (в миллисекундах) для начала попытки (когда попытка перешла из состояния STARTING в состояние RUNNING).

stoppedAt -> (long)

Метка времени Unix (в миллисекундах) для остановки попытки. Это происходит, когда попытка перешла из состояния RUNNING в терминальное состояние, такое как SUCCEEDED или FAILED .

statusReason -> (string)

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

ecsProperties -> (structure)

Объект со свойствами, относящимися к заданиям на основе Amazon ECS.

taskProperties -> (list)

Свойства для определения задачи Amazon ECS для задания.

(structure)

Сведения об определении задачи, описывающие определения контейнера и тома задачи Amazon ECS.

containers -> (list)

Список контейнеров, включенных в список taskProperties.

(structure)

Сведения о контейнере в этой попытке задачи.

command -> (list)

Команда, передаваемая в контейнер. Этот параметр соответствует Cmd в разделе Create a container (Создание контейнера) API Docker Remote и параметру COMMAND для docker run. Дополнительные сведения см. на странице https://docs.docker.com/engine/reference/builder/#cmd.

(string)

dependsOn -> (list)

Список контейнеров, от которых зависит данный контейнер.

(structure)

Список контейнеров, от которых зависит эта задача.

containerName -> (string)

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

condition -> (string)

Условие зависимости контейнера. Доступны следующие условия и их поведение:

  • START – это условие эмулирует поведение ссылок и томов сегодня. Оно проверяет, что зависимый контейнер запущен до того, как другим контейнерам будет разрешено запускаться.
  • COMPLETE — это условие проверяет, что зависимый контейнер выполняется до завершения (выхода) перед разрешением запуска других контейнеров. Это может быть полезно для несущественных контейнеров, которые запускают сценарий, а затем выходят. Это условие нельзя установить для важного контейнера.
  • SUCCESS – это условие идентично COMPLETE, но также требует, чтобы контейнер завершался с нулевым статусом. Это условие нельзя установить для важного контейнера.

environment -> (list)

Переменные среды, которые необходимо передать в контейнер. Этот параметр соответствует Env в разделе Create a container (Создание контейнера) API Docker Remote и параметру --env для docker run.

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

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

(structure)

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

name -> (string)

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

value -> (string)

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

essential -> (boolean)

Если параметр essential контейнера помечен как true, а этот контейнер по какой-либо причине завершает работу или останавливается, все остальные контейнеры, входящие в задачу, останавливаются. Если параметр essential контейнера помечен как false, его сбой не влияет на остальные контейнеры в задаче. Если этот параметр опущен, контейнер считается обязательным.

Все задания должны иметь как минимум один обязательный контейнер. Если у вас есть приложение, состоящее из нескольких контейнеров, сгруппируйте контейнеры, используемые для общих целей, в компоненты и разделите разные компоненты на несколько определений задач. Дополнительные сведения см. в разделе Application Architecture (Архитектура приложений) в Руководстве разработчика Amazon Elastic Container Service.

firelensConfiguration -> (structure)

Конфигурация FireLens для контейнера. Это используется для указания и настройки маршрутизатора журналов для журналов контейнеров. Дополнительные сведения см. в разделе Custom log routing (Настраиваемая маршрутизация журналов) в Руководстве разработчика Amazon Elastic Container Service.

type -> (string)

Используемый маршрутизатор журналов. Допустимыми значениями являются fluentd или fluentbit.

options -> (map)

Параметры, используемые при настройке маршрутизатора журналов. Это поле является необязательным и может использоваться для указания пользовательского файла конфигурации или для добавления дополнительных метаданных, таких как задача, определение задачи, кластер и сведения об экземпляре контейнера к событию журнала. Если указано, необходимо использовать синтаксис "options":{"enable-ecs-log-metadata":"true|false","config-file-type:"s3|file","config-file-value":"arn:aws:s3:::mybucket/fluent.conf|filepath"}. Дополнительные сведения см. в разделе Creating a task definition that uses a FireLens configuration (Создание определения задачи, использующего конфигурацию FireLens) в Руководстве разработчика Amazon Elastic Container Service.

key -> (string)

value -> (string)

image -> (string)

Образ, используемый для запуска контейнера. Эта строка передается непосредственно в демон Docker. По умолчанию доступны образы в реестре Docker Hub. Другие репозитории указываются либо с помощью repository-url/image:tag, либо repository-url/image@digest. Разрешено до 255 букв (прописных и строчных), цифр, дефисов, подчеркиваний, двоеточий, точек, косых черт и знаков номера. Этот параметр соответствует Image в разделе Create a container (Создание контейнера) API Docker Remote и параметру IMAGE параметра ` docker run https://docs.docker.com/engine/reference/run/#security-configuration`__.

linuxParameters -> (structure)

Linux-specific modifications that are applied to the container, such as Linux kernel capabilities. For more information, see KernelCapabilities .

Примечание

This parameter is not supported for Windows containers.

devices -> (list)

Any of the host devices to expose to the container. This parameter maps to Devices in the Create a container section of the Docker Remote API and the --device option to docker run .

Примечание

This parameter isn’t applicable to jobs that are running on Fargate resources. Don’t provide it for these jobs.

(structure)

An object that represents a container instance host device.

Примечание

This object isn’t applicable to jobs that are running on Fargate resources and shouldn’t be provided.

hostPath -> (string)

The path for the device on the host container instance.

containerPath -> (string)

The path inside the container that’s used to expose the host device. By default, the hostPath value is used.

permissions -> (list)

The explicit permissions to provide to the container for the device. By default, the container has permissions for read , write , and mknod for the device.

(string)

initProcessEnabled -> (boolean)

If true, run an init process inside the container that forwards signals and reaps processes. This parameter maps to the --init option to docker run . This parameter requires version 1.25 of the Docker Remote API or greater on your container instance. To check the Docker Remote API version on your container instance, log in to your container instance and run the following command: sudo docker version | grep "Server API version"

sharedMemorySize -> (integer)

The value for the size (in MiB) of the /dev/shm volume. This parameter maps to the --shm-size option to docker run .

Примечание

This parameter isn’t applicable to jobs that are running on Fargate resources. Don’t provide it for these jobs.

tmpfs -> (list)

The container path, mount options, and size (in MiB) of the tmpfs mount. This parameter maps to the --tmpfs option to docker run .

Примечание

This parameter isn’t applicable to jobs that are running on Fargate resources. Don’t provide this parameter for this resource type.

(structure)

The container path, mount options, and size of the tmpfs mount.

Примечание

This object isn’t applicable to jobs that are running on Fargate resources.

containerPath -> (string)

The absolute file path in the container where the tmpfs volume is mounted.

size -> (integer)

The size (in MiB) of the tmpfs volume.

mountOptions -> (list)

The list of tmpfs volume mount options.

Valid values: “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 “

(string)

maxSwap -> (integer)

The total amount of swap memory (in MiB) a container can use. This parameter is translated to the --memory-swap option to docker run where the value is the sum of the container memory plus the maxSwap value. For more information, see ` --memory-swap details <https://docs.docker.com/config/containers/resource_constraints/#–memory-swap-details>`__ in the Docker documentation.

If a maxSwap value of 0 is specified, the container doesn’t use swap. Accepted values are 0 or any positive integer. If the maxSwap parameter is omitted, the container doesn’t use the swap configuration for the container instance on which it runs. A maxSwap value must be set for the swappiness parameter to be used.

Примечание

This parameter isn’t applicable to jobs that are running on Fargate resources. Don’t provide it for these jobs.

swappiness -> (integer)

You can use this parameter to tune a container’s memory swappiness behavior. A swappiness value of 0 causes swapping to not occur unless absolutely necessary. A swappiness value of 100 causes pages to be swapped aggressively. Valid values are whole numbers between 0 and 100 . If the swappiness parameter isn’t specified, a default value of 60 is used. If a value isn’t specified for maxSwap , then this parameter is ignored. If maxSwap is set to 0, the container doesn’t use swap. This parameter maps to the --memory-swappiness option to docker run .

Consider the following when you use a per-container swap configuration.

  • Swap space must be enabled and allocated on the container instance for the containers to use.

Примечание

By default, the Amazon ECS optimized AMIs don’t have swap enabled. You must enable swap on the instance to use this feature. For more information, see Instance store swap volumes in the Amazon EC2 User Guide for Linux Instances or How do I allocate memory to work as swap space in an Amazon EC2 instance by using a swap file?
  • The swap space parameters are only supported for job definitions using EC2 resources.
  • If the maxSwap and swappiness parameters are omitted from a job definition, each container has a default swappiness value of 60. Moreover, the total swap usage is limited to two times the memory reservation of the container.

Примечание

This parameter isn’t applicable to jobs that are running on Fargate resources. Don’t provide it for these jobs.

logConfiguration -> (structure)

Спецификация конфигурации журнала для контейнера.

Этот параметр соответствует LogConfig в разделе Create a container API Docker Remote API и параметру --log-driver в docker run.

По умолчанию контейнеры используют тот же драйвер журналирования, который использует демон Docker. Однако контейнер может использовать другой драйвер журналирования, чем демон Docker, указав драйвер журнала с помощью этого параметра в определении контейнера. Чтобы использовать другой драйвер журналирования для контейнера, система журнала должна быть настроена надлежащим образом на экземпляре контейнера (или на другом сервере журналов для параметров удаленного журналирования). Дополнительные сведения о параметрах для различных поддерживаемых драйверов журналов см. в разделе Настройка драйверов журналирования в документации Docker.

Примечание

Amazon ECS в настоящее время поддерживает подмножество драйверов журналирования, доступных для демона Docker (показано в типе данных LogConfiguration). Дополнительные драйверы журналов могут быть доступны в будущих выпусках агента контейнера Amazon ECS.

Этот параметр требует версии 1.18 или выше API Docker Remote API на вашем экземпляре контейнера. Чтобы проверить версию API Docker Remote API на экземпляре контейнера, войдите в свой экземпляр контейнера и выполните следующую команду: sudo docker version --format '{{.Server.APIVersion}}'

Примечание

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

logDriver -> (string)

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

Поддерживаемые драйверы журналов: awslogs , fluentd , gelf , json-file , journald , logentries , syslog и splunk.

Примечание

Задания, которые выполняются на ресурсах Fargate, ограничены драйверами журналов awslogs и splunk.

awsfirelens

Указывает драйвер журналирования Firelens. Дополнительные сведения о настройке Firelens см. в разделе Отправка журналов Amazon ECS в службу Amazon Web Services или партнера Amazon Web Services в Руководстве разработчика Amazon Elastic Container Service.

awslogs

Указывает драйвер журналирования Amazon CloudWatch Logs. Дополнительные сведения см. в разделе Использование драйвера журнала awslogs в Руководстве пользователя Batch и драйвере журналирования Amazon CloudWatch Logs в документации Docker.

fluentd

Указывает драйвер журналирования Fluentd. Дополнительные сведения, включая использование и параметры, см. в разделе Драйвер журналирования Fluentd в документации Docker.

gelf

Указывает драйвер журналирования Graylog Extended Format (GELF). Дополнительные сведения, включая использование и параметры, см. в разделе Драйвер журналирования Graylog Extended Format в документации Docker.

journald

Указывает драйвер журналирования journald. Дополнительные сведения, включая использование и параметры, см. в разделе Драйвер журналирования Journald в документации Docker.

json-file

Указывает драйвер журналирования JSON-файла. Дополнительные сведения, включая использование и параметры, см. в разделе Драйвер журналирования JSON-файла в документации Docker.

splunk

Указывает драйвер журналирования Splunk. Дополнительные сведения, включая использование и параметры, см. в разделе Драйвер журналирования Splunk в документации Docker.

syslog

Указывает драйвер журналирования syslog. Дополнительные сведения, включая использование и параметры, см. в разделе Драйвер журналирования Syslog в документации Docker.

Примечание

Если у вас есть собственный драйвер, который не указан выше и который вы хотите использовать с агентом контейнера Amazon ECS, вы можете разветвить проект агента контейнера Amazon ECS, доступный на GitHub, и настроить его для работы с этим драйвером. Мы рекомендуем вам отправлять запросы на включение изменений, которые вы хотите включить. Однако Amazon Web Services в настоящее время не поддерживает запуск измененных копий этого программного обеспечения.

Этот параметр требует версии 1.18 или выше API Docker Remote API на вашем экземпляре контейнера. Чтобы проверить версию API Docker Remote API на экземпляре контейнера, войдите в свой экземпляр контейнера и выполните следующую команду: sudo docker version | grep "Server API version"

options -> (map)

Параметры конфигурации для отправки в драйвер журнала. Этот параметр требует версии 1.19 или выше API Docker Remote API на вашем экземпляре контейнера. Чтобы проверить версию API Docker Remote API на экземпляре контейнера, войдите в свой экземпляр контейнера и выполните следующую команду: sudo docker version | grep "Server API version"

key -> (string)

value -> (string)

secretOptions -> (list)

Секреты, которые нужно передать в конфигурацию журнала. Дополнительные сведения см. в разделе Указание конфиденциальных данных в Руководстве пользователя Batch.

(structure)

Объект, представляющий секрет, который нужно предоставить контейнеру. Секреты можно предоставить контейнеру следующими способами:

  • Чтобы внедрить конфиденциальные данные в ваши контейнеры в виде переменных среды, используйте параметр определения контейнера secrets.
  • Чтобы ссылаться на конфиденциальную информацию в конфигурации журнала контейнера, используйте параметр определения контейнера secretOptions.

Дополнительные сведения см. в разделе Указание конфиденциальных данных в Руководстве пользователя Batch.

name -> (string)

Имя секрета.

valueFrom -> (string)

Секрет для предоставления контейнеру. Поддерживаемые значения — это либо полный ARN секрета Secrets Manager, либо полный ARN параметра в Amazon Web Services Systems Manager Parameter Store.

Примечание

Если параметр Amazon Web Services Systems Manager Parameter Store существует в том же регионе, что и задание, которое вы запускаете, вы можете использовать либо полный ARN (Amazon Resource Name), либо имя параметра. Если параметр существует в другом регионе, необходимо указать полный ARN.

mountPoints -> (list)

Точки монтирования для томов данных в вашем контейнере.

Этот параметр соответствует Volumes в разделе Create a container API Docker Remote API и параметру –volume в docker run.

Контейнеры Windows могут монтировать целые каталоги на том же диске, что и $env:ProgramData. Контейнеры Windows не могут монтировать каталоги на другом диске, а точка монтирования не может находиться на разных дисках.

(structure)

Сведения о точке монтирования тома Docker, которая используется в свойствах контейнера задания. Этот параметр соответствует Volumes в разделе Create a container API Docker Remote API и параметру --volume в docker run.

containerPath -> (string)

Путь в контейнере, где монтируется том хоста.

readOnly -> (boolean)

Если это значение равно true, контейнер имеет доступ к тому только для чтения. В противном случае контейнер может записывать в том. Значение по умолчанию — false.

sourceVolume -> (string)

Имя тома для монтирования.

name -> (string)

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

privileged -> (boolean)

Когда этот параметр имеет значение true, контейнеру предоставляются повышенные привилегии в экземпляре контейнера хоста (аналогично пользователю root). Этот параметр соответствует Privileged в разделе Create a container API Docker Remote API и параметру --privileged в docker run.

Примечание

Этот параметр не поддерживается для контейнеров Windows или задач, выполняемых на Fargate.

readonlyRootFilesystem -> (boolean)

Когда этот параметр имеет значение true, контейнеру предоставляется доступ только для чтения к его корневой файловой системе. Этот параметр соответствует ReadonlyRootfs в разделе Create a container API Docker Remote API и параметру --read-only в docker run.

Примечание

Этот параметр не поддерживается для контейнеров Windows.

repositoryCredentials -> (structure)

Учетные данные аутентификации частного репозитория для использования.

credentialsParameter -> (string)

Имя ресурса Amazon (ARN) секрета, содержащего учетные данные частного репозитория.

resourceRequirements -> (list)

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

(структура)

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

значение -> (string)

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

type=”GPU”

Количество физических GPU для резервирования для контейнера. Убедитесь, что количество GPU, зарезервированных для всех контейнеров в задании, не превышает количество доступных GPU на вычислительном ресурсе, на котором запущено задание.

Примечание

GPU недоступны для заданий, выполняющихся на ресурсах Fargate.

type=”MEMORY”

Жесткий лимит памяти (в МиБ), присутствующий в контейнере. Этот параметр поддерживается для заданий, выполняющихся на ресурсах Amazon EC2. Если ваш контейнер пытается превысить указанный объем памяти, контейнер завершает работу. Этот параметр отображается в Memory в разделе Create a container (Создать контейнер) Docker Remote API и в опции --memory для docker run . Необходимо указать не менее 4 МиБ памяти для задания. Это необходимо, но может быть указано в нескольких местах для заданий параллельных вычислений с несколькими узлами (MNP). Это необходимо указать для каждого узла хотя бы один раз. Этот параметр отображается в Memory в разделе Create a container (Создать контейнер) Docker Remote API и в опции --memory для docker run .

Примечание

Если вы пытаетесь максимально увеличить использование ресурсов, предоставляя своим заданиям как можно больше памяти для определенного типа экземпляра, см. раздел Memory management (Управление памятью) в Batch User Guide .

Для заданий, выполняющихся на ресурсах Fargate, value — это жесткий лимит (в МиБ), который должен соответствовать одному из поддерживаемых значений, а значения VCPU должны соответствовать одному из значений, поддерживаемых для этого значения памяти.

value = 512

VCPU = 0.25

value = 1024

VCPU = 0.25 or 0.5

value = 2048

VCPU = 0.25, 0.5, or 1

value = 3072

VCPU = 0.5, or 1

value = 4096

VCPU = 0.5, 1, or 2

value = 5120, 6144, or 7168

VCPU = 1 or 2

value = 8192

VCPU = 1, 2, or 4

value = 9216, 10240, 11264, 12288, 13312, 14336, or 15360

VCPU = 2 or 4

value = 16384

VCPU = 2, 4, or 8

value = 17408, 18432, 19456, 21504, 22528, 23552, 25600, 26624, 27648, 29696, or 30720

VCPU = 4

value = 20480, 24576, or 28672

VCPU = 4 or 8

value = 36864, 45056, 53248, or 61440

VCPU = 8

value = 32768, 40960, 49152, or 57344

VCPU = 8 or 16

value = 65536, 73728, 81920, 90112, 98304, 106496, 114688, or 122880

VCPU = 16

type=”VCPU”

Количество vCPU, зарезервированных для контейнера. Этот параметр отображается в CpuShares в разделе Create a container (Создать контейнер) Docker Remote API и в опции --cpu-shares для docker run . Каждый vCPU эквивалентен 1024 долям CPU. Для ресурсов Amazon EC2 необходимо указать хотя бы один vCPU. Это необходимо, но может быть указано в нескольких местах; это необходимо указать для каждого узла хотя бы один раз.

Значение по умолчанию для квоты количества vCPU по требованию Fargate составляет 6 vCPU. Дополнительные сведения о квотах Fargate см. в разделе Fargate quotas (Квоты Fargate) в Amazon Web Services General Reference .

Для заданий, выполняющихся на ресурсах Fargate, value должен соответствовать одному из поддерживаемых значений, а значения MEMORY должны соответствовать одному из значений, поддерживаемых для этого значения VCPU . Поддерживаемые значения: 0.25, 0.5, 1, 2, 4, 8 и 16

value = 0.25

MEMORY = 512, 1024, or 2048

value = 0.5

MEMORY = 1024, 2048, 3072, or 4096

value = 1

MEMORY = 2048, 3072, 4096, 5120, 6144, 7168, or 8192

value = 2

MEMORY = 4096, 5120, 6144, 7168, 8192, 9216, 10240, 11264, 12288, 13312, 14336, 15360, or 16384

value = 4

MEMORY = 8192, 9216, 10240, 11264, 12288, 13312, 14336, 15360, 16384, 17408, 18432, 19456, 20480, 21504, 22528, 23552, 24576, 25600, 26624, 27648, 28672, 29696, or 30720

value = 8

MEMORY = 16384, 20480, 24576, 28672, 32768, 36864, 40960, 45056, 49152, 53248, 57344, or 61440

value = 16

MEMORY = 32768, 40960, 49152, 57344, 65536, 73728, 81920, 90112, 98304, 106496, 114688, or 122880

type -> (string)

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

secrets -> (list)

Секреты для передачи в контейнер. Дополнительные сведения см. в разделе Specifying Sensitive Data (Указание конфиденциальных данных) в Amazon Elastic Container Service Developer Guide (Руководстве разработчика Amazon Elastic Container Service).

(структура)

Объект, представляющий секрет для предоставления вашему контейнеру. Секреты могут быть предоставлены контейнеру следующими способами:

  • Чтобы внедрить конфиденциальные данные в контейнеры в качестве переменных среды, используйте параметр определения контейнера secrets .
  • Чтобы сослаться на конфиденциальную информацию в конфигурации журнала контейнера, используйте параметр определения контейнера secretOptions .

Дополнительные сведения см. в разделе Specifying sensitive data (Указание конфиденциальных данных) в Batch User Guide (Руководстве пользователя Batch) .

name -> (string)

Имя секрета.

valueFrom -> (string)

Секрет для предоставления контейнеру. Поддерживаемые значения — это либо полный ARN секрета Secrets Manager, либо полный ARN параметра в Amazon Web Services Systems Manager Parameter Store.

Примечание

Если параметр Amazon Web Services Systems Manager Parameter Store существует в том же регионе, что и задание, которое вы запускаете, вы можете использовать либо полный ARN, либо имя параметра. Если параметр существует в другом регионе, необходимо указать полный ARN.

ulimits -> (list)

Список ulimits для установки в контейнере. Если в определении задачи указано значение ulimit , оно переопределяет значения по умолчанию, установленные Docker. Этот параметр отображается в Ulimits в разделе Create a container (Создать контейнер) Docker Remote API и в опции --ulimit для docker run .

Задачи Amazon ECS, размещенные в Fargate, используют значения лимита ресурсов по умолчанию, установленные операционной системой, за исключением параметра лимита ресурсов nofile, который переопределяет Fargate. Лимит ресурсов nofile устанавливает ограничение на количество открытых файлов, которые может использовать контейнер. Значение по умолчанию nofile soft limit — 1024 , а значение по умолчанию hard limit — 65535 .

Этот параметр требует версию 1.18 или выше Docker Remote API в вашем экземпляре контейнера. Чтобы проверить версию Docker Remote API в вашем экземпляре контейнера, войдите в свой экземпляр контейнера и выполните следующую команду: sudo docker version --format '{{.Server.APIVersion}}'

Примечание

Этот параметр не поддерживается для контейнеров Windows.

(структура)

Настройки ulimit для передачи в контейнер. Дополнительные сведения см. в разделе Ulimit .

Примечание

Этот объект не применим к заданиям, выполняющимся на ресурсах Fargate.

hardLimit -> (integer)

Жесткий лимит для типа ulimit .

name -> (string)

type ulimit . Допустимые значения: core | cpu | data | fsize | locks | memlock | msgqueue | nice | nofile | nproc | rss | rtprio | rttime | sigpending | stack .

softLimit -> (integer)

Мягкий лимит для типа ulimit .

user -> (string)

Пользователь для использования внутри контейнера. Этот параметр отображается в User (Пользователь) в разделе Create a container (Создать контейнер) Docker Remote API и в опции –user для docker run.

Примечание

При запуске задач в сетевом режиме host не запускайте контейнеры, используя root user (UID 0) . Рекомендуется использовать пользователя, не являющегося root, для повышения безопасности.

Вы можете указать user , используя следующие форматы. При указании UID или GID необходимо указать его как положительное целое число.

  • user
  • user:group
  • uid
  • uid:gid
  • user:gi
  • uid:group

Примечание

Этот параметр не поддерживается для контейнеров Windows.

exitCode -> (integer)

Код завершения, возвращенный после завершения.

reason -> (string)

Краткая (максимум 255 символов) понятная человеку строка для предоставления дополнительных сведений о работающем или остановленном контейнере.

logStreamName -> (string)

Имя потока журналов CloudWatch Logs, связанного с контейнером. Группа журналов для заданий Batch — /aws/batch/job. Каждая попытка контейнера получает имя потока журналов, когда достигает статуса RUNNING .

networkInterfaces -> (list)

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

(структура)

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

attachmentId -> (string)

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

ipv6Address -> (string)

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

privateIpv4Address -> (string)

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

containerInstanceArn -> (string)

Имя ресурса Amazon (ARN) экземпляра контейнера, на котором размещена задача.

taskArn -> (string)

ARN задачи Amazon ECS.

ephemeralStorage -> (structure)

Объем временного хранилища, выделенного для задачи.

sizeInGiB -> (integer)

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

executionRoleArn -> (string)

Имя ресурса Amazon (ARN) роли выполнения, которую Batch может принять. Для получения дополнительной информации см. раздел Роль IAM для выполнения Batch в Руководстве пользователя Batch .

platformVersion -> (string)

Версия платформы Fargate, на которой выполняются задания.

ipcMode -> (string)

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

taskRoleArn -> (string)

Имя ресурса Amazon (ARN) роли IAM, которую контейнер может принять для разрешений Amazon Web Services. Для получения дополнительной информации см. раздел Роли IAM для задач в Руководстве разработчика Amazon Elastic Container Service .

Примечание

Этот объект сопоставим с ContainerProperties:jobRoleArn.

pidMode -> (string)

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

networkConfiguration -> (structure)

Сетевая конфигурация для заданий, выполняющихся на ресурсах Fargate. Задания, выполняющиеся на ресурсах Amazon EC2, не должны указывать этот параметр.

assignPublicIp -> (string)

Указывает, имеет ли задание общедоступный IP-адрес. Для задания, выполняющегося на ресурсах Fargate в частной подсети, чтобы отправлять исходящий трафик в Интернет (например, для извлечения образов контейнеров), частная подсеть требует подключения шлюза NAT для маршрутизации запросов в Интернет. Для получения дополнительной информации см. раздел Сетевые подключения задач Amazon ECS в Руководстве разработчика Amazon Elastic Container Service . Значение по умолчанию — «DISABLED».

runtimePlatform -> (structure)

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

operatingSystemFamily -> (string)

Операционная система для вычислительной среды. Допустимые значения: LINUX (по умолчанию), WINDOWS_SERVER_2019_CORE, WINDOWS_SERVER_2019_FULL, WINDOWS_SERVER_2022_CORE и WINDOWS_SERVER_2022_FULL.

Примечание

Следующие параметры нельзя установить для контейнеров Windows: linuxParameters, privileged, user, ulimits, readonlyRootFilesystem и efsVolumeConfiguration.

Примечание

Планировщик Batch проверяет вычислительные среды, прикрепленные к очереди заданий, перед регистрацией определения задачи в Fargate. В этом случае очередь заданий — это место, куда отправляется задание. Если заданию требуется контейнер Windows, а первая вычислительная среда — LINUX, вычислительная среда пропускается, и проверяется следующая вычислительная среда до тех пор, пока не будет найдена вычислительная среда на основе Windows.

Примечание

Fargate Spot не поддерживается для ARM64 и контейнеров на основе Windows в Fargate. Очередь заданий будет заблокирована, если задание Fargate ARM64 или Windows отправлено в очередь заданий только с вычислительными средами Fargate Spot. Однако вы можете прикрепить вычислительные среды FARGATE и FARGATE_SPOT к одной и той же очереди заданий.

cpuArchitecture -> (string)

Архитектура vCPU. Значение по умолчанию — X86_64. Допустимые значения: X86_64 и ARM64.

Примечание

Этот параметр должен быть установлен в значение X86_64 для контейнеров Windows.

Примечание

Fargate Spot не поддерживается для ARM64 и контейнеров на основе Windows в Fargate. Очередь заданий будет заблокирована, если задание Fargate ARM64 или Windows отправлено в очередь заданий только с вычислительными средами Fargate Spot. Однако вы можете прикрепить вычислительные среды FARGATE и FARGATE_SPOT к одной и той же очереди заданий.

volumes -> (list)

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

(structure)

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

host -> (structure)

Содержимое параметра host определяет, сохраняется ли том данных на экземпляре хост-контейнера и где он хранится. Если параметр host пуст, демон Docker назначает путь хоста для тома данных. Однако данные не гарантированно сохранятся после прекращения работы контейнеров, связанных с ним.

Примечание

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

sourcePath -> (string)

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

Примечание

Этот параметр не применяется к заданиям, выполняющимся на ресурсах Fargate. Не указывайте это для этих заданий.

name -> (string)

Имя тома. Его длина может достигать 255 символов. Он может содержать прописные и строчные буквы, цифры, дефисы (-) и символы подчеркивания (_). Это имя указывается в параметре sourceVolume определения контейнера mountPoints.

efsVolumeConfiguration -> (structure)

Этот параметр указывается при использовании файловой системы Amazon Elastic File System для хранения заданий. Задания, выполняющиеся на ресурсах Fargate, должны указывать platformVersion не менее 1.4.0.

fileSystemId -> (string)

Идентификатор файловой системы Amazon EFS для использования.

rootDirectory -> (string)

Каталог внутри файловой системы Amazon EFS для монтирования в качестве корневого каталога внутри хоста. Если этот параметр опущен, вместо него используется корень тома Amazon EFS. Указание / имеет тот же эффект, что и пропуск этого параметра. Максимальная длина составляет 4096 символов.

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

Если в authorizationConfig указана точка доступа EFS, параметр root directory должен быть либо опущен, либо установлен в /, что обеспечивает применение пути, установленного в точке доступа Amazon EFS.

transitEncryption -> (string)

Определяет, следует ли включить шифрование данных Amazon EFS при передаче между хостом Amazon ECS и сервером Amazon EFS. Шифрование при передаче должно быть включено, если используется авторизация Amazon EFS IAM. Если этот параметр опущен, используется значение по умолчанию DISABLED. Для получения дополнительной информации см. раздел Шифрование данных при передаче в Руководстве пользователя Amazon Elastic File System .

transitEncryptionPort -> (integer)

Порт для использования при отправке зашифрованных данных между хостом Amazon ECS и сервером Amazon EFS. Если вы не укажете порт шифрования при передаче, будет использоваться стратегия выбора порта, которую использует помощник монтирования Amazon EFS. Значение должно быть от 0 до 65 535. Для получения дополнительной информации см. раздел Помощник монтирования EFS в Руководстве пользователя Amazon Elastic File System .

authorizationConfig -> (structure)

Сведения о конфигурации авторизации для файловой системы Amazon EFS.

accessPointId -> (string)

Идентификатор точки доступа Amazon EFS для использования. Если указана точка доступа, значение root directory, указанное в EFSVolumeConfiguration, должно быть либо опущено, либо установлено в /, что обеспечивает применение пути, установленного в точке доступа EFS. Если используется точка доступа, шифрование при передаче должно быть включено в EFSVolumeConfiguration. Для получения дополнительной информации см. раздел Работа с точками доступа Amazon EFS в Руководстве пользователя Amazon Elastic File System .

iam -> (string)

Использовать ли роль IAM задания Batch, определенную в определении задания, при монтировании файловой системы Amazon EFS. Если включено, шифрование при передаче должно быть включено в EFSVolumeConfiguration. Если этот параметр опущен, используется значение по умолчанию DISABLED. Для получения дополнительной информации см. раздел Использование точек доступа Amazon EFS в Руководстве пользователя Batch . Авторизация EFS IAM требует, чтобы TransitEncryption было ENABLED и чтобы был указан JobRoleArn.

enableExecuteCommand -> (boolean)

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

isCancelled -> (boolean)

Указывает, отменено ли задание.

isTerminated -> (boolean)

Указывает, завершено ли задание.

consumableResourceProperties -> (structure)

Содержит список потребляемых ресурсов, необходимых заданию.

consumableResourceList -> (list)

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

(structure)

Информация о потребляемом ресурсе, необходимом для выполнения задания.

consumableResource -> (string)

Имя или ARN потребляемого ресурса.

quantity -> (long)

Количество потребляемого ресурса, которое требуется.

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

Spec-Zone.ru

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