참조: ContainerProperties에 대한 작업 정의 파라미터
ContainerProperties
를 사용하는 작업 정의는 여러 부분으로 나뉩니다.
작업 정의 이름
작업 정의의 유형
파라미터 대체 자리 표시자 기본값
작업에 대한 컨테이너 속성
-
Amazon EKS 리소스에서 실행되는 작업에 필요한 작업 정의의 Amazon EKS 속성
다중 노드 병렬 작업에 필요한 노드 속성
Fargate 리소스에서 작업을 실행하는 데 필요한 플랫폼 기능
작업 정의의 기본 태그 전파 세부 정보
작업 정의의 기본 재시도 전략
작업 정의의 기본 예약 우선 순위
작업 정의의 기본 태그
작업 정의의 기본 제한 시간
작업 정의 이름
jobDefinitionName
-
작업 정의를 등록할 때 이름을 지정합니다. 각 이름의 최대 길이는 128자입니다. 대문자 및 소문자, 숫자, 하이픈(-) 및 밑줄(_)을 포함할 수 있습니다. 이 이름으로 등록된 첫 번째 작업 정의에는 버전 번호 1이 부여됩니다. 그런 다음 같은 이름으로 등록되는 작업 정의는 버전 번호가 하나씩 증가하여 부여됩니다.
유형: 문자열
필수 항목 여부: 예
유형
type
-
작업 정의를 등록할 때 작업 유형을 지정합니다. 작업이 Fargate 리소스에서 실행되는 경우
multinode
는 지원되지 않습니다. 다중 노드 병렬 작업에 대한 자세한 내용은 다중 노드 병렬 작업 정의 생성 섹션을 참조하세요.유형: 문자열
유효한 값:
container
|multinode
필수 여부: 예
파라미터
parameters
-
작업을 제출할 때 자리 표시자를 교체하거나 기본 작업 정의 파라미터를 재정의하는 파라미터를 지정할 수 있습니다. 작업 제출 요청의 파라미터는 작업 정의의 기본값보다 우선합니다. 즉, 동일한 형식을 사용하는 여러 작업에 동일한 작업 정의를 사용할 수 있습니다. 또한 제출 시 명령의 값을 프로그래밍 방식으로 변경할 수 있습니다.
유형: 문자열 대 문자열 맵
필수 항목 여부: 아니요
작업 정의를 등록할 때 작업 컨테이너 속성의
command
필드에 파라미터 대입 자리 표시자를 사용할 수 있습니다. 구문은 다음과 같습니다."command": [ "ffmpeg", "-i", "
Ref::inputfile
", "-c", "Ref::codec
", "-o", "Ref::outputfile
" ]위의 예에서는 명령에
,Ref::inputfile
,Ref::codec
파라미터 대입 자리 표시자가 있습니다. 작업 정의의Ref::outputfile
parameters
객체를 사용하여 이러한 자리 표시자의 기본값을 설정할 수 있습니다. 예를 들어,
자리 표시자의 기본값을 설정하려면 작업 정의에 다음을 지정합니다.Ref::codec
"parameters" : {"codec" : "mp4"}
이 작업 정의를 실행하기 위해 제출하면 컨테이너 명령의
인수가 기본값인Ref::codec
mp4
로 대체됩니다.
컨테이너 속성
작업 정의를 등록할 때, 작업 배치 시 컨테이너 인스턴스의 도커 대몬(daemon)으로 전달되는 컨테이너 속성 목록을 지정합니다. 다음과 같은 컨테이너 속성을 작업 정의에 사용할 수 있습니다. 단일 노드 작업의 경우 이러한 컨테이너 속성은 작업 정의 수준에서 설정됩니다. 다중 노드 병렬 작업의 경우 컨테이너 속성은 각 노드 그룹에 대해 노드 속성 수준에서 설정됩니다.
command
-
컨테이너로 전달되는 명령입니다. 이 파라미터는 도커 원격 API(Docker Remote API)
의 컨테이너 생성(Create a container) 섹션에 있는 Cmd
(와)과 docker run의 COMMAND
파라미터로 매핑됩니다. 도커CMD
파라미터에 대한 자세한 정보는 https://docs.docker.com/engine/reference/builder/#cmd를 참조하세요. "command": ["
string
", ...]유형: 문자열 배열
필수 항목 여부: 아니요
environment
-
컨테이너로 전달할 환경 변수입니다. 이 파라미터는 Docker 원격 API
의 컨테이너 생성 섹션에 있는 Env
와 docker run에 대한 --env
옵션에 매핑됩니다.중요
자격 증명 데이터와 같은 민감한 정보에 대해서는 일반 텍스트 환경 변수를 사용하지 않는 것이 좋습니다.
참고
환경 변수는 '
AWS_BATCH
'로 시작할 수 없습니다. 이 이름 지정 규칙은 AWS Batch 서비스가 설정하는 변수용으로 예약되어 있습니다.유형: 키-값 쌍 배열
필수 항목 여부: 아니요
name
-
환경 변수의 이름입니다.
유형: 문자열
필수 항목 여부:
environment
사용 시, 예 value
-
환경 변수의 값입니다.
유형: 문자열
필수 항목 여부:
environment
사용 시, 예
"environment" : [ { "name" : "
envName1
", "value" : "envValue1
" }, { "name" : "envName2
", "value" : "envValue2
" } ] executionRoleArn
-
작업 정의를 등록할 때 IAM 역할을 지정할 수 있습니다. 역할은 해당 정책에 지정된 API 작업을 호출할 수 있는 권한을 Amazon ECS 컨테이너 에이전트에 제공합니다. Fargate 리소스에서 실행되는 작업은 실행 역할을 제공해야 합니다. 자세한 내용은 AWS Batch IAM 실행 역할 단원을 참조하십시오.
유형: 문자열
필수 항목 여부: 아니요
fargatePlatformConfiguration
-
Fargate 리소스에서 실행되는 작업에 대한 플랫폼 구성입니다. EC2 리소스에서 실행되는 작업에는 이 파라미터를 지정하지 않아야 합니다.
유형: FargatePlatformConfiguration 객체
필수 항목 여부: 아니요
platformVersion
-
AWS Fargate 플랫폼 버전은 작업에 사용하거나 승인된 최신 버전의 AWS Fargate 플랫폼을 사용하는 데
LATEST
가 사용됩니다.유형: 문자열
기본값:
LATEST
필수 항목 여부: 아니요
image
-
작업을 시작하는 데 사용되는 이미지입니다. 이 문자열은 Docker 대몬으로 직접 전달됩니다. Docker Hub 레지스트리 내 이미지는 기본적으로 사용 가능합니다. 또한
(을)를 사용하여 다른 리포지토리를 지정할 수도 있습니다. 최대 255개의 문자(대문자 및 소문자), 숫자, 하이픈, 밑줄, 콜론, 마침표, 슬래시 및 부호가 허용됩니다. 이 파라미터는 Docker 원격 API(Docker Remote API)repository-url
/image
:tag
의 컨테이너 생성(Create a container) 섹션에 있는 Image
(와)과 docker run의 IMAGE
파라미터로 매핑됩니다.참고
Docker 이미지 아키텍처는 예정된 컴퓨팅 리소스의 프로세서 아키텍처와 일치해야 합니다. 예를 들어, Arm 기반 Docker 이미지는 Arm 기반 컴퓨팅 리소스에서만 실행될 수 있습니다.
-
Amazon ECR Public 리포지토리에 있는 이미지는 전체
registry/repository[:tag]
또는registry/repository[@digest]
명명 규칙을 사용합니다(예:public.ecr.aws/
).registry_alias
/my-web-app
:latest
-
Amazon ECR 리포지토리에 있는 이미지는 전체
registry/repository:[tag]
명명 규칙을 사용합니다. 예:aws_account_id
.dkr.ecr.region
.amazonaws.com/
.my-web-app
:latest
-
Docker Hub 공식 리포지토리 안의 이미지는 단일 이름을 사용합니다(예:
ubuntu
또는mongo
). -
Docker Hub의 다른 리포지토리에 저장된 이미지는 조직 이름으로 한정됩니다(예:
amazon/amazon-ecs-agent
). -
다른 온라인 리포지토리 안의 이미지는 도메인 이름을 사용하여 추가로 한정됩니다(예:
quay.io/assemblyline/ubuntu
).
유형: 문자열
필수 항목 여부: 예
-
instanceType
-
다중 노드 병렬 작업에 사용할 인스턴스 유형입니다. 다중 노드 병렬 작업에 있는 모든 노드 그룹은 동일한 인스턴스 유형을 사용해야 합니다. 이 파라미터는 단일 노드 컨테이너 작업이나 Fargate 리소스에서 실행되는 작업에는 적용할 수 없습니다.
유형: 문자열
필수 항목 여부: 아니요
jobRoleArn
-
작업 정의를 등록할 때 IAM 역할을 지정할 수 있습니다. 역할은 해당 정책에 지정된 API 작업을 호출할 수 있는 권한을 작업 컨테이너에 제공합니다. 자세한 내용은 Amazon Elastic Container Service 개발자 안내서의 태스크에 대한 IAM 역할을 참조하세요.
유형: 문자열
필수 항목 여부: 아니요
linuxParameters
-
컨테이너에 적용되는 Linux 수정(예: 디바이스 매핑에 대한 세부 정보)
"linuxParameters": { "devices": [ { "hostPath": "
string
", "containerPath": "string
", "permissions": [ "READ", "WRITE", "MKNOD" ] } ], "initProcessEnabled":true|false
, "sharedMemorySize": 0, "tmpfs": [ { "containerPath": "string
", "size":integer
, "mountOptions": [ "string
" ] } ], "maxSwap":integer
, "swappiness":integer
}유형: LinuxParameters 객체
필수 항목 여부: 아니요
devices
-
컨테이너에 매핑되는 디바이스 목록 이 파라미터는 도커 원격 APIhttps://docs.docker.com/engine/api/v1.38/
의 컨테이너 생성 섹션에 있는 Devices
및 docker run에 대한 --device
옵션에 매핑됩니다.참고
이 파라미터는 Fargate 리소스에서 실행되는 작업에는 적용되지 않습니다.
유형: Device 객체 배열
필수 항목 여부: 아니요
hostPath
-
호스트 컨테이너 인스턴스에서 사용 가능한 디바이스가 있는 경로입니다.
유형: 문자열
필수 항목 여부: 예
containerPath
-
디바이스가 컨테이너에 노출되는 경로입니다. 지정하지 않으면 호스트 경로와 동일한 경로에 노출됩니다.
유형: 문자열
필수 항목 여부: 아니요
permissions
-
컨테이너의 디바이스에 대한 권한입니다. 지정하지 않으면 권한이
READ
,WRITE
, 및MKNOD
로 설정됩니다.유형: String 배열
필수 항목 여부: 아니요
유효한 값:
READ
|WRITE
|MKNOD
initProcessEnabled
-
true로 설정된 경우 신호를 전달하고 프로세스의 결과를 받아들이는 컨테이너 내에서
init
프로세스를 실행합니다. 이 파라미터는 docker run에 대한 --init
옵션에 매핑됩니다. 이 파라미터를 사용하려면 컨테이너 인스턴스에서 Docker 원격 API 버전 1.25 이상을 사용해야 합니다. 컨테이너 인스턴스의 도커 원격 API 버전을 확인하려면, 컨테이너 인스턴스에 로그인한 후sudo docker version | grep "Server API version"
명령을 실행합니다.타입: 부울
필수 항목 여부: 아니요
maxSwap
-
작업이 사용할 수 있는 총 스왑 메모리 양(MiB)입니다. 이 파라미터는 docker run
에 대한 --memory-swap
옵션으로 변환되며 컨테이너 메모리의 합계에maxSwap
값을 더한 값이 됩니다. 자세한 내용을 알아보려면 도커 설명서의--memory-swap
세부 정보를 참조하세요. 0
의maxSwap
값이 지정되면 컨테이너는 스왑을 사용하지 않습니다. 허용되는 값은0
또는 양수입니다.maxSwap
파라미터를 생략하면 컨테이너는 실행되는 컨테이너 인스턴스에 대한 스왑 구성을 사용합니다.swappiness
매개 변수를 사용하려면maxSwap
값을 설정해야 합니다.참고
이 파라미터는 Fargate 리소스에서 실행되는 작업에는 적용되지 않습니다.
유형: 정수
필수 항목 여부: 아니요
sharedMemorySize
-
/dev/shm
볼륨의 크기 값(MiB)입니다. 이 파라미터는 docker run에 대한 --shm-size
옵션에 매핑됩니다.참고
이 파라미터는 Fargate 리소스에서 실행되는 작업에는 적용되지 않습니다.
유형: 정수
필수 항목 여부: 아니요
swappiness
-
이를 통해 컨테이너의 메모리 스왑 동작을 조정할 수 있습니다.
0
의swappiness
값은 절대적으로 필요한 경우가 아니면 스왑이 일어나지 않도록 합니다.100
의swappiness
값은 페이지가 적극적으로 스와핑되도록 합니다. 허용되는 값은0
과100
사이의 숫자입니다.swappiness
파라미터를 지정하지 않으면60
의 기본값이 사용됩니다.maxSwap
값이 지정되지 않은 경우 이 파라미터는 무시됩니다.maxSwap
가 0으로 설정된 경우 컨테이너는 스왑을 사용하지 않습니다. 이 파라미터는 docker run에 대한 --memory-swappiness
옵션에 매핑됩니다.컨테이너별 스왑 구성을 사용하는 경우 다음을 고려하세요.
-
컨테이너를 사용하려면 컨테이너 인스턴스에서 스왑 공간을 활성화하고 할당해야 합니다.
참고
Amazon ECS에 최적화된 AMI에는 기본적으로 스왑이 활성화되어 있지 않습니다. 이 기능을 사용하려면 인스턴스에서 스왑을 활성화해야합니다. 자세한 내용은 Amazon EC2사용자 안내서의 인스턴스 스토어 스왑 볼륨 또는 스왑 파일을 사용하여 Amazon EC2 인스턴스에서 스왑 스페이스로 작동하도록 메모리를 할당하려면 어떻게 해야 하나요?
를 참조하세요. -
스왑 공간 파라미터는 EC2 리소스를 사용하는 작업 정의에 대해서만 지원됩니다.
-
maxSwap
및swappiness
파라미터가 작업 정의에서 생략된 경우 각 컨테이너의 기본swappiness
값은 60입니다. 총 스왑 사용량은 컨테이너 메모리 예약의 두 배로 제한됩니다.
참고
이 파라미터는 Fargate 리소스에서 실행되는 작업에는 적용되지 않습니다.
유형: 정수
필수 항목 여부: 아니요
-
tmpfs
-
tmpfs 마운트의 컨테이너 경로, 마운트 옵션 및 크기입니다.
유형: Tmpfs 객체 배열
참고
이 파라미터는 Fargate 리소스에서 실행되는 작업에는 적용되지 않습니다.
필수 항목 여부: 아니요
containerPath
-
tmpfs 볼륨을 마운트할 컨테이너의 절대 파일 경로입니다.
유형: 문자열
필수 항목 여부: 예
mountOptions
-
tmpfs 볼륨 마운트 옵션의 목록입니다.
유효한 값: "
defaults
" | "ro
" | "rw
" | "suid
" | "nosuid
" | "dev
" | "nodev
" | "exec
" | "noexec
" | "sync
" | "async
" | "dirsync
" | "remount
" | "mand
" | "nomand
" | "atime
" | "noatime
" | "diratime
" | "nodiratime
" | "bind
" | "rbind
" | "unbindable
" | "runbindable
" | "private
" | "rprivate
" | "shared
" | "rshared
" | "slave
" | "rslave
" | "relatime
" | "norelatime
" | "strictatime
" | "nostrictatime
" | "mode
" | "uid
" | "gid
" | "nr_inodes
" | "nr_blocks
" | "mpol
"유형: String 배열
필수 항목 여부: 아니요
size
-
tmpfs 볼륨의 크기(MiB)입니다.
유형: 정수
필수 여부: 예
logConfiguration
-
작업의 로그 구성 사양입니다.
이 파라미터는 도커 원격 APIhttps://docs.docker.com/engine/api/v1.38/
의 컨테이너 생성 섹션에 있는 LogConfig
및 docker run에 대한 --log-driver
옵션에 매핑됩니다. 기본적으로 컨테이너는 도커 대몬이 사용하는 것과 동일한 로깅 드라이버를 사용합니다. 하지만 컨테이너는 이 파라미터를 사용하여 컨테이너 정의에 로그 드라이버를 지정함으로써 도커 대몬(daemon)과 다른 로깅 드라이버를 사용할 수 있습니다. 컨테이너에 다른 로깅 드라이버를 사용하려면 컨테이너 인스턴스 또는 원격 로그 서버에 로그 시스템이 올바르게 구성되어야 원격 로깅 옵션을 제공할 수 있습니다. 지원되는 다양한 로그 드라이버 옵션에 대한 자세한 정보는 Docker 설명서의 로깅 드라이버 구성을 참조하세요. 참고
현재 AWS Batch는 도커 대몬(daemon)에서 사용 가능한 로깅 드라이버의 하위 세트를 지원합니다(LogConfiguration 데이터 유형에 표시됨).
이 파라미터를 사용하려면 컨테이너 인스턴스에서 Docker 원격 API 버전 1.18 이상을 사용해야 합니다. 컨테이너 인스턴스의 도커 원격 API 버전을 확인하려면, 컨테이너 인스턴스에 로그인한 후
sudo docker version | grep "Server API version"
명령을 실행합니다."logConfiguration": { "devices": [ { "logDriver": "
string
", "options": { "optionName1
" : "optionValue1
", "optionName2
" : "optionValue2
" } "secretOptions": [ { "name" : "secretOptionName1
", "valueFrom" : "secretOptionArn1
" }, { "name" : "secretOptionName2
", "valueFrom" : "secretOptionArn2
" } ] } ] }유형: LogConfiguration 객체
필수 항목 여부: 아니요
logDriver
-
작업에 사용할 로그 드라이버입니다. 기본적으로 AWS Batch는
awslogs
로그 드라이버를 활성화합니다. 이 파라미터에 대해 나열된 유효한 값은 Amazon ECS 컨테이너 에이전트가 기본적으로 통신할 수 있는 로그 드라이버입니다.이 파라미터는 도커 원격 APIhttps://docs.docker.com/engine/api/v1.38/
의 컨테이너 생성 섹션에 있는 LogConfig
및 docker run에 대한 --log-driver
옵션에 매핑됩니다. 기본적으로 작업은 도커 대몬(daemon)이 사용하는 것과 동일한 로깅 드라이버를 사용합니다. 하지만 작업은 이 파라미터를 사용하여 작업 정의에 로그 드라이버를 지정함으로써 도커 대몬(daemon)과 다른 로깅 드라이버를 사용할 수 있습니다. 작업에 다른 로깅 드라이버를 지정하려면 컴퓨팅 환경의 컨테이너 인스턴스에 로그 시스템이 구성되어야 합니다. 또는 원격 로깅 옵션을 제공하도록 다른 로그 서버에 구성할 수도 있습니다. 지원되는 다양한 로그 드라이버 옵션에 대한 자세한 정보는 Docker 설명서의 로깅 드라이버 구성을 참조하세요. 참고
현재 AWS Batch는 Docker 대몬(daemon)에서 사용 가능한 로깅 드라이버의 하위 집합을 지원합니다. 향후의 Amazon ECS 컨테이너 에이전트 릴리스에서 로그 드라이버가 추가될 예정입니다.
지원되는 로그 드라이버는
awslogs
,fluentd
,gelf
,json-file
,journald
,logentries
,syslog
,splunk
입니다.참고
Fargate 리소스에서 실행되는 작업은
awslogs
및splunk
로그 드라이버로 제한됩니다.이 파라미터를 사용하려면 컨테이너 인스턴스에서 Docker 원격 API 버전 1.18 이상을 사용해야 합니다. 컨테이너 인스턴스의 도커 원격 API 버전을 확인하려면, 컨테이너 인스턴스에 로그인한 후
sudo docker version | grep "Server API version"
명령을 실행합니다.참고
컨테이너 인스턴스에서 실행되는 Amazon ECS 컨테이너 에이전트는
ECS_AVAILABLE_LOGGING_DRIVERS
환경 변수를 사용하여 해당 인스턴스에서 사용 가능한 로깅 드라이버를 등록해야 합니다. 그렇지 않으면 해당 인스턴스에 배치된 컨테이너가 이러한 로그 구성 옵션을 사용할 수 없습니다. 자세한 내용을 알아보려면 Amazon Elastic Container Service 개발자 안내서의 Amazon ECS 컨테이너 에이전트 구성을 참조하세요.awslogs
-
Amazon CloudWatch Logs 로깅 드라이버를 지정합니다. 자세한 내용은 awslogs 로그 드라이버 사용 섹션 및 도커 설명서의 Amazon CloudWatch Logs 로깅 드라이버
를 참조하세요. fluentd
-
Fluentd 로깅 드라이버를 지정합니다. 사용법 및 옵션을 포함한 자세한 내용은 도커 설명서의 Fluentd 로깅 드라이버
를 참조하세요. gelf
-
GELF(Graylog Extended Format) 로깅 드라이버를 지정합니다. 사용법 및 옵션을 포함한 자세한 내용은 도커 설명서의 Graylog Extended Format 로깅 드라이버
를 참조하세요. journald
-
저널드 로깅 드라이버를 지정합니다. 사용법 및 옵션을 포함한 자세한 내용은 도커 설명서의 Journald 로깅 드라이버
를 참조하세요. json-file
-
JSON 파일 로깅 드라이버를 지정합니다. 사용법 및 옵션을 포함한 자세한 내용은 도커 설명서의 JSON 파일 로깅 드라이버
를 참조하세요. splunk
-
Splunk 로깅 드라이버를 지정합니다. 사용법 및 옵션을 포함한 자세한 내용은 도커 설명서의 Splunk 로깅 드라이버
를 참조하세요. syslog
-
syslog 로깅 드라이버를 지정합니다. 사용법 및 옵션을 포함한 자세한 내용은 도커 설명서의 Syslog 로깅 드라이버
를 참조하세요.
유형: 문자열
필수 항목 여부: 예
유효한 값:
awslogs
|fluentd
|gelf
|journald
|json-file
|splunk
|syslog
참고
위 목록에는 포함되지 않았지만 Amazon ECS 컨테이너 에이전트와 함께 사용하려는 사용자 지정 드라이버가 있는 경우 GitHub에서 사용 가능
한 Amazon ECS 컨테이너 에이전트 프로젝트를 해당 드라이버와 함께 작동하도록 사용자 지정할 수 있습니다. 포함하고 싶은 변경에 대해서는 풀 요청을 제출할 것을 권장합니다. 하지만 Amazon Web Services는 현재 이 소프트웨어의 변경된 사본을 실행하는 요청을 지원하지 않습니다. options
-
작업의 지정 로그 드라이버에 전송하는 로그 구성 옵션입니다.
이 파라미터를 사용하려면 컨테이너 인스턴스에서 Docker 원격 API 버전 1.19 이상을 사용해야 합니다.
유형: 문자열 대 문자열 맵
필수 항목 여부: 아니요
secretOptions
-
로그 구성에 전달할 암호를 나타내는 객체입니다. 자세한 내용은 민감한 데이터 지정 단원을 참조하십시오.
유형: 객체 배열
필수 항목 여부: 아니요
name
-
작업에서 설정할 로그 드라이버 옵션의 이름입니다.
유형: 문자열
필수 항목 여부: 예
valueFrom
-
컨테이너의 로그 구성에 노출할 암호의 Amazon 리소스 이름(ARN)입니다. 지원되는 값은 Secrets Manager 암호의 전체 ARN이거나 혹은 SSM Parameter Store 내 파라미터의 전체 ARN입니다.
참고
SSM Parameter Store 파라미터가 현재 실행 중인 태스크와 동일한 AWS 리전에 있는 경우 파라미터의 전체 ARN 또는 이름을 사용할 수 있습니다. 파라미터가 다른 리전에 있다면 전체 ARN을 지정해야 합니다.
유형: 문자열
필수 항목 여부: 예
memory
-
이 파라미터는 더 이상 사용되지 않으므로 대신
resourceRequirements
를 사용합니다.작업에 예약된 메모리의 MiB 수입니다.
resourceRequirements
를 사용하는 방법의 예로, 작업 정의에 다음과 유사한 구문이 포함되어 있는지 살펴보겠습니다."containerProperties": { "memory":
512
}resourceRequirements
를 사용하는 동등한 구문은 다음과 같습니다."containerProperties": { "resourceRequirements": [ { "type": "MEMORY", "value": "
512
" } ] }유형: 정수
필수 여부: 예
mountPoints
-
컨테이너에서 데이터 볼륨의 탑재 지점입니다. 이 파라미터는 Docker 원격 API
의 컨테이너 생성 섹션에 있는 Volumes
와 docker run에 대한 --volume
옵션에 매핑됩니다."mountPoints": [ { "sourceVolume": "
string
", "containerPath": "string
", "readOnly":true|false
} ]유형: 객체 배열
필수 항목 여부: 아니요
sourceVolume
-
탑재할 볼륨의 이름입니다.
유형: 문자열
필수 항목 여부:
mountPoints
사용 시, 예 containerPath
-
호스트 볼륨을 마운트할 컨테이너의 경로입니다.
유형: 문자열
필수 항목 여부:
mountPoints
사용 시, 예 readOnly
-
이 값이
true
일 경우 컨테이너에는 볼륨에 대한 읽기 전용 액세스가 부여됩니다. 이 값이false
일 경우 컨테이너는 볼륨에 쓸 수 있습니다.타입: 부울
필수 항목 여부: 아니요
기본값: False
networkConfiguration
-
Fargate 리소스에서 실행되는 작업에 대한 네트워크 구성입니다. EC2 리소스에서 실행되는 작업에는 이 파라미터를 지정하지 않아야 합니다.
"networkConfiguration": { "assignPublicIp": "string" }
유형: 객체 배열
필수 항목 여부: 아니요
assignPublicIp
-
작업에 퍼블릭 IP 주소가 있는지 여부를 나타냅니다. 이는 작업에 아웃바운드 네트워크 액세스가 필요한 경우 필요합니다.
유형: 문자열
유효한 값:
ENABLED
|DISABLED
필수 항목 여부: 아니요
기본값:
DISABLED
privileged
-
이 파라미터가 true일 경우 컨테이너에는 호스트 컨테이너 인스턴스에 대한 승격된 권한을 부여받습니다(
root
사용자와 비슷함). 이 파라미터는 Docker 원격 API(Docker Remote API)의 컨테이너 생성(Create a container) 섹션에 있는 Privileged
(와)과 docker run에 대한 --privileged
옵션에 매핑됩니다. 이 파라미터는 Fargate 리소스에서 실행되는 작업에는 적용되지 않습니다. 입력하지 않거나 false로 지정합니다."privileged":
true|false
타입: 부울
필수 항목 여부: 아니요
readonlyRootFilesystem
-
이 파라미터가 true일 경우 컨테이너에는 루트 파일 시스템에 대한 읽기 전용 액세스가 부여됩니다. 이 파라미터는 Docker 원격 API
의 컨테이너 생성 섹션에 있는 ReadonlyRootfs
와 docker run에 대한 --read-only
옵션에 매핑됩니다."readonlyRootFilesystem":
true|false
타입: 부울
필수 항목 여부: 아니요
resourceRequirements
-
컨테이너에 할당할 리소스의 유형 및 양입니다. 지원되는 리소스에는
GPU
MEMORY
및VCPU
이 포함됩니다."resourceRequirements" : [ { "type": "GPU", "value": "
number
" } ]유형: 객체 배열
필수 항목 여부: 아니요
type
-
컨테이너에 할당할 리소스 유형입니다. 지원되는 리소스에는
GPU
MEMORY
및VCPU
이 포함됩니다.유형: 문자열
필수 항목 여부:
resourceRequirements
사용 시, 예 value
-
컨테이너에 대해 예약할 지정된 자원의 수량입니다. 값은 지정된
type
에 따라 다릅니다.- type="GPU"
-
컨테이너용으로 예약할 물리적 GPU의 개수입니다. 작업의 모든 컨테이너에 예약된 GPU 수는 작업이 실행되는 컴퓨팅 리소스에서 사용할 수 있는 GPU 수를 초과할 수 없습니다.
- type="MEMORY"
-
컨테이너에 표시할 메모리의 하드 제한(MiB)입니다. 컨테이너가 여기서 지정된 메모리를 초과하려 하면 해당 컨테이너가 중지됩니다. 이 파라미터는 도커 원격 APIhttps://docs.docker.com/engine/api/v1.38/
의 컨테이너 생성 섹션에 있는 Memory
및 docker run에 대한 --memory
옵션에 매핑됩니다. 한 작업에 대해 메모리를 최소한 4MiB 지정해야 합니다. 이것은 필수이지만 다중 노드 병렬(MNP) 작업의 경우 여러 위치에서 지정할 수 있습니다. 각 노드에 대해 한 번 이상 지정해야 합니다. 이 파라미터는 도커 원격 APIhttps://docs.docker.com/engine/api/v1.38/의 컨테이너 생성 섹션에 있는 Memory
및 docker run에 대한 --memory
옵션에 매핑됩니다.참고
특정 인스턴스 유형에 대해 작업에 가능한 한 많은 메모리를 제공하여 리소스 사용률을 최대화하려는 경우 컴퓨팅 리소스 메모리 관리 섹션을 참조하세요.
Fargate 리소스에서 실행되는 작업의 경우
value
는 지원되는 값 중 하나와 일치해야 합니다. 또한VCPU
값은 해당 메모리 값에 지원되는 값 중 하나여야 합니다.VCPU
MEMORY
0.25 vCPU
512, 1024, 2048MiB
0.5 vCPU
1024~4096 MiB(1024MiB 증분)
1 vCPU
2048~8192MiB(1024MiB 증분)
2 vCPU
4096~16384MiB(1024MiB 증분)
4 vCPU
8192~30720MiB(1024MiB 증분)
8 vCPU
16384~61440MiB(4096MiB 증분)
16 vCPU
32768~122880MiB(8192MiB 증분)
- type="VCPU"
-
작업에 예약된 vCPU 개수입니다. 이 파라미터는 도커 원격 API
의 컨테이너 생성 섹션에 있는 CpuShares
및 docker run에 대한 --cpu-shares
옵션에 매핑됩니다. 각 vCPU는 1,024개의 CPU 공유와 동일합니다. EC2 리소스에서 실행되는 작업의 경우 하나 이상의 vCPU를 지정해야 합니다. 이것은 필수이지만 여러 위치에서 지정할 수 있습니다. 각 노드에 대해 한 번 이상 지정해야 합니다.Fargate 리소스에서 실행되는 작업의 경우
value
는 지원되는 값 중 하나와 일치해야 하며MEMORY
값은 해당 VCPU 값에 대해 지원되는 값 중 하나여야 합니다. 지원되는 값은 0.25, 0.5, 1, 2, 4, 8 및 16입니다.Fargate 온디맨드 vCPU 리소스 수 할당량의 기본값은 vCPU 6개입니다. Fargate 할당량에 대한 자세한 내용은 Amazon Web Services 일반 참조의 AWS Fargate 할당량을 참조하세요.
유형: 문자열
필수 항목 여부:
resourceRequirements
사용 시, 예
secrets
-
환경 변수로 노출되는 작업의 암호입니다. 자세한 내용은 민감한 데이터 지정 단원을 참조하십시오.
"secrets": [ { "name": "
secretName1
", "valueFrom": "secretArn1
" }, { "name": "secretName2
", "valueFrom": "secretArn2
" } ... ]유형: 객체 배열
필수 항목 여부: 아니요
name
-
암호가 포함된 환경 변수의 이름입니다.
유형: 문자열
필수 항목 여부:
secrets
사용 시, 예 valueFrom
-
컨테이너에 노출될 암호입니다. 지원되는 값은 Secrets Manager 암호의 전체 Amazon 리소스 이름(ARN)이거나 혹은 SSM Parameter Store 내 파라미터의 전체 ARN입니다.
참고
SSM Parameter Store 파라미터가 시작 중인 작업과 동일한 AWS 리전에 있는 경우 파라미터의 전체 ARN 또는 이름을 사용할 수 있습니다. 파라미터가 다른 리전에 있다면 전체 ARN을 지정해야 합니다.
유형: 문자열
필수 항목 여부:
secrets
사용 시, 예
ulimits
-
컨테이너에 설정할
ulimits
값의 목록입니다. 이 파라미터는 Docker 원격 API의 컨테이너 생성 섹션에 있는 Ulimits
와 docker run에 대한 --ulimit
옵션에 매핑됩니다."ulimits": [ { "name":
string
, "softLimit":integer
, "hardLimit":integer
} ... ]유형: 객체 배열
필수 항목 여부: 아니요
name
-
ulimit
의type
입니다.유형: 문자열
필수 항목 여부:
ulimits
사용 시, 예 hardLimit
-
ulimit
유형의 하드 제한입니다.유형: 정수
필수 항목 여부:
ulimits
사용 시, 예 softLimit
-
ulimit
유형의 소프트 제한입니다.유형: 정수
필수 항목 여부:
ulimits
사용 시, 예
user
-
컨테이너 내부에서 사용할 사용자 이름입니다. 이 파라미터는 Docker 원격 API
의 컨테이너 생성 섹션에 있는 User
와 docker run에 대한 --user
옵션에 매핑됩니다."user": "
string
"유형: 문자열
필수 항목 여부: 아니요
vcpus
-
이 파라미터는 더 이상 사용되지 않으므로 대신
resourceRequirements
를 사용합니다.컨테이너에 예약된 vCPU 개수입니다.
resourceRequirements
를 사용하는 방법의 예로, 작업 정의에 다음과 비슷한 줄이 포함되어 있는 경우"containerProperties": { "vcpus":
2
}resourceRequirements
를 사용하는 동등한 줄은 다음과 같습니다."containerProperties": { "resourceRequirements": [ { "type": "VCPU", "value": "
2
" } ] }유형: 정수
필수 여부: 예
volumes
-
작업 정의를 등록할 때 컨테이너 인스턴스의 도커 대몬(daemon)으로 전달되는 볼륨 목록을 지정할 수 있습니다. 컨테이너 속성에는 다음 파라미터를 사용할 수 있습니다.
"volumes": [ { "name": "
string
", "host": { "sourcePath": "string
" }, "efsVolumeConfiguration": { "authorizationConfig": { "accessPointId": "string
", "iam": "string
" }, "fileSystemId": "string
", "rootDirectory": "string
", "transitEncryption": "string
", "transitEncryptionPort":number
} } ]name
-
볼륨의 이름입니다. 최대 255개의 문자(대문자 및 소문자), 숫자, 하이픈 및 밑줄이 허용됩니다. 이 이름은 컨테이너 정의
mountPoints
의sourceVolume
파라미터에서 참조됩니다.유형: 문자열
필수 항목 여부: 아니요
host
-
host
파라미터의 콘텐츠는 데이터 볼륨이 호스트 컨테이너 인스턴스에서 지속되는지 여부와 저장 위치를 결정합니다.host
파라미터가 비어 있으면 도커 대몬(daemon)이 데이터 볼륨의 호스트 경로를 할당합니다. 그러나 연결된 컨테이너의 실행이 중지된 후에는 데이터 유지가 보장되지 않습니다.참고
이 파라미터는 Fargate 리소스에서 실행되는 작업에는 적용되지 않습니다.
유형: 객체
필수 항목 여부: 아니요
sourcePath
-
컨테이너에 제공되는 호스트 컨테이너 인스턴스의 경로입니다. 이 파라미터가 비어 있으면 Docker 대몬이 사용자 대신 호스트 경로를 할당합니다.
host
파라미터에sourcePath
파일 위치가 들어 있으면, 사용자가 수동으로 삭제하지 않는 한 데이터 볼륨이 호스트 컨테이너 인스턴스 상에 지정된 위치를 유지합니다.sourcePath
값이 호스트 컨테이너 인스턴스에 없을 경우 도커 대몬(daemon)이 해당 경로를 생성합니다. 해당 위치가 있을 경우 소스 경로 폴더의 콘텐츠를 내보냅니다.유형: 문자열
필수 항목 여부: 아니요
efsVolumeConfiguration
-
이 파라미터는 태스크 저장을 위해 Amazon Elastic File System 파일 시스템을 사용할 때 지정됩니다. 자세한 내용은 Amazon EFS 볼륨 단원을 참조하십시오.
유형: 객체
필수 항목 여부: 아니요
authorizationConfig
-
Amazon EFS 파일 시스템에 대한 권한 부여 구성 세부 정보입니다.
유형: 문자열
필수 항목 여부: 아니요
accessPointId
-
사용할 Amazon EFS 액세스 포인트 ID입니다. 액세스 포인트를 지정하는 경우
EFSVolumeConfiguration
에 지정된 루트 디렉터리 값을 생략하거나/
로 설정해야 합니다. 그러면 EFS 액세스 포인트에 설정된 경로가 적용됩니다. 액세스 포인트를 사용하는 경우EFSVolumeConfiguration
에서 전송 중 데이터 암호화를 활성화해야 합니다. 자세한 정보는 Amazon Elastic File System 사용자 설명서의 Amazon EFS 액세스 포인트 태스크를 참조세요.유형: 문자열
필수 항목 여부: 아니요
iam
-
Amazon EFS 파일 시스템을 탑재할 때 작업 정의에 정의된 AWS Batch 작업 IAM 역할을 사용할지 여부를 결정합니다. 활성화된 경우
EFSVolumeConfiguration
에서 전송 중 데이터 암호화를 활성화해야 합니다. 이 파라미터가 누락되면DISABLED
의 기본값이 사용됩니다. 자세한 내용은 Amazon EFS 액세스 포인트 사용 단원을 참조하십시오.유형: 문자열
유효한 값:
ENABLED
|DISABLED
필수 항목 여부: 아니요
fileSystemId
-
사용할 Amazon EFS 파일 시스템 ID입니다.
유형: 문자열
필수 항목 여부: 아니요
rootDirectory
-
호스트 내의 루트 디렉터리로 탑재할 Amazon EFS 파일 시스템 내 디렉터리입니다. 이 파라미터가 생략되면 Amazon EFS 볼륨의 루트가 사용됩니다.
/
를 지정하면 이 파라미터를 생략하는 것과 동일한 효과가 있습니다. 최대 길이는 4,096자입니다.중요
authorizationConfig
에서 EFS 액세스 포인트를 지정하는 경우 루트 디렉터리 파라미터를 생략하거나/
로 설정해야 합니다. 그러면 Amazon EFS 액세스 포인트에 설정된 경로가 적용됩니다.유형: 문자열
필수 항목 여부: 아니요
transitEncryption
-
암호화에서 Amazon ECS 호스트와 Amazon EFS 서버 간 전송 중 Amazon EFS 데이터를 활성화할지 여부를 결정합니다. Amazon EFS IAM 권한 부여를 사용하는 경우 전송 중 데이터 암호화를 활성화해야 합니다. 이 파라미터가 누락되면
DISABLED
의 기본값이 사용됩니다. 자세한 내용을 알아보려면 Amazon Elastic File System 사용자 설명서의 전송 중 데이터 암호화를 참조하세요.유형: 문자열
유효한 값:
ENABLED
|DISABLED
필수 항목 여부: 아니요
transitEncryptionPort
-
Amazon ECS 호스트와 Amazon EFS 서버 간에 암호화된 데이터를 전송할 때 사용할 포트입니다. 전송 중 데이터 암호화 포트를 지정하지 않으면 Amazon EFS 탑재 헬퍼가 사용하는 포트 선택 전략이 사용됩니다. 이 값은 0~65,535여야 합니다. 자세한 정보는 Amazon Elastic File System 사용자 설명서의 EFS 탑재 헬퍼를 참조하세요.
유형: 정수
필수 항목 여부: 아니요
Amazon EKS 속성
Amazon EKS 기반 작업과 관련된 다양한 속성이 있는 객체입니다. Amazon ECS 기반 작업 정의에 지정해서는 안 됩니다.
podProperties
-
작업의 Kubernetes 포드 리소스에 대한 속성입니다.
유형: EksPodProperties 객체
필수 항목 여부: 아니요
containers
-
Amazon EKS 포드에서 사용되는 컨테이너의 속성입니다.
유형: EksContainer 객체
필수 항목 여부: 아니요
args
-
진입점에 대한 인수 배열입니다. 지정하지 않으면 컨테이너 이미지의
CMD
가 사용됩니다. 이는 Kubernetes에서 포드의 진입점 부분에 있는 args
멤버에 해당합니다. 환경 변수 참조는 컨테이너의 환경을 사용하여 확장됩니다.참조된 환경 변수가 존재하지 않는 경우 명령의 참조는 변경되지 않습니다. 예를 들어, 참조가 '
$(NAME1)
'이고NAME1
환경 변수가 존재하지 않는 경우 명령 문자열은 '$(NAME1)
'로 유지됩니다$$
는$
로 바뀌고 결과 문자열은 확장되지 않습니다. 예를 들어,$$(VAR_NAME)
은VAR_NAME
환경 변수의 존재 여부에 관계없이$(VAR_NAME)
으로 전달됩니다. 자세한 내용은 Dockerfile 참조의 CMD와 Kubernetes 문서의 포드에 대한 명령 및 인자 정의 를 참조하세요. 유형: String 배열
필수 항목 여부: 아니요
command
-
컨테이너의 진입점입니다. 쉘 내에서는 실행되지 않습니다. 지정하지 않으면 컨테이너 이미지의
ENTRYPOINT
가 사용됩니다. 환경 변수 참조는 컨테이너의 환경을 사용하여 확장됩니다.참조된 환경 변수가 존재하지 않는 경우 명령의 참조는 변경되지 않습니다. 예를 들어, 참조가 '
$(NAME1)
'이고NAME1
환경 변수가 존재하지 않는 경우 명령 문자열은 '$(NAME1)
'로 유지됩니다 '$$
'는$
로 바뀌고 결과 문자열은 확장되지 않습니다. 예를 들어,$$(VAR_NAME)
은VAR_NAME
환경 변수의 존재 여부에 관계없이$(VAR_NAME)
으로 전달됩니다. 진입점은 업데이트할 수 없습니다. 자세한 내용은 Dockerfile 참조의 진입점과 Kubernetes 문서의 컨테이너에 대한 명령 및 인자 정의 와 진입점 을 참조하세요. 유형: String 배열
필수 항목 여부: 아니요
env
-
컨테이너로 전달할 환경 변수입니다.
참고
환경 변수는 '
AWS_BATCH
'로 시작할 수 없습니다. 이 이름 지정 규칙은 AWS Batch가 설정하는 변수용으로 예약되어 있습니다.유형: EksContainerEnvironmentVariable 객체 배열
필수 항목 여부: 아니요
name
-
환경 변수의 이름입니다.
유형: 문자열
필수 항목 여부: 예
value
-
환경 변수의 값입니다.
유형: 문자열
필수 항목 여부: 아니요
image
-
컨테이너를 시작하는 데 사용되는 도커 이미지입니다.
유형: 문자열
필수 항목 여부: 예
imagePullPolicy
-
컨테이너에 대한 이미지 가져오기 정책입니다. 지원되는 값은
Always
,IfNotPresent
및Never
입니다. 이 파라미터의 기본값은IfNotPresent
입니다. 그러나:latest
태그가 지정된 경우Always
로 기본 설정됩니다. 자세한 내용은 Kubernetes 문서의 이미지 업데이트를 참조하세요. 유형: 문자열
필수 항목 여부: 아니요
name
-
컨테이너의 이름입니다. 이름을 지정하지 않으면 기본 이름 '
Default
'가 사용됩니다. 포드의 컨테이너마다 고유한 이름이 있어야 합니다.유형: 문자열
필수 항목 여부: 아니요
resources
-
컨테이너에 할당할 리소스의 유형 및 양입니다. 지원되는 리소스에는
memory
cpu
및nvidia.com/gpu
이 포함됩니다. 자세한 내용은 Kubernetes 문서의 포드 및 컨테이너 리소스 관리를 참조하세요. 유형: EksContainerResourceRequirements 객체
필수 항목 여부: 아니요
limits
-
컨테이너용으로 예약할 리소스의 유형 및 수량입니다. 값은 지정된
name
에 따라 다릅니다.limits
또는requests
객체를 사용하여 리소스를 요청할 수 있습니다.- 메모리
-
정수를 사용하는 컨테이너의 메모리 하드 제한(MiB)으로 접미사는 'Mi'입니다. 컨테이너가 지정된 메모리를 초과하려 하면 해당 컨테이너가 중지됩니다. 작업에 대해 최소 4MiB의 메모리를 지정해야 합니다.
limits
,requests
또는 둘 다에memory
를 지정할 수 있습니다.memory
가 두 곳 모두에 지정된 경우limits
에 지정된 값이requests
에 지정된 값과 같아야 합니다.참고
리소스 활용도를 극대화하려면 사용 중인 특정 인스턴스 유형에 대해 가능한 한 많은 메모리를 작업에 제공합니다. 자세한 방법은 컴퓨팅 리소스 메모리 관리(을)를 참조하세요.
- cpu
-
컨테이너용으로 예약된 CPU 개수입니다. 값은
0.25
의 짝수 배수여야 합니다.limits
,requests
또는 둘 다에cpu
를 지정할 수 있습니다.cpu
가 두 곳 모두에 지정된 경우limits
에 지정된 값이requests
에 지정된 값 이상이어야 합니다. - nvidia.com/gpu
-
컨테이너용으로 예약된 GPU 개수입니다. 값은 정수여야 합니다.
limits
,requests
또는 둘 다에memory
를 지정할 수 있습니다.memory
가 두 곳 모두에 지정된 경우limits
에 지정된 값이requests
에 지정된 값과 같아야 합니다.
유형: 문자열 간 맵
값 길이 제약 조건: 최소 길이는 1. 최대 길이는 256.
필수 항목 여부: 아니요
requests
-
컨테이너에 요청할 리소스의 유형 및 수량입니다. 값은 지정된
name
에 따라 다릅니다.limits
또는requests
객체를 사용하여 리소스를 요청할 수 있습니다.- 메모리
-
정수를 사용하는 컨테이너의 메모리 하드 제한(MiB)으로 접미사는 'Mi'입니다. 컨테이너가 지정된 메모리를 초과하려 하면 해당 컨테이너가 중지됩니다. 작업에 대해 최소 4MiB의 메모리를 지정해야 합니다.
limits
,requests
또는 둘 다에memory
를 지정할 수 있습니다.memory
가 둘 다에 지정된 경우limits
에 지정된 값이requests
에 지정된 값과 같아야 합니다.참고
특정 인스턴스 유형에 대해 작업에 가능한 한 많은 메모리를 제공하여 리소스 사용률을 최대화하려는 경우 컴퓨팅 리소스 메모리 관리 섹션을 참조하세요.
- cpu
-
컨테이너용으로 예약된 CPU 개수입니다. 값은
0.25
의 짝수 배수여야 합니다.limits
,requests
또는 둘 다에cpu
를 지정할 수 있습니다.cpu
가 둘 다에 지정된 경우limits
에 지정된 값이requests
에 지정된 값 이상이어야 합니다. - nvidia.com/gpu
-
컨테이너용으로 예약된 GPU 개수입니다. 값은 정수여야 합니다.
limits
,requests
또는 둘 다에nvidia.com/gpu
를 지정할 수 있습니다.nvidia.com/gpu
가 둘 다에 지정된 경우limits
에 지정된 값이requests
에 지정된 값과 같아야 합니다.
유형: 문자열 간 맵
값 길이 제약 조건: 최소 길이는 1. 최대 길이는 256.
필수 항목 여부: 아니요
securityContext
-
작업의 보안 컨텍스트입니다. 자세한 내용은 Kubernetes 문서의 포드 또는 컨테이너에 대한 보안 컨텍스트 구성
을 참조하세요. 유형: EksContainerSecurityContext 객체
필수 항목 여부: 아니요
privileged
-
이 파라미터가
true
일 경우 컨테이너에는 호스트 컨테이너 인스턴스에 대한 승격된 권한이 부여됩니다. 권한 수준은root
사용자 권한과 유사합니다. 기본값은false
입니다. 이 파라미터는 Kubernetes 문서의 권한이 있는 포드 보안 정책에 있는 privileged
정책에 매핑됩니다.타입: 부울
필수 항목 여부: 아니요
readOnlyRootFilesystem
-
이 파라미터가
true
일 경우 컨테이너에는 루트 파일 시스템에 대한 읽기 전용 액세스가 부여됩니다. 기본값은false
입니다. 이 파라미터는 Kubernetes 문서의 볼륨 및 파일 시스템 포드 보안 정책에 있는 ReadOnlyRootFilesystem
정책에 매핑됩니다.타입: 부울
필수 항목 여부: 아니요
runAsGroup
-
이 파라미터를 지정하면 지정된 그룹 ID(
gid
)로 컨테이너가 실행됩니다. 이 파라미터를 지정하지 않으면 기본값은 이미지 메타데이터에 지정된 그룹입니다. 이 파라미터는 Kubernetes 문서의 사용자 및 그룹 포드 보안 정책에 있는 RunAsGroup
및MustRunAs
정책에 매핑됩니다.유형: Long
필수 항목 여부: 아니요
runAsNonRoot
-
이 파라미터를 지정하면 컨테이너는
uid
가 0이 아닌 사용자로 실행됩니다. 이 파라미터를 지정하지 않으면 해당 규칙이 적용됩니다. 이 파라미터는 Kubernetes 문서의 사용자 및 그룹 포드 보안 정책에 있는 RunAsUser
및MustRunAsNonRoot
정책에 매핑됩니다.유형: Long
필수 항목 여부: 아니요
runAsUser
-
이 파라미터를 지정하면 지정된 사용자 ID(
uid
)로 컨테이너가 실행됩니다. 이 파라미터를 지정하지 않으면 기본값은 이미지 메타데이터에 지정된 사용자입니다. 이 파라미터는 Kubernetes 문서의 사용자 및 그룹 포드 보안 정책에 있는 RunAsUser
및MustRanAs
정책에 매핑됩니다.유형: Long
필수 항목 여부: 아니요
volumeMounts
-
Amazon EKS 작업의 컨테이너에 볼륨이 마운트됩니다. Kubernetes의 볼륨 및 볼륨 마운트에 대한 자세한 내용은 Kubernetes 문서의 볼륨
을 참조하세요. 유형: EksContainerVolumeMount 객체 배열
필수 항목 여부: 아니요
mountPath
-
볼륨이 마운트되는 컨테이너의 경로입니다.
유형: 문자열
필수 항목 여부: 아니요
name
-
볼륨 마운트의 이름입니다. 포드에 있는 볼륨 중 하나의 이름과 일치해야 합니다.
유형: 문자열
필수 항목 여부: 아니요
readOnly
-
이 값이
true
일 경우 컨테이너에는 볼륨에 대한 읽기 전용 액세스가 부여됩니다. 그렇지 않으면 컨테이너가 볼륨에 쓸 수 있습니다. 기본값은false
입니다.타입: 부울
필수 항목 여부: 아니요
dnsPolicy
-
포드의 DNS 정책입니다. 기본값은
ClusterFirst
입니다.hostNetwork
파라미터가 지정되지 않은 경우 기본값은ClusterFirstWithHostNet
입니다.ClusterFirst
는 구성된 클러스터 도메인 접미사와 일치하지 않는 모든 DNS 쿼리가 노드에서 상속된 업스트림 이름 서버로 전달됨을 나타냅니다. RegisterJobDefinition API 작업에서dnsPolicy
에 대해 지정된 값이 없으면 DescribeJobDefinitions 또는 DescribeJobs API 작업에서dnsPolicy
에 대한 값이 반환되지 않습니다. 포드 사양 설정에는hostNetwork
파라미터 값에 따라ClusterFirst
또는ClusterFirstWithHostNet
이 포함됩니다. 자세한 내용은 Kubernetes 문서의 포드 DNS 정책을 참조하세요. 유효한 값:
Default
|ClusterFirst
|ClusterFirstWithHostNet
유형: 문자열
필수 항목 여부: 아니요
hostNetwork
-
포드가 호스트의 네트워크 IP 주소를 사용하는지 여부를 나타냅니다. 기본값은
true
입니다. 이를false
로 설정하면 Kubernetes 포드 네트워킹 모델이 활성화됩니다. 대부분의 AWS Batch 워크로드는 송신 전용이며 수신 연결에 대해 포드마다 IP 할당 오버헤드가 필요하지 않습니다. 자세한 내용은 Kubernetes 문서의 호스트 네임스페이스와 포드 네트워킹 을 참조하세요. 타입: 부울
필수 항목 여부: 아니요
serviceAccountName
-
포드를 실행하는 데 사용되는 서비스 계정의 이름입니다. 자세한 내용은 Amazon EKS 사용자 설명서의 Kubernetes 서비스 계정과 IAM 역할을 수임하도록 Kubernetes 서비스 계정 구성 및 Kubernetes 문서의 포드에 대한 서비스 계정 구성
을 참조하세요. 유형: 문자열
필수 항목 여부: 아니요
volumes
-
Amazon EKS 리소스를 사용하는 작업 정의에 대한 볼륨을 지정합니다.
유형: EKSVolume 객체 배열
필수 항목 여부: 아니요
- emptyDir
-
Kubernetes
emptyDir
볼륨의 구성을 지정합니다.emptyDir
볼륨은 포드가 노드에 할당될 때 처음 생성됩니다. 포드가 해당 노드에서 실행되는 한 존재합니다.emptyDir
볼륨은 처음에는 비어 있습니다. 포드의 모든 컨테이너는emptyDir
볼륨의 파일을 읽고 쓸 수 있습니다. 그러나emptyDir
볼륨은 각 컨테이너에서 동일하거나 다른 경로에 마운트될 수 있습니다. 어떤 이유로든 포드가 노드에서 제거되면emptyDir
의 데이터는 영구적으로 삭제됩니다. 자세한 내용은 Kubernetes 문서의 emptyDir를 참조하세요. 유형: EksEmptyDir 객체
필수 항목 여부: 아니요
- medium
-
볼륨을 저장할 매체입니다. 기본값은 노드의 스토리지를 사용하는 빈 문자열입니다.
- ""
-
(기본값) 노드의 디스크 스토리지를 사용합니다.
- "Memory"
-
노드의 RAM이 지원하는
tmpfs
볼륨을 사용합니다. 노드가 재부팅되면 볼륨의 콘텐츠가 손실되고 볼륨의 모든 스토리지는 컨테이너의 메모리 제한에 포함됩니다.
유형: 문자열
필수 항목 여부: 아니요
- sizeLimit
-
볼륨의 최대 크기입니다. 기본적으로 최대 크기는 정의되어 있지 않습니다.
유형: 문자열
길이 제약 조건: 최소 길이는 1입니다. 최대 길이는 256.
필수 항목 여부: 아니요
- hostPath
-
Kubernetes
hostPath
볼륨의 구성을 지정합니다.hostPath
볼륨은 호스트 노드의 파일 시스템에 있는 기존 파일 또는 디렉터리를 포드에 마운트합니다. 자세한 내용은 Kubernetes 문서의 hostPath를 참조하세요. 유형: EksHostPath 객체
필수 항목 여부: 아니요
- 경로
-
포드의 컨테이너에 마운트할 호스트의 파일 또는 디렉터리 경로입니다.
유형: 문자열
필수 항목 여부: 아니요
- name
-
볼륨의 이름입니다. 이름은 DNS 하위 도메인 이름으로 허용되어야 합니다. 자세한 내용은 Kubernetes 문서의 DNS 서브도메인 이름
을 참조하세요. 유형: 문자열
필수 항목 여부: 예
- secret
-
Kubernetes
secret
볼륨의 구성을 지정합니다. 자세한 내용은 Kubernetes 설명서의 암호를 참조하세요. 유형: EksSecret 객체
필수 항목 여부: 아니요
- 선택 사항
-
암호 또는 암호 키를 정의해야 하는지 여부를 지정합니다.
타입: 부울
필수 항목 여부: 아니요
- secretName
-
암호의 이름입니다. 이름은 DNS 하위 도메인 이름으로 허용되어야 합니다. 자세한 내용은 Kubernetes 문서의 DNS 서브도메인 이름
을 참조하세요. 유형: 문자열
필수 항목 여부: 예
플랫폼 기능
platformCapabilities
-
작업 정의에 필요한 플랫폼 기능입니다. 값을 지정하지 않은 경우 기본값은
EC2
입니다. Fargate 리소스에서 실행되는 작업에는FARGATE
가 지정됩니다.참고
작업이 Amazon EKS 리소스에서 실행되는 경우,
platformCapabilities
를 지정하지 않아야 합니다.유형: 문자열
유효한 값:
EC2
|FARGATE
필수 항목 여부: 아니요
태그 전파
propagateTags
-
작업 또는 작업 정의에서 해당 Amazon ECS 작업으로 태그를 전파할지 여부를 지정합니다. 값을 지정하지 않으면 태그가 전파되지 않습니다. 태그는 작업이 생성될 때만 작업에 전파될 수 있습니다. 이름이 같은 태그의 경우 작업 태그가 작업 정의 태그보다 우선합니다. 작업 및 작업 정의의 결합된 태그의 총 수가 50개를 넘으면 작업이
FAILED
상태로 전환됩니다.참고
작업이 Amazon EKS 리소스에서 실행되는 경우,
propagateTags
를 지정하지 않아야 합니다.타입: 부울
필수 항목 여부: 아니요
노드 속성
nodeProperties
-
다중 노드 병렬 작업 정의를 등록할 때 노드 속성의 목록을 지정해야 합니다. 이러한 노드 속성은 작업에 사용할 노드 수, 주 노드 인덱스 및 사용할 다양한 노드 범위를 정의합니다. 작업이 Fargate 리소스에서 실행되는 경우,
nodeProperties
를 지정할 수 없습니다. 대신containerProperties
를 사용합니다. 다음과 같은 노드 속성을 작업 정의에 사용할 수 있습니다. 자세한 내용은 다중 노드 병렬 작업 단원을 참조하십시오.참고
작업이 Amazon EKS 리소스에서 실행되는 경우,
nodeProperties
를 지정하지 않아야 합니다.유형: NodeProperties 객체
필수 항목 여부: 아니요
mainNode
-
다중 노드 병렬 작업의 기본 노드에 대한 노드 인덱스를 지정합니다. 이 노드 인덱스 값은 노드 수보다 적어야 합니다.
유형: 정수
필수 여부: 예
numNodes
-
다중 노드 병렬 작업과 연결된 노드 수입니다.
유형: 정수
필수 여부: 예
nodeRangeProperties
-
노드 범위 및 다중 노드 병렬 작업과 연결된 해당 속성의 목록입니다.
참고
노드 그룹은 모두 동일한 컨테이너 속성을 공유하는 작업 노드의 동일한 그룹입니다. AWS Batch를 사용하여 각 작업에 대해 최대 5개의 개별 노드 그룹을 지정할 수 있습니다.
유형: NodeRangeProperty 객체의 배열
필수 여부: 예
targetNodes
-
노드 인덱스 값을 사용하는 노드의 범위입니다.
0:3
의 범위는 인덱스 값이0
-3
인 노드를 나타냅니다. 시작 범위 값이 생략되면(:n
) 이 범위를 시작하는 데 0이 사용됩니다. 종료 범위 값이 생략되면(n:
) 가능한 최고 노드 인덱스가 범위를 종료하는 데 사용됩니다. 누적 노드 범위는 모든 노드(0:n
)를 고려해야 합니다. 노드 범위를 중첩할 수 있습니다(예:0:10
및4:5
). 이 경우4:5
범위 속성이0:10
속성을 재정의합니다.유형: 문자열
필수 항목 여부: 아니요
container
-
노드 범위에 대한 컨테이너 세부 정보입니다. 자세한 내용은 컨테이너 속성 단원을 참조하십시오.
유형: ContainerProperties 객체
필수 항목 여부: 아니요
재시도 전략
retryStrategy
-
작업 정의를 등록할 때 해당 작업 정의로 제출하여 실패한 작업에 대해 재시도 전략을 지정할 수도 있습니다. SubmitJob 작업 중에 지정된 모든 재시도 전략은 여기에 정의된 재시도 전략을 재정의합니다. 기본적으로 각 작업은 한 번 재시도됩니다. 시도를 두 번 이상으로 지정하면 작업이 실패할 경우 작업이 재시도됩니다. 실패한 시도의 예로는 작업이 0이 아닌 종료 코드를 반환하거나 컨테이너 인스턴스가 종료되는 경우를 들 수 있습니다. 자세한 내용은 작업 자동 재시도 단원을 참조하십시오.
유형: RetryStrategy 객체
필수 항목 여부: 아니요
attempts
-
작업이
RUNNABLE
상태로 이동하는 횟수입니다. 1부터 10까지 시도 횟수를 지정할 수 있습니다.attempts
가 1보다 크면 작업이 실패할 경우 작업이RUNNABLE
상태로 될 때까지 작업이 재시도됩니다."attempts":
integer
유형: 정수
필수 항목 여부: 아니요
evaluateOnExit
-
작업이 다시 시도되거나 실패하는 조건을 지정하는 최대 5개의 객체 배열입니다. 이 파라미터를 지정하면
attempts
파라미터도 지정해야 합니다.evaluateOnExit
를 지정했지만 일치하는 항목이 없는 경우 작업이 다시 시도됩니다."evaluateOnExit": [ { "action": "
string
", "onExitCode": "string
", "onReason": "string
", "onStatusReason": "string
" } ]유형: EvaluateOnExit 객체 배열
필수 항목 여부: 아니요
action
-
지정된 모든 조건 (
onStatusReason
,onReason
및onExitCode
) 이 충족되는 경우 수행할 작업을 지정합니다. 값은 대/소문자를 구분하지 않습니다.유형: 문자열
필수 항목 여부: 예
유효한 값:
RETRY
|EXIT
onExitCode
-
작업에 대해 반환된
ExitCode
의 십진수 표현과 일치하는 glob 패턴을 포함합니다. 패턴의 최대 길이는 512자입니다. 숫자만 포함할 수 있습니다. 문자나 특수 문자를 포함할 수 없습니다. 선택적으로 별표 (*) 로 끝날 수 있으므로 문자열의 시작 부분 만 정확히 일치해야합니다.유형: 문자열
필수 항목 여부: 아니요
onReason
-
작업에 대해 반환된
Reason
와 일치하는 glob 패턴을 포함합니다. 패턴의 최대 길이는 512자입니다. 문자, 숫자, 마침표(.), 콜론(:) 및 공백(공백, 탭)을 포함할 수 있습니다. 선택적으로 별표 (*) 로 끝날 수 있으므로 문자열의 시작 부분 만 정확히 일치해야합니다.유형: 문자열
필수 항목 여부: 아니요
onStatusReason
-
작업에 대해 반환된
StatusReason
와 일치하는 glob 패턴을 포함합니다. 패턴의 최대 길이는 512자입니다. 문자, 숫자, 마침표(.), 콜론(:) 및 공백(공백, 탭)을 포함할 수 있습니다. 선택적으로 별표 (*) 로 끝날 수 있으므로 문자열의 시작 부분 만 정확히 일치해야합니다.유형: 문자열
필수 항목 여부: 아니요
예약 우선 순위
schedulingPriority
-
이 작업 정의와 함께 제출된 작업의 예약 우선 순위입니다. 이는 공정 공유 정책이 있는 작업 대기열의 작업에만 영향을 줍니다. 예약 우선순위가 높은 작업이 예약 우선순위가 낮은 작업보다 먼저 예약됩니다.
지원되는 최솟값은 0이고, 지원되는 최댓값은 9999입니다.
유형: 정수
필수 항목 여부: 아니요
Tags
tags
-
작업 정의와 연결할 키-값 쌍 태그. 자세한 내용은 AWS Batch 리소스 태깅 단원을 참조하십시오.
유형: 문자열 대 문자열 맵
필수 항목 여부: 아니요
Timeout
timeout
-
작업이 더 오래 실행되면 AWS Batch(이)가 작업을 종료하도록 작업의 제한 시간을 구성할 수 있습니다. 자세한 내용은 작업 제한 시간 단원을 참조하십시오. 제한 시간으로 인해 작업이 종료되면 재시도되지 않습니다. SubmitJob 작업 중에 지정된 모든 제한 시간 구성은 여기에 정의된 제한 시간 구성을 재정의합니다. 자세한 내용은 작업 제한 시간 단원을 참조하십시오.
유형: JobTimeout 객체
필수 항목 여부: 아니요
attemptDurationSeconds
-
AWS Batch가 완료되지 않은 작업을 종료할 때까지의 기간(초)(작업 시도의
startedAt
타임스탬프에서 측정됨)입니다. 제한 시간의 최소 값은 60초입니다.배열 작업의 경우 상위 배열 작업이 아닌 하위 작업에 제한 시간이 적용됩니다.
다중 노드 병렬(MNP) 작업의 경우 개별 노드가 아닌 전체 작업에 제한 시간이 적용됩니다.
유형: 정수
필수 항목 여부: 아니요