Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Auftragsdefinitionsparameter für ContainerProperties
Auftragsdefinitionen, die verwenden, ContainerProperties
werden in mehrere Teile aufgeteilt:
den Namen der Auftragsdefinition
den Typ der Auftragsdefinition
Standardwerte für den Platzhalter für die Parameterersetzung
die Container-Eigenschaften für den Auftrag
-
die Amazon-EKS-Eigenschaften für die Auftragsdefinition, die für Aufgaben erforderlich sind, die auf Amazon-EKS-Ressourcen ausgeführt werden
die Knoteneigenschaften, die für einen parallelen Auftrag mit mehreren Knoten erforderlich sind
die Plattformfunktionen, die für Aufgaben erforderlich sind, die auf Fargate-Ressourcen ausgeführt werden
die Standarddetails der Tag-Verbreitung der Auftragsdefinition
die Standard-Wiederholungsstrategie für die Auftragsdefinition
die Standard-Planungspriorität für die Auftragsdefinition
die Standard-Tags für die Auftragsdefinition
das Standard-Timeout für die Auftragsdefinition
Inhalt
Name der Auftragsdefinition
jobDefinitionName
-
Wenn Sie eine Auftragsdefinition registrieren, geben Sie einen Namen ein. Der Name kann bis zu 128 Zeichen lang sein. Er kann Groß- und Kleinbuchstaben, Zahlen, Bindestriche (-) und Unterstriche (_) enthalten. Die erste Auftragsdefinition, die mit diesem Namen registriert ist, erhält die Revision 1. Alle nachfolgenden Auftragsdefinitionen, die mit diesem Namen registriert werden, erhalten eine inkrementelle Versionsnummer.
Typ: Zeichenfolge
Erforderlich: Ja
Typ
type
-
Wenn Sie eine Auftragsdefinition registrieren, geben Sie den Auftragstyp an. Wenn der Auftrag auf Fargate-Ressourcen ausgeführt
multinode
wird, wird nicht unterstützt. Weitere Informationen zu parallelen Aufträgen mit mehreren Knoten finden Sie unter Erstellen einer parallelen Auftragsdefinition mit mehreren Knoten.Typ: Zeichenfolge
Zulässige Werte:
container
|multinode
Erforderlich: Ja
Parameter
parameters
-
Wenn Sie einen Auftrag einreichen, können Sie Parameter angeben, die die Platzhalter ersetzen oder die Standardparameter der Auftragsdefinition überschreiben. Die Parameter in Anforderungen zum Senden von Aufträgen haben Vorrang vor den Standardeinstellungen in einer Auftragsdefinition. Das bedeutet, dass Sie dieselbe Auftragsdefinition für mehrere Aufträge verwenden können, die dasselbe Format verwenden. Sie können Werte im Befehl auch programmgesteuert zum Zeitpunkt der Übermittlung ändern.
Typ: Abbildung einer Zeichenfolge auf eine Zeichenfolge
Erforderlich: Nein
Wenn Sie eine Auftragsdefinition registrieren, können Sie Parameterersetzungsplatzhalter in das Feld
command
der Container-Eigenschaften eines Auftrags verwenden. Die Syntax ist wie folgt."command": [ "ffmpeg", "-i", "
Ref::inputfile
", "-c", "Ref::codec
", "-o", "Ref::outputfile
" ]Im obigen Beispiel befinden sich die Parameterersetzungsplatzhalter
,Ref::inputfile
undRef::codec
im Befehl. Sie können das -Ref::outputfile
parameters
Objekt in der Auftragsdefinition verwenden, um Standardwerte für diese Platzhalter festzulegen. Um beispielsweise einen Standard für die
-Platzhalter einzustellen, legen Sie Folgendes in der Auftragsdefinition fest:Ref::codec
"parameters" : {"codec" : "mp4"}
Wenn diese Auftragsdefinition zur Ausführung übermittelt wird, wird das
Argument im Befehl für den Container durch den Standardwert ersetztRef::codec
mp4
.
Container-Eigenschaften
Wenn Sie eine Auftragsdefinition registrieren, geben Sie eine Liste der Containereigenschaften an, die an den Docker-Daemon auf einer Container-Instance übergeben werden, wenn der Auftrag platziert wird. Die folgenden Container-Eigenschaften sind in einer Auftragsdefinition zulässig. Für Aufträge mit einzelnen Knoten werden diese Container-Eigenschaften auf Auftragsdefinitionsebene festgelegt. Für parallele Aufträge mit mehreren Knoten werden die Container-Eigenschaften für jede Knotengruppe auf der Ebene der Knoteneigenschaften festgelegt.
command
-
Der Befehl, der an den Container übergeben wird. Dieser Parameter ist
Cmd
im Abschnitt Erstellen eines Containersder Docker Remote-API und dem Parameter COMMAND
von docker runzugeordnet. Weitere Informationen zum Docker-Parameter CMD
finden Sie unter https://docs.docker.com/engine/reference/builder/#cmd. "command": ["
string
", ...]Typ: Zeichenfolgen-Array
Erforderlich: Nein
environment
-
Die Umgebungsvariablen, die an einen Container übergeben werden. Dieser Parameter ordnet zu
Env
im Bereich Erstellen eines Containersder Docker Remote API und der Option --env
für die docker runzu. Wichtig
Wir raten davon ab, Umgebungsvariablen im Klartext für sensible Informationen wie Anmeldeinformationen zu verwenden.
Anmerkung
Umgebungsvariablen dürfen nicht mit beginnen
AWS_BATCH
. Diese Namenskonvention ist für Variablen reserviert, die vom AWS Batch Service festgelegt werden.Typ: Array von Schlüssel-Wert-Paaren
Erforderlich: Nein
name
-
Der Name der Umgebungsvariable.
Typ: Zeichenfolge
Erforderlich: Ja, wenn
environment
verwendet wird. value
-
Der Wert der Umgebungsvariable.
Typ: Zeichenfolge
Erforderlich: Ja, wenn
environment
verwendet wird.
"environment" : [ { "name" : "
envName1
", "value" : "envValue1
" }, { "name" : "envName2
", "value" : "envValue2
" } ] executionRoleArn
-
Wenn Sie eine Auftragsdefinition registrieren, können Sie eine IAM-Rolle angeben. Die Rolle stellt dem Amazon-ECS-Container-Agent die Berechtigungen zum Aufrufen der API-Aktionen bereit, die in den zugehörigen Richtlinien in Ihrem Namen angegeben sind. Aufträge, die auf Fargate-Ressourcen ausgeführt werden, müssen eine Ausführungsrolle bereitstellen. Weitere Informationen finden Sie unter AWS Batch Ausführung, IAM-Rolle.
Typ: Zeichenfolge
Erforderlich: Nein
fargatePlatformConfiguration
-
Die Plattformkonfiguration für Aufträge, die auf Fargate-Ressourcen ausgeführt werden. Aufgaben, die auf EC2-Ressourcen laufen, dürfen diesen Parameter nicht angeben.
Typ: FargatePlatformConfiguration Objekt
Erforderlich: Nein
platformVersion
-
Die AWS Fargate-Plattformversion verwendet für die Aufträge oder
LATEST
eine aktuelle, genehmigte Version der AWS Fargate-Plattform.Typ: Zeichenfolge
Standard:
LATEST
Erforderlich: Nein
image
-
Das Image, das zum Starten eines Auftrags verwendet wird. Diese Zeichenfolge wird direkt an den Docker-Daemon übergeben. Images in der Docker Hub-Registrierung sind standardmäßig verfügbar. Sie können auch andere Repositorys mit
angeben. Bis zu 255 Buchstaben (Groß- und Kleinbuchstaben), Ziffern, Bindestriche, Unterstriche, Doppelpunkte, Punkte und Schrägstriche sind zulässig. Dieser Parameter wirdrepository-url
/image
:tag
Image
zugeordnet im Abschnitt Create a container(Erstellen eines Containers) im Docker-Remote-API und dem IMAGE
-Parameter von docker run. Anmerkung
Docker Die Image-Architektur muss mit der Prozessorarchitektur der Rechenressourcen übereinstimmen, für die sie geplant sind. Beispielsweise können Armbasierte Docker Images nur auf -Armbasierten Rechenressourcen ausgeführt werden.
-
Bilder in öffentlichen Amazon-ECR-Repositorys verwenden die vollständige -
registry/repository[:tag]
oder -registry/repository[@digest]
Namenskonvention (z. B.public.ecr.aws/
).registry_alias
/my-web-app
:latest
-
Bilder in Amazon-ECR-Repositorys verwenden die vollständige
registry/repository:[tag]
Namenskonvention. Beispiel:aws_account_id
.dkr.ecr.region
.amazonaws.com/
my-web-app
:latest
-
Images in offiziellen Repositorys in Docker Hub verwenden einen einzelnen Namen (z. B.
ubuntu
odermongo
). -
Images in anderen Repositorys in Docker Hub sind mit einem Organisationsnamen qualifiziert (z. B,
amazon/amazon-ecs-agent
). -
Image in anderen Online-Repositorys sind durch einen Domain-Namen zusätzlich qualifiziert (z. B.
quay.io/assemblyline/ubuntu
).
Typ: Zeichenfolge
Erforderlich: Ja
-
instanceType
-
Der Instance-Typ zur Verwendung für einen parallelen Auftrag mit mehreren Knoten. Alle Knotengruppen müssen in einem parallelen Auftrag mit mehreren Knoten den gleichen Instance-Typ verwenden. Dieser Parameter ist nicht gültig für Container-Aufträge mit einem Knoten oder für Aufträge, die auf Fargate-Ressourcen ausgeführt werden.
Typ: Zeichenfolge
Erforderlich: Nein
jobRoleArn
-
Wenn Sie eine Auftragsdefinition registrieren, können Sie eine IAM-Rolle angeben. Die Rolle stellt dem Auftrags-Container Berechtigungen zum Aufrufen der API-Aktionen zur Verfügung, die in den zugehörigen Richtlinien in Ihrem Namen festgelegt sind. Weitere Informationen finden Sie unter IAM-Rollen für Aufgaben im Entwicklerhandbuch zum Amazon Elastic Container Service.
Typ: Zeichenfolge
Erforderlich: Nein
linuxParameters
-
Linux-spezifische Änderungen, die auf den Container angewendet werden, z. B. Details für Gerätezuordnungen.
"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
}Typ: LinuxParameters Objekt
Erforderlich: Nein
devices
-
Liste der im Container zugeordneten Geräte. Dieser Parameter ist
Devices
im Abschnitt Einen Container erstellender Docker-Remote-API und der Option --device
für die Docker-Ausführungzugeordnet. Anmerkung
Dieser Parameter ist nicht auf Aufträge anwendbar, die auf Fargate-Ressourcen ausgeführt werden.
Typ: Array von Device-Objekten
Erforderlich: Nein
hostPath
-
Pfad, in dem sich das in der Host-Container-Instance verfügbare Gerät befindet.
Typ: Zeichenfolge
Erforderlich: Ja
containerPath
-
Pfad, in dem sich das Gerät im Container befindet. Wenn dies nicht angegeben ist, wird das Gerät auf demselben Pfad wie der Hostpfad bereitgestellt.
Typ: Zeichenfolge
Erforderlich: Nein
permissions
-
Berechtigungen für das Gerät im Container. Wenn dies nicht angegeben ist
READ
, werden die Berechtigungen aufWRITE
, und festgelegtMKNOD
.Typ: Zeichenfolgen-Array
Erforderlich: Nein
Zulässige Werte:
READ
|WRITE
|MKNOD
initProcessEnabled
-
Wenn der Wert "true" lautet, führen Sie einen
init
-Prozess innerhalb des Containers aus, der Signalen weiterleitet und Prozesse aufnimmt. Dieser Parameter wird der Option--init
für die Docker-Ausführungzugeordnet. Für diesen Parameter muss Ihre Docker Remote API Version 1.25 oder höher in Ihrer Container-Instance verwenden. Um die Docker Remote API-Version auf Ihrer Container-Instance zu überprüfen, melden Sie sich bei Ihrer Container-Instance an und führen Sie den folgenden Befehl aus: sudo docker version | grep "Server API version"
Typ: Boolesch
Erforderlich: Nein
maxSwap
-
Die Gesamtmenge des Auslagerungsspeichers (in MiB), die ein Auftrag verwenden kann. Dieser Parameter ist in die Option
--memory-swap
zur Docker-Ausführungübersetzt, wobei der Wert die Summe aus dem Container-Speicher und dem Wert maxSwap
ist. Weitere Informationen finden Sie unter--memory-swap
-Detailsin der Docker-Dokumentation. Wenn als
maxSwap
-Wert0
angegeben wird, verwendet der Container keine Auslagerung. Zulässige Werte sind0
oder eine beliebige positive Ganzzahl. Wenn dermaxSwap
Parameter weggelassen wird, verwendet der Container die Swap-Konfiguration für die Container-Instance, auf der er ausgeführt wird. Es muss ein Wert fürmaxSwap
festgelegt werden, damit der Parameterswappiness
verwendet werden kann.Anmerkung
Dieser Parameter ist nicht auf Aufträge anwendbar, die auf Fargate-Ressourcen ausgeführt werden.
Typ: Ganzzahl
Erforderlich: Nein
sharedMemorySize
-
Der Wert für die Größe des
/dev/shm
-Volumes (in MiB). Dieser Parameter wird der Option--shm-size
für die Docker-Ausführungzugeordnet. Anmerkung
Dieser Parameter ist nicht auf Aufträge anwendbar, die auf Fargate-Ressourcen ausgeführt werden.
Typ: Ganzzahl
Erforderlich: Nein
swappiness
-
Auf diese Weise können Sie das Speicherauslagerungsverhalten eines Containers optimieren. Ein
swappiness
Wert von0
führt dazu, dass kein Auslagern stattfindet, es sei denn, dies ist unbedingt erforderlich. Einswappiness
-Wert von100
führt dazu, dass Seiten aggressiv ausgelagert werden. Akzeptierte Werte sind Ganzzahlen zwischen0
und100
. Wenn der Parameterswappiness
nicht angegeben wird, wird der Standardwert60
verwendet. Wenn kein Wert fürmaxSwap
angegeben ist, wird dieser Parameter ignoriert. WennmaxSwap
auf 0 gesetzt ist, verwendet der Container kein Auslagern. Dieser Parameter wird der Option--memory-swappiness
für die Docker-Ausführungzugeordnet. Beachten Sie Folgendes, wenn Sie eine Auslagerungskonfiguration pro Container verwenden.
-
Der Auslagerungsbereich muss auf der Container-Instance aktiviert und zugewiesen werden, damit die Container verwenden können.
Anmerkung
Für die von Amazon ECS optimierten AMIs ist Auslagern nicht standardmäßig aktiviert. Sie müssen die Auslagerung auf der Instance aktivieren, um dieses Feature verwenden zu können. Weitere Informationen finden Sie in Instance Store Swap Volumes im Amazon EC2-Benutzerhandbuch für Linux-Instances oder Wie weise ich Speicher für die Arbeit als Swap Space in einer Amazon-EC2-Instance mithilfe einer Auslagerungsdatei zu?
. -
Die Parameter des Auslagerungs werden nur für Aufgabendefinitionen unterstützt, die EC2-Ressourcen verwenden.
-
Wenn die Container-Definitionsparameter
maxSwap
undswappiness
in einer Aufgabendefinition weggelassen werden, hat jeder Container denswappiness
-Standardwert 60. Die gesamte Auslagerungsnutzung ist auf das Zweifache der Speicherreservierung des Containers begrenzt.
Anmerkung
Dieser Parameter ist nicht auf Aufträge anwendbar, die auf Fargate-Ressourcen ausgeführt werden.
Typ: Ganzzahl
Erforderlich: Nein
-
tmpfs
-
Der Container-Pfad, Mount-Optionen und Größe des tmpfs-Mounts.
Typ: Array von Tmpfs-Objekten
Anmerkung
Dieser Parameter ist nicht auf Aufträge anwendbar, die auf Fargate-Ressourcen ausgeführt werden.
Erforderlich: Nein
containerPath
-
Der absolute Dateipfad in dem Container, in dem das tmpfs-Volume gemountet ist.
Typ: Zeichenfolge
Erforderlich: Ja
mountOptions
-
Die Liste der Mount-Optionen für das tmpfs-Volume.
Zulässige Werte: „
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
Typ: Zeichenfolgen-Array
Erforderlich: Nein
size
-
Die Größe des tmpfs-Volumes (in MB).
Typ: Ganzzahl
Erforderlich: Ja
logConfiguration
-
Die Protokollkonfigurationsspezifikation für den Auftrag.
Dieser Parameter ist
LogConfig
im Abschnitt Einen Container erstellender Docker-Remote-API und der Option --log-driver
für die Docker-Ausführungzugeordnet. Standardmäßig verwenden Container den gleichen Protokolltreiber wie der Docker-Daemon. Der Container kann jedoch einen anderen Protokolltreiber als der Docker-Daemon verwenden, indem ein Protokolltreiber mit diesem Parameter in der Containerdefinition angegeben wird. Um einen anderen Protokolltreiber für einen Container zu verwenden, muss das Protokollsystem entweder auf der Container-Instance oder auf einem anderen Protokollserver konfiguriert sein, um Remote-Protokollierungsoptionen bereitzustellen. Weitere Informationen zu den Optionen für die verschiedenen unterstützten Protokolltreiber finden Sie unter Configure logging drivers (Protokolltreiber konfigurieren) in der Docker-Dokumentation. Anmerkung
AWS Batch unterstützt derzeit eine Teilmenge der Protokolltreiber, die für den Docker-Daemon verfügbar sind (im -LogConfigurationDatentyp dargestellt).
Für diesen Parameter muss Ihre Docker Remote API Version 1.18 oder höher in Ihrer Container-Instance verwenden. Um die Docker Remote API-Version auf Ihrer Container-Instance zu überprüfen, melden Sie sich bei Ihrer Container-Instance an und führen Sie den folgenden Befehl aus:
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
" } ] } ] }Typ: LogConfiguration Objekt
Erforderlich: Nein
logDriver
-
Der Protokolltreiber, der für den Auftrag verwendet werden soll. Standardmäßig AWS Batch aktiviert den
awslogs
Protokolltreiber. Die für diesen Parameter aufgelisteten gültigen Werte sind Protokolltreiber, mit denen der Amazon-ECS-Container-Agent standardmäßig kommunizieren kann.Dieser Parameter ist
LogConfig
im Abschnitt Einen Container erstellender Docker-Remote-API und der Option --log-driver
für die Docker-Ausführungzugeordnet. Standardmäßig verwenden Aufträge denselben Protokolltreiber, den der Docker-Daemon verwendet. Der Auftrag kann jedoch einen anderen Protokolltreiber als der Docker-Daemon verwenden, indem ein Protokolltreiber mit diesem Parameter in der Auftragsdefinition angegeben wird. Wenn Sie einen anderen Protokolltreiber für einen Auftrag angeben möchten, muss das Protokollsystem auf der Container-Instance in der Datenverarbeitungsumgebung konfiguriert sein. Alternativ können Sie ihn auch auf einem anderen Protokollserver konfigurieren, um Optionen für die Remote-Protokollierung bereitzustellen. Weitere Informationen zu den Optionen für die verschiedenen unterstützten Protokolltreiber finden Sie unter Configure logging drivers (Protokolltreiber konfigurieren) in der Docker-Dokumentation. Anmerkung
AWS Batch unterstützt derzeit eine Teilmenge der Protokolltreiber, die für den Docker-Daemon verfügbar sind. Es ist möglich, dass in zukünftigen Releases des Amazon-ECS-Container-Agenten weitere Protokolltreiber zur Verfügung stehen.
Die unterstützten Protokolltreiber sind
awslogs
,fluentd
,gelf
,json-file
,journald
,logentries
,syslog
undsplunk
.Anmerkung
Aufträge, die auf Fargate-Ressourcen ausgeführt werden, sind auf die
splunk
Protokolltreiberawslogs
und beschränkt.Für diesen Parameter muss Ihre Docker Remote API Version 1.18 oder höher in Ihrer Container-Instance verwenden. Um die Docker Remote API-Version auf Ihrer Container-Instance zu überprüfen, melden Sie sich bei Ihrer Container-Instance an und führen Sie den folgenden Befehl aus:
sudo docker version | grep "Server API version"
Anmerkung
Der Amazon-ECS-Container-Agent, der auf einer Container-Instance ausgeführt wird, muss die auf dieser Instance verfügbaren Protokolltreiber mit der
ECS_AVAILABLE_LOGGING_DRIVERS
Umgebungsvariablen registrieren. Andernfalls können die auf dieser Instance platzierten Container diese Protokollkonfigurationsoptionen nicht verwenden. Weitere Informationen finden Sie unter Amazon ECS Container Agent Configuration im Entwicklerhandbuch zum Amazon Elastic Container Service.awslogs
-
Gibt den Amazon- CloudWatch Logs-Protokolltreiber an. Weitere Informationen finden Sie unter Verwenden des awslogs-Protokolltreibers und Amazon- CloudWatch Logs-Protokolltreiber
in der Docker-Dokumentation. fluentd
-
Gibt den Fluentd-Protokolltreiber an. Weitere Informationen, einschließlich Verwendung und Optionen, finden Sie unter Fluentd-Protokolltreiber
in der Docker-Dokumentation. gelf
-
Gibt den Graylog Extended Format (GELF)-Protokolltreiber an. Weitere Informationen, einschließlich Verwendung und Optionen, finden Sie unter Graylog Extended Format-Protokolltreiber
in der Docker-Dokumentation. journald
-
Gibt den Journald-Protokolltreiber an. Weitere Informationen, einschließlich Verwendung und Optionen, finden Sie unter Journald-Protokolltreiber
in der Docker-Dokumentation. json-file
-
Gibt den Treiber für die JSON-Datei an. Weitere Informationen, einschließlich Verwendung und Optionen, finden Sie unter JSON-Dateiprotokolltreiber
in der Docker-Dokumentation. splunk
-
Gibt den Splunk-Protokolltreiber an. Weitere Informationen, einschließlich Verwendung und Optionen, finden Sie unter Splunk-Protokolltreiber
in der Docker-Dokumentation. syslog
-
Gibt den Syslog-Protokolltreiber an. Weitere Informationen, einschließlich Verwendung und Optionen, finden Sie unter Syslog-Protokolltreiber
in der Docker-Dokumentation.
Typ: Zeichenfolge
Erforderlich: Ja
Zulässige Werte:
awslogs
|fluentd
|gelf
|journald
|json-file
|splunk
|syslog
Anmerkung
Wenn Sie über einen benutzerdefinierten Treiber verfügen, der zuvor nicht aufgeführt ist, den Sie mit dem Amazon-ECS-Container-Agenten verwenden möchten, können Sie das Amazon-ECS-Container-Agent-Projekt, das auf verfügbar GitHub
ist, verzweigen und an diesen Treiber anpassen. Wir möchten Sie bitten, uns eventuelle Änderungswünsche mitzuteilen. Amazon Web Services unterstützt derzeit jedoch keine Anforderungen, die modifizierte Kopien dieser Software ausführen. options
-
Protokollkonfigurationsoptionen, die an einen Protokolltreiber für den Auftrag gesendet werden sollen.
Für diesen Parameter muss Ihre Docker Remote API Version 1.19 oder höher in Ihrer Container-Instance verwenden.
Typ: Abbildung einer Zeichenfolge auf eine Zeichenfolge
Erforderlich: Nein
secretOptions
-
Ein Objekt, welches das Secret darstellt, der an die Protokollkonfiguration übergeben werden soll. Weitere Informationen finden Sie unter Angabe sensibler Daten.
Typ: Objekt-Array
Erforderlich: Nein
name
-
Der Name der Protokolltreiberoption, die im Auftrag festgelegt werden soll.
Typ: Zeichenfolge
Erforderlich: Ja
valueFrom
-
Der Amazon-Ressourcenname (ARN) des Secrets, das der Protokollkonfiguration des Containers zur Verfügung gestellt werden soll. Die unterstützten Werte sind entweder der vollständige ARN des Secrets-Manager-Secrets oder der vollständige ARN des Parameters im SSM Parameter Store.
Anmerkung
Wenn sich der SSM-Parameterspeicher-Parameter in derselben AWS-Region wie die Aufgabe befindet, die Sie starten, können Sie entweder den vollständigen ARN oder den Namen des Parameters verwenden. Wenn der Parameter in einer anderen Region existiert, muss der volle ARN angegeben werden.
Typ: Zeichenfolge
Erforderlich: Ja
memory
-
Dieser Parameter ist veraltet. Verwenden Sie
resourceRequirements
stattdessen .Die Anzahl des für den Auftrag reservierten Arbeitsspeichers in MiB.
Als Beispiel für die Verwendung von
resourceRequirements
, wenn Ihre Auftragsdefinition eine Syntax enthält, die der folgenden ähnelt."containerProperties": { "memory":
512
}Die entsprechende Syntax, die verwendet,
resourceRequirements
lautet wie folgt."containerProperties": { "resourceRequirements": [ { "type": "MEMORY", "value": "
512
" } ] }Typ: Ganzzahl
Erforderlich: Ja
mountPoints
-
Die Mountingpunkte für Daten-Volumes in Ihrem Container. Dieser Parameter ordnet zu
Volumes
im Bereich Erstellen eines Containersder Docker Remote API und der Option --volume
für die docker runzu. "mountPoints": [ { "sourceVolume": "
string
", "containerPath": "string
", "readOnly":true|false
} ]Typ: Objekt-Array
Erforderlich: Nein
sourceVolume
-
Der Name des zu mountenden Volumes.
Typ: Zeichenfolge
Erforderlich: Ja, wenn
mountPoints
verwendet wird. containerPath
-
Der Pfad auf dem Container, in dem das Host-Volume gemountet werden soll.
Typ: Zeichenfolge
Erforderlich: Ja, wenn
mountPoints
verwendet wird. readOnly
-
Wenn dieser Wert
true
lautet, verfügt der Container über schreibgeschützten Zugriff auf das Volume. Lautet der Wertfalse
, dann verfügt der Container über Schreibzugriff auf das Volume.Typ: Boolesch
Erforderlich: Nein
Standard: False
networkConfiguration
-
Die Netzwerkkonfiguration für Aufträge, die auf Fargate-Ressourcen ausgeführt werden. Aufgaben, die auf EC2-Ressourcen laufen, dürfen diesen Parameter nicht angeben.
"networkConfiguration": { "assignPublicIp": "string" }
Typ: Objekt-Array
Erforderlich: Nein
assignPublicIp
-
Gibt an, ob die Aufgabe eine öffentliche IP-Adresse hat. Dies ist erforderlich, wenn der Auftrag ausgehenden Netzwerkzugriff benötigt.
Typ: Zeichenfolge
Zulässige Werte:
ENABLED
|DISABLED
Erforderlich: Nein
Standard:
DISABLED
privileged
-
Wenn dieser Parameter den Wert „true“ aufweist, erhält der Container erhöhte Berechtigungen auf der Host-Container-Instance (ähnlich wie der
root
-Benutzer). Dieser Parameter ordnet zuPrivileged
im Bereich Erstellen eines Containersder Docker Remote API und der Option --privileged
für die docker runzu. Dieser Parameter ist nicht auf Aufträge anwendbar, die auf Fargate-Ressourcen ausgeführt werden. Geben Sie sie nicht an oder geben Sie sie als falsch an. "privileged":
true|false
Typ: Boolesch
Erforderlich: Nein
readonlyRootFilesystem
-
Wenn dieser Parameter den Wert „true“ aufweist, erhält der Container Lesezugriff auf das Root-Dateisystem. Dieser Parameter ordnet zu
ReadonlyRootfs
im Bereich Erstellen eines Containersder Docker Remote API und der Option --read-only
für die docker runzu. "readonlyRootFilesystem":
true|false
Typ: Boolesch
Erforderlich: Nein
resourceRequirements
-
Die Art und Menge einer Ressource, die einem Container zugewiesen werden soll. Zu den unterstützten Ressourcen gehören
GPU
,MEMORY
undVCPU
."resourceRequirements" : [ { "type": "GPU", "value": "
number
" } ]Typ: Objekt-Array
Erforderlich: Nein
type
-
Die Art einer Ressource, die einem Container zugewiesen werden soll. Zu den unterstützten Ressourcen gehören
GPU
,MEMORY
undVCPU
.Typ: Zeichenfolge
Erforderlich: Ja, wenn
resourceRequirements
verwendet wird. value
-
Die Menge der angegebenen Ressource, die für den Container reserviert werden soll. Die Werte variieren abhängig vom angegebenen
type
.- type="GPU"
-
Die Anzahl der physischen GPUs für die Reservierung für den Container. Die Anzahl der für alle Container in einem Auftrag reservierten GPUs darf die Anzahl der verfügbaren GPUs auf der Rechenressource, auf der der Auftrag gestartet wird, nicht überschreiten.
- Typ="SPEICHER"
-
Die harte Arbeitsspeichergrenze (in MiB), die dem Container bereitgestellt wird. Wenn Ihr Container versucht, das hier angegebene Limit zu überschreiten, wird der Container beendet. Dieser Parameter ist
Memory
im Abschnitt Einen Container erstellender Docker-Remote-API und der Option --memory
für die Docker-Ausführungzugeordnet. Sie müssen mindestens 4 MB Arbeitsspeicher für einen Auftrag festlegen. Dies ist erforderlich, kann jedoch an mehreren Stellen für parallele (MNP)-Aufgaben mit mehreren Knoten angegeben werden. Es muss mindestens einmal für jeden Knoten angegeben werden. Dieser Parameter ist Memory
im Abschnitt Einen Container erstellender Docker-Remote-API und der Option --memory
für die Docker-Ausführungzugeordnet. Anmerkung
Wenn Sie versuchen, Ihre Ressourcenauslastung zu maximieren, indem Sie Ihren Aufträgen so viel Speicher wie möglich für einen bestimmten Instance-Typ bereitstellen, finden Sie weitere Informationen unter DatenverarbeitungsressourceSpeicherverwaltung.
Bei Aufträgen, die auf Fargate-Ressourcen ausgeführt werden,
value
muss mit einem der unterstützten Werte übereinstimmen. Darüber hinaus müssen dieVCPU
Werte einer der Werte sein, die für diesen Speicherwert unterstützt werden.VCPU
MEMORY
0,25 vCPU
512, 1024 und 2048 MiB
0,5 vCPU
1024-4096 MiB in Schritten von 1024 MiB
1 vCPU
2048-8192 MiB in Schritten von 1024 MiB
2 vCPU
4096-16384 MiB in Schritten von 1024 MiB
4 vCPU
8192-30720 MiB in Schritten von 1024 MiB
8 vCPU
16384-61440 MiB in Schritten von 4096 MiB
16 vCPU
32768-122880 MiB in Schritten von 8192 MiB
- Typ="VCPU“
-
Die Anzahl von vCPUs, die für die Aufgabe reserviert sind. Dieser Parameter ist
CpuShares
im Abschnitt Einen Container erstellender Docker-Remote-API und der Option --cpu-shares
für die Docker-Ausführungzugeordnet. Jede vCPU entspricht 1.024 CPU-Anteilen. Für Aufträge, die auf EC2-Ressourcen ausgeführt werden, müssen Sie mindestens eine vCPU angeben. Dies ist erforderlich, kann aber an mehreren Stellen angegeben werden. Es muss mindestens einmal für jeden Knoten angegeben werden. Für Aufgaben, die auf Fargate-Ressourcen ausgeführt werden,
value
muss mit einem der unterstützten Werte übereinstimmen und dieMEMORY
Werte müssen einer der Werte sein, die für diesen VCPU-Wert unterstützt werden. Die unterstützten Werte sind 0,25, 0,5, 1, 2, 4, 8 und 16.Der Standardwert für das Kontingent für die Anzahl der vCPU-Ressourcen von Fargate On-Demand beträgt 6 vCPUs. Weitere Informationen zu Fargate-Kontingenten finden Sie unter AWS Fargate-Kontingente im Allgemeine Amazon Web Services-Referenz.
Typ: Zeichenfolge
Erforderlich: Ja, wenn
resourceRequirements
verwendet wird.
secrets
-
Die Geheimnisse für den Auftrag, die als Umgebungsvariablen verfügbar gemacht werden. Weitere Informationen finden Sie unter Angabe sensibler Daten.
"secrets": [ { "name": "
secretName1
", "valueFrom": "secretArn1
" }, { "name": "secretName2
", "valueFrom": "secretArn2
" } ... ]Typ: Objekt-Array
Erforderlich: Nein
name
-
Der Name der Umgebungsvariablen, die das Secret enthält.
Typ: Zeichenfolge
Erforderlich: Ja, wenn
secrets
verwendet wird. valueFrom
-
Das Geheimnis, das dem Container exponiert werden muss. Die unterstützten Werte sind entweder der vollständige Amazon-Ressourcenname (ARN) des Secrets-Manager-Secrets oder der vollständige ARN des Parameters im SSM Parameter Store.
Anmerkung
Wenn sich der SSM-Parameterspeicher-Parameter in derselben AWS-Region wie der Auftrag befindet, den Sie starten, können Sie entweder den vollständigen ARN oder den Namen des Parameters verwenden. Wenn der Parameter in einer anderen Region existiert, muss der volle ARN angegeben werden.
Typ: Zeichenfolge
Erforderlich: Ja, wenn
secrets
verwendet wird.
ulimits
-
Eine Liste der
ulimits
-Werte, die im Container festgelegt werden sollen. Dieser Parameter ordnet zuUlimits
im Bereich Erstellen eines Containersder Docker Remote API und der Option --ulimit
für die docker runzu. "ulimits": [ { "name":
string
, "softLimit":integer
, "hardLimit":integer
} ... ]Typ: Objekt-Array
Erforderlich: Nein
name
-
Der
type
desulimit
-Werts.Typ: Zeichenfolge
Erforderlich: Ja, wenn
ulimits
verwendet wird. hardLimit
-
Das harte Limit für den
ulimit
-Typ.Typ: Ganzzahl
Erforderlich: Ja, wenn
ulimits
verwendet wird. softLimit
-
Das weiche Limit für den
ulimit
-Typ.Typ: Ganzzahl
Erforderlich: Ja, wenn
ulimits
verwendet wird.
user
-
Der Benutzername, der im Container verwendet werden soll. Dieser Parameter ordnet zu
User
im Bereich Erstellen eines Containersder Docker Remote API und der Option --user
für die docker runzu. "user": "
string
"Typ: Zeichenfolge
Erforderlich: Nein
vcpus
-
Dieser Parameter ist veraltet. Verwenden Sie
resourceRequirements
stattdessen .Die Anzahl von vCPUs, die für den Container reserviert sind.
Als Beispiel für die Verwendung von
resourceRequirements
, wenn Ihre Auftragsdefinition Zeilen enthält, die dieser ähneln:"containerProperties": { "vcpus":
2
}Die entsprechenden Zeilen, die verwenden
resourceRequirements
, lauten wie folgt."containerProperties": { "resourceRequirements": [ { "type": "VCPU", "value": "
2
" } ] }Typ: Ganzzahl
Erforderlich: Ja
volumes
-
Wenn Sie eine Auftragsdefinition registrieren, können Sie eine Liste der Volumes angeben, die an den Docker-Daemon in einer Container-Instance übergeben werden sollen. Die folgenden Parameter sind in den Container-Eigenschaften zulässig:
"volumes": [ { "name": "
string
", "host": { "sourcePath": "string
" }, "efsVolumeConfiguration": { "authorizationConfig": { "accessPointId": "string
", "iam": "string
" }, "fileSystemId": "string
", "rootDirectory": "string
", "transitEncryption": "string
", "transitEncryptionPort":number
} } ]name
-
Der Name des Volumes. Bis zu 255 Buchstaben (Groß- und Kleinbuchstaben), Ziffern, Bindestriche und Unterstriche sind zulässig. Auf diesen Namen wird im Parameter
sourceVolume
der ContainerdefinitionmountPoints
verwiesen.Typ: Zeichenfolge
Erforderlich: Nein
host
-
Der Inhalt des Parameters
host
bestimmt, ob Ihr Daten-Volume auf der Host-Container-Instance erhalten bleibt und wo es gespeichert wird. Wenn der Parameterhost
leer ist, weist der Docker-Daemon einen Host-Pfad für Ihr Daten-Volume zu. Es kann jedoch nicht garantiert werden, dass die Daten erhalten bleiben, nachdem der damit verknüpfte Container nicht mehr ausgeführt wird.Anmerkung
Dieser Parameter ist nicht auf Aufträge anwendbar, die auf Fargate-Ressourcen ausgeführt werden.
Typ: Objekt
Erforderlich: Nein
sourcePath
-
Der Pfad auf der Host-Container-Instance, die dem Container angezeigt wird. Wenn dieser Parameter leer ist, weist der Docker-Daemon einen Host-Pfad für Sie zu.
Wenn der Parameter
host
den SpeicherortsourcePath
enthält, bleibt das Daten-Volume an der angegebenen Position der Host-Container-Instance erhalten, bis Sie es manuell löschen. Wenn dersourcePath
-Wert auf der Host-Container-Instance nicht vorhanden ist, wird der Docker-Daemon ihn erstellen. Wenn der Speicherort nicht vorhanden ist, wird der Inhalt des Quellpfadordners exportiert.Typ: Zeichenfolge
Erforderlich: Nein
efsVolumeConfiguration
-
Dieser Parameter wird angegeben, wenn Sie ein Dateisystem von Amazon Elastic File System für die Aufgabenspeicherung verwenden. Weitere Informationen finden Sie unter Amazon EFS-Volumes.
Typ: Objekt
Erforderlich: Nein
authorizationConfig
-
Die Autorisierungskonfigurationsdetails für das Amazon EFS-Dateisystem.
Typ: Zeichenfolge
Erforderlich: Nein
accessPointId
-
Die Amazon EFS-Zugriffspunkt-ID, die verwendet werden soll. Wenn ein Zugriffspunkt angegeben ist,
EFSVolumeConfiguration
muss der in angegebene Stammverzeichniswert entweder weggelassen oder auf festgelegt werden/
. Dadurch wird der Pfad erzwungen, der auf dem EFS-Zugriffspunkt festgelegt ist. Wenn ein Zugriffspunkt verwendet wird, muss inEFSVolumeConfiguration
die Transitverschlüsselung aktiviert sein. Weitere Informationen finden Sie unter Arbeiten mit Amazon EFS-Zugriffspunkten im Amazon Elastic File System-Benutzerhandbuch.Typ: Zeichenfolge
Erforderlich: Nein
iam
-
Bestimmt, ob die in einer Auftragsdefinition definierte AWS Batch Auftrags-IAM-Rolle beim Mounten des Amazon-EFS-Dateisystems verwendet werden soll. Wenn diese Option aktiviert ist, muss die Transit-Verschlüsselung in
EFSVolumeConfiguration
aktiviert sein. Wenn dieser Parameter nicht angegeben ist, wird der StandardwertDISABLED
verwendet. Weitere Informationen finden Sie unter Verwenden von Amazon EFS Access Points.Typ: Zeichenfolge
Zulässige Werte:
ENABLED
|DISABLED
Erforderlich: Nein
fileSystemId
-
Die zu verwendende Amazon EFS-Dateisystem-ID.
Typ: Zeichenfolge
Erforderlich: Nein
rootDirectory
-
Das Verzeichnis im Amazon EFS-Dateisystem, das als Stammverzeichnis im Host bereitgestellt werden soll. Wenn dieser Parameter weggelassen wird, wird der Stamm des Amazon-EFS-Volumes verwendet. Wenn Sie angeben
/
, hat dies den gleichen Effekt wie das Weglassen dieses Parameters. Die maximale Länge beträgt 4,096 Zeichen.Wichtig
Wenn ein EFS-Zugriffspunkt in der angegeben ist
authorizationConfig
, muss der Stammverzeichnisparameter entweder weggelassen oder auf festgelegt werden/
. Dadurch wird der Pfad erzwungen, der auf dem Amazon-EFS-Zugriffspunkt festgelegt ist.Typ: Zeichenfolge
Erforderlich: Nein
transitEncryption
-
Legt fest, ob die Verschlüsselung für Amazon-EFS-Daten während der Übertragung zwischen dem Amazon-ECS-Host und dem Amazon-EFS-Server aktiviert werden soll. Die Transit-Verschlüsselung muss aktiviert sein, wenn die Amazon-EFS-IAM-Autorisierung verwendet wird. Wenn dieser Parameter nicht angegeben ist, wird der Standardwert
DISABLED
verwendet. Weitere Informationen finden Sie unter Verschlüsseln von Daten während der Übertragung im Benutzerhandbuch für Amazon Elastic File System.Typ: Zeichenfolge
Zulässige Werte:
ENABLED
|DISABLED
Erforderlich: Nein
transitEncryptionPort
-
Der zu verwendende Port zum Senden verschlüsselter Daten zwischen dem Amazon-ECS-Host und dem Amazon EFS-Server. Wenn Sie keinen Transit-Verschlüsselungsport angeben, wird die Port-Auswahlstrategie verwendet, die der Amazon EFS-Mount-Helfer verwendet. Dieser Wert muss zwischen 0 und 65.535 liegen. Weitere Informationen finden Sie unter EFS-Mount-Helfer im Benutzerhandbuch für Amazon Elastic File System.
Typ: Ganzzahl
Erforderlich: Nein
Amazon-EKS-Eigenschaften
Ein Objekt mit verschiedenen Eigenschaften, die für Amazon-EKS-basierte Aufträge spezifisch sind. Dies darf nicht für Amazon-ECS-basierte Auftragsdefinitionen angegeben werden.
podProperties
-
Die Eigenschaften für die PodKubernetes-Ressourcen eines Auftrags.
Typ: EksPodProperties Objekt
Erforderlich: Nein
containers
-
Die Eigenschaften des Containers, der im Amazon-EKS-Pod verwendet wird.
Typ: EksContainer Objekt
Erforderlich: Nein
args
-
Eine Reihe von Argumenten für den Einstiegspunkt. Wenn dies nicht angegeben ist, wird der
CMD
des Container-Images verwendet. Dies entspricht demargs
Mitglied im Einstiegspunktdes Pod sin Kubernetes. Verweise auf Umgebungsvariablen werden mithilfe der Umgebung des Containers erweitert. Wenn die referenzierte Umgebungsvariable nicht existiert, wird die Referenz im Befehl nicht geändert. Wenn der Verweis beispielsweise „
$(NAME1)
“ lautet und dieNAME1
-Umgebungsvariable nicht existiert, bleibt die Befehlszeichenfolge „$(NAME1)
“ erhalten.$$
wird ersetzt durch$
und die resultierende Zeichenfolge wird nicht erweitert. Beispielsweise wird$$(VAR_NAME)
als$(VAR_NAME)
übergeben, unabhängig davon, ob die UmgebungsvariableVAR_NAME
vorhanden ist oder nicht. Weitere Informationen finden Sie unter CMDin der Dockerfile-Referenz und Definieren eines Befehls und von Argumenten für einen Pod in der Kubernetes -Dokumentation. Typ: Zeichenfolgen-Array
Erforderlich: Nein
command
-
Der Einstiegspunkt für den Container. Dies wird nicht in einer Shell ausgeführt. Wenn dies nicht angegeben ist, wird der
ENTRYPOINT
des Container-Images verwendet. Verweise auf Umgebungsvariablen werden mithilfe der Umgebung des Containers erweitert.Wenn die referenzierte Umgebungsvariable nicht existiert, wird die Referenz im Befehl nicht geändert. Wenn der Verweis beispielsweise „
$(NAME1)
“ lautet und dieNAME1
-Umgebungsvariable nicht existiert, bleibt die Befehlszeichenfolge „$(NAME1)
“ erhalten.$$
wird ersetzt durch$
, und die resultierende Zeichenfolge wird nicht erweitert. Beispielsweise wird$$(VAR_NAME)
als$(VAR_NAME)
übergeben, unabhängig davon, ob die UmgebungsvariableVAR_NAME
vorhanden ist oder nicht. Der Einstiegspunkt kann nicht aktualisiert werden. Weitere Informationen finden Sie unter ENTRYPOINTin der Dockerfile-Referenz und Definieren eines Befehls und von Argumenten für einen Container und Entrypoint in der Kubernetes -Dokumentation. Typ: Zeichenfolgen-Array
Erforderlich: Nein
env
-
Die Umgebungsvariablen, die an einen Container übergeben werden.
Anmerkung
Umgebungsvariablen können nicht mit
AWS_BATCH
beginnen. Diese Namenskonvention ist für Variablen reserviert, die AWS Batch festlegt.Typ: Array von EksContainerEnvironmentVariable-Objekten
Erforderlich: Nein
name
-
Der Name der Umgebungsvariable.
Typ: Zeichenfolge
Erforderlich: Ja
value
-
Der Wert der Umgebungsvariable.
Typ: Zeichenfolge
Erforderlich: Nein
image
-
Das Docker-Image zum Starten des Containers.
Typ: Zeichenfolge
Erforderlich: Ja
imagePullPolicy
-
Die Image-Pull-Richtlinie für den Container. Unterstützte Werte sind
Always
,IfNotPresent
undNever
. Dieser Parameter lautet standardmäßigIfNotPresent
. Wenn das:latest
-Tag jedoch angegeben ist, ist es standardmäßigAlways
. Weitere Informationen finden Sie unter Aktualisieren von Imagesin der Kubernetes -Dokumentation. Typ: Zeichenfolge
Erforderlich: Nein
name
-
Name des Containers. Wenn der Name nicht angegeben ist, wird der Standardname „
Default
“ verwendet. Jeder Container in einem Pod muss einen eindeutigen Namen haben.Typ: Zeichenfolge
Erforderlich: Nein
resources
-
Die Art und Menge an Ressourcen, die einem Container zugewiesen werden sollen. Zu den unterstützten Ressourcen gehören
memory
,cpu
undnvidia.com/gpu
. Weitere Informationen finden Sie unter Ressourcenverwaltung für Pods und Containerin der Kubernetes -Dokumentation. Typ: EksContainerResourceRequirements Objekt
Erforderlich: Nein
limits
-
Typ und Menge der Ressourcen, die für den Container reserviert werden sollen. Die Werte variieren abhängig vom angegebenen
name
. Ressourcen können entweder mithilfe derlimits
- oderrequests
-Objekte angefordert werden.- memory
-
Die harte Speichergrenze (in MB) für den Container, unter Verwendung ganzer Zahlen, mit dem Suffix „Mi“. Wenn Ihr Container versucht, das angegebene Limit zu überschreiten, wird der Container beendet. Sie müssen mindestens 4 MB Arbeitsspeicher für einen Auftrag festlegen.
memory
kann inlimits
,requests
oder in beiden angegeben werden. Wennmemory
in beiden Orten angegeben ist, muss der Wert, der inlimits
angegeben ist, dem Wert entsprechen, der inrequests
angegeben ist.Anmerkung
Um Ihre Ressourcenauslastung zu maximieren, stellen Sie Ihren Aufträgen so viel Arbeitsspeicher wie möglich für den spezifischen Instance-Typ zur Verfügung, den Sie verwenden. Um zu erfahren wie dies geht, vgl. DatenverarbeitungsressourceSpeicherverwaltung.
- cpu
-
Die Anzahl der für den Container reservierten CPUs. Werte müssen ein gerade Vielfaches von
0.25
sein.cpu
kann inlimits
,requests
oder in beiden angegeben werden. Wenncpu
in beiden Orten angegeben ist, muss der Wert, der inlimits
angegeben ist, mindestens so groß sein wie der Wert, der inrequests
angegeben ist. - nvidia.com/gpu
-
Die Anzahl der GPUs, die für den Container reserviert sind. Werte müssen eine ganze Zahl sein.
memory
kann inlimits
,requests
oder in beiden angegeben werden. Wennmemory
in beiden Orten angegeben ist, muss der Wert, der inlimits
angegeben ist, dem Wert entsprechen, der inrequests
angegeben ist.
Typ: Abbildung einer Zeichenfolge auf eine Zeichenfolge
Längenbeschränkungen des Wertes: Minimale Länge von 1. Maximale Länge beträgt 256 Zeichen.
Erforderlich: Nein
requests
-
Typ und Menge der für den Container anzufordernden Ressourcen. Die Werte variieren abhängig vom angegebenen
name
. Ressourcen können entweder mithilfe derlimits
-Objekte oder derrequests
-Objekte angefordert werden.- memory
-
Die harte Speichergrenze (in MB) für den Container, unter Verwendung ganzer Zahlen, mit dem Suffix „Mi“. Wenn Ihr Container versucht, das angegebene Limit zu überschreiten, wird der Container beendet. Sie müssen mindestens 4 MB Arbeitsspeicher für einen Auftrag festlegen.
memory
kann inlimits
,requests
oder in beiden angegeben werden. Wennmemory
in beiden angegeben ist, muss der Wert, der inlimits
angegeben ist, dem Wert entsprechen, der inrequests
angegeben ist.Anmerkung
Wenn Sie versuchen, Ihre Ressourcenauslastung zu maximieren, indem Sie Ihren Aufträgen so viel Speicher wie möglich für einen bestimmten Instance-Typ bereitstellen, finden Sie weitere Informationen unter DatenverarbeitungsressourceSpeicherverwaltung.
- cpu
-
Die Anzahl von CPUs, die für den Container reserviert sind. Werte müssen ein gerade Vielfaches von
0.25
sein.cpu
kann inlimits
,requests
oder in beiden angegeben werden. Wenncpu
in beiden angegeben ist, muss der Wert, der inlimits
angegeben ist, mindestens so groß sein wie der Wert, der inrequests
angegeben ist. - nvidia.com/gpu
-
Die Anzahl der GPUs die für den Container reserviert sind. Werte müssen eine ganze Zahl sein.
nvidia.com/gpu
kann inlimits
,requests
oder in beiden angegeben werden. Wennnvidia.com/gpu
in beiden angegeben ist, muss der Wert, der inlimits
angegeben ist, dem Wert entsprechen, der inrequests
angegeben ist.
Typ: Abbildung einer Zeichenfolge auf eine Zeichenfolge
Längenbeschränkungen des Wertes: Minimale Länge von 1. Maximale Länge beträgt 256 Zeichen.
Erforderlich: Nein
securityContext
-
Der Sicherheitskontext für einen Auftrag. Weitere Informationen finden Sie unter Konfigurieren eines Sicherheitskontexts für einen Pod oder Container
in der Kubernetes -Dokumentation. Typ: EksContainerSecurityContext Objekt
Erforderlich: Nein
privileged
-
Wenn dieser Parameter den Wert
true
aufweist, erhält der Container erhöhte Berechtigungen auf der Host-Container-Instance. Die Ebene der Berechtigungen ähnelt denroot
Benutzerberechtigungen. Der Standardwert istfalse
. Dieser Parameter ist derprivileged
Richtlinie in den Sicherheitsrichtlinien für privilegierte Podsin der Kubernetes Dokumentation zugeordnet. Typ: Boolesch
Erforderlich: Nein
readOnlyRootFilesystem
-
Wenn dieser Parameter den Wert
true
aufweist, erhält der Container Lesezugriff auf das Root-Dateisystem. Der Standardwert istfalse
. Dieser Parameter ist derReadOnlyRootFilesystem
Richtlinie in den Pod-Sicherheitsrichtlinien für Volumes und Dateisystemein der Kubernetes -Dokumentation zugeordnet. Typ: Boolesch
Erforderlich: Nein
runAsGroup
-
Wenn dieser Parameter angegeben ist, wird der Container mit der angegebenen Gruppen-ID (
gid
) ausgeführt. Wird dieser Parameter nicht angegeben, wird standardmäßig die Gruppe verwendet, die in den Image-Metadaten angegeben ist. Dieser Parameter ist den -RunAsGroup
und -MustRunAs
Richtlinien in den Pod-Sicherheitsrichtlinien Benutzer und Gruppen in der Kubernetes Dokumentation zugeordnet. https://kubernetes.io/docs/concepts/security/pod-security-policy/#users-and-groupsType: Long
Erforderlich: Nein
runAsNonRoot
-
Wenn dieser Parameter angegeben ist, wird der Container als Benutzer mit einem
uid
mit anderen Wert als 0 ausgeführt. Wenn dieser Parameter nicht angegeben ist, wird eine solche Regel durchgesetzt. Dieser Parameter ist denMustRunAsNonRoot
RichtlinienRunAsUser
und in den Pod-Sicherheitsrichtlinien Benutzer und Gruppenin der Kubernetes Dokumentation zugeordnet. Type: Long
Erforderlich: Nein
runAsUser
-
Wenn dieser Parameter angegeben ist, wird der Container mit der angegebenen Benutzer-ID (
uid
) ausgeführt. Wird dieser Parameter nicht angegeben, wird standardmäßig der in den Image-Metadaten angegebene Benutzer verwendet. Dieser Parameter ist denMustRanAs
RichtlinienRunAsUser
und in den Pod-Sicherheitsrichtlinien Benutzer und Gruppenin der Kubernetes Dokumentation zugeordnet. Type: Long
Erforderlich: Nein
volumeMounts
-
Die Volume-Mounts für einen Container für einen Amazon-EKS-Auftrag. Weitere Informationen zu Volumes und Volume-Mounts in finden Sie Kubernetesunter Volumes
in der Kubernetes -Dokumentation. Typ: Array von EksContainerVolumeMount-Objekten
Erforderlich: Nein
mountPath
-
Der Pfad auf dem Container, in dem das Volume gemountet ist.
Typ: Zeichenfolge
Erforderlich: Nein
name
-
Der Name des zu mountenden Volumes. Dieser muss mit dem Namen eines der Volumes im Pod übereinstimmen.
Typ: Zeichenfolge
Erforderlich: Nein
readOnly
-
Wenn dieser Wert
true
lautet, verfügt der Container über schreibgeschützten Zugriff auf das Volume. Andernfalls kann der Container auf das Volume schreiben. Der Standardwert istfalse
.Typ: Boolesch
Erforderlich: Nein
dnsPolicy
-
Die DNS-Richtlinie für den Pod. Der Standardwert ist
ClusterFirst
. Wenn derhostNetwork
-Parameter nicht angegeben ist, ist der StandardwertClusterFirstWithHostNet
.ClusterFirst
gibt an, dass jede DNS-Abfrage, die nicht mit dem konfigurierten Cluster-Domain-Suffix übereinstimmt, an den vom Knoten geerbten Upstream-Nameserver weitergeleitet wird. WenndnsPolicy
in der RegisterJobDefinition API-Operation kein Wert für angegeben wurde, wird kein Wert fürdnsPolicy
von oder DescribeJobDefinitions DescribeJobs API-Operationen zurückgegeben. Die Pod-Spezifikationseinstellung enthält entwederClusterFirst
oderClusterFirstWithHostNet
, abhängig vom Wert deshostNetwork
-Parameters. Weitere Informationen finden Sie unter Pod-DNS-Richtliniein der Kubernetes -Dokumentation. Zulässige Werte:
Default
|ClusterFirst
|ClusterFirstWithHostNet
Typ: Zeichenfolge
Erforderlich: Nein
hostNetwork
-
Gibt an, ob der Pod die Netzwerk-IP-Adresse der Hosts verwendet. Der Standardwert ist
true
. Wenn Sie dies auf setzen, wird das PodKubernetes-Netzwerkmodellfalse
aktiviert. Die meisten AWS Batch Workloads sind nur für ausgehenden Verkehr vorgesehen und erfordern nicht den Overhead der IP-Zuweisung für jeden Pod für eingehende Verbindungen. Weitere Informationen finden Sie unter Host-Namespacesund Pod-Netzwerke in der Kubernetes -Dokumentation. Typ: Boolesch
Erforderlich: Nein
serviceAccountName
-
Der Name des Servicekontos, das zum Ausführen des Pods verwendet wird. Weitere Informationen finden Sie unter -KubernetesServicekonten und Konfigurieren eines Kubernetes Servicekontos zur Übernahme einer IAM-Rolle im Amazon-EKS-Benutzerhandbuch und Konfigurieren von Servicekonten für Pods
in der Kubernetes -Dokumentation. Typ: Zeichenfolge
Erforderlich: Nein
volumes
-
Gibt die Volumes für eine Auftragsdefinition an, die Amazon-EKS-Ressourcen verwendet.
Typ: Array von EksVolume-Objekten
Erforderlich: Nein
- emptyDir
-
Gibt die Konfiguration eines Kubernetes
emptyDir
Volumes an. EinemptyDir
-Volume wird zuerst erstellt, wenn ein Pod einem Knoten zugewiesen wird. Sie ist vorhanden, solange dieser Pod auf diesem Knoten ausgeführt wird. DasemptyDir
-Volume ist zunächst leer. Alle Container im Pod können die Dateien imemptyDir
-Volume lesen und schreiben. DasemptyDir
-Volume kann jedoch in jedem Container auf den gleichen oder unterschiedlichen Pfaden gemountet werden. Wenn ein Pod aus irgendeinem Grund von einem Knoten entfernt wird, werden die Daten inemptyDir
dauerhaft gelöscht. Weitere Informationen finden Sie unter emptyDirin der Kubernetes -Dokumentation. Typ: EksEmptyDir Objekt
Erforderlich: Nein
- Medium
-
Das Medium zum Speichern des Volumes. Der Standardwert ist eine leere Zeichenfolge, die den Speicher des Knotens verwendet.
- ""
-
(Standard) Verwenden Sie den Festplattenspeicher des Knotens.
- „Arbeitsspeicher“
-
Verwenden Sie das
tmpfs
-Volume, das vom RAM des Knotens unterstützt wird. Der Inhalt des Volumes geht verloren, wenn der Knoten neu gestartet wird, und jeder Speicherplatz auf dem Volume wird auf das Speicherlimit des Containers angerechnet.
Typ: Zeichenfolge
Erforderlich: Nein
- sizeLimit
-
Die maximale Größe des Volumes. Standardmäßig ist keine maximale Größe definiert.
Typ: Zeichenfolge
Längenbeschränkungen: Minimale Länge beträgt 1 Zeichen. Maximale Länge beträgt 256 Zeichen.
Erforderlich: Nein
- hostPath
-
Gibt die Konfiguration eines Kubernetes
hostPath
Volumes an. EinhostPath
-Volume mountet eine vorhandene Datei oder ein Verzeichnis aus dem Dateisystem des Hostknotens in Ihren Pod. Weitere Informationen finden Sie unter hostPathin der Kubernetes -Dokumentation. Typ: EksHostPath Objekt
Erforderlich: Nein
- path
-
Der Pfad der Datei oder des Verzeichnisses auf dem Host, das in Containern auf dem Pod gemountet werden soll.
Typ: Zeichenfolge
Erforderlich: Nein
- Name
-
Der Name des Volumes. Der Name muss als DNS-Sub-Domain-Name zulässig sein. Weitere Informationen finden Sie unter DNS-Subdomänennamen
in der Kubernetes -Dokumentation. Typ: Zeichenfolge
Erforderlich: Ja
- Secret
-
Gibt die Konfiguration eines Kubernetes
secret
Volumes an. Weitere Informationen finden Sie unter Secretin der Kubernetes -Dokumentation. Typ: EksSecret Objekt
Erforderlich: Nein
- optional
-
Gibt an, ob das Secret oder die Schlüssel des Secrets definiert werden müssen.
Typ: Boolesch
Erforderlich: Nein
- secretName
-
Der Name des Secrets. Der Name muss als DNS-Sub-Domain-Name zulässig sein. Weitere Informationen finden Sie unter DNS-Subdomänennamen
in der Kubernetes -Dokumentation. Typ: Zeichenfolge
Erforderlich: Ja
Plattformfunktionen
platformCapabilities
-
Die Plattformfunktionen, die für die Auftragsdefinition erforderlich sind. Wenn kein Wert angegeben wird, wird standardmäßig der Wert
EC2
verwendet. Für Aufgaben, die auf Fargate-Ressourcen ausgeführt werden,FARGATE
ist angegeben.Anmerkung
Wenn der Auftrag auf Amazon-EKS-Ressourcen ausgeführt wird, dürfen Sie nicht angeben
platformCapabilities
.Typ: Zeichenfolge
Zulässige Werte:
EC2
|FARGATE
Erforderlich: Nein
Tags propagieren
propagateTags
-
Gibt an, ob die Tags aus dem Auftrag oder der Auftragsdefinition an die entsprechende Amazon ECS-Aufgabe weitergegeben werden sollen. Wenn kein Wert angegeben wird, werden die Tags nicht weitergegeben. Tags können nur beim Erstellen der Aufgabe an die Aufgaben weitergegeben werden. Bei Tags mit demselben Namen haben Auftrags-Tags Vorrang vor Auftragsdefinitions-Tags. Wenn die Gesamtzahl der kombinierten Tags aus dem Auftrag und der Auftragsdefinition mehr als 50 beträgt, wird der Auftrag in den
FAILED
Status versetzt.Anmerkung
Wenn der Auftrag auf Amazon-EKS-Ressourcen ausgeführt wird, dürfen Sie nicht angeben
propagateTags
.Typ: Boolesch
Erforderlich: Nein
Knoteneigenschaften
nodeProperties
-
Wenn Sie eine parallele Auftragsdefinition mit mehreren Knoten registrieren, müssen Sie eine Liste der Knoteneigenschaften angeben. Diese Knoteneigenschaften definieren die Anzahl der Knoten, die in Ihrem Auftrag verwendet werden sollen, den Hauptknotenindex und die verschiedenen Knotenbereiche, die verwendet werden sollen. Wenn der Auftrag auf Fargate-Ressourcen ausgeführt wird, können Sie nicht angeben
nodeProperties
. Nutzen Sie stattdessencontainerProperties
. Die folgenden Knoteneigenschaften sind in einer Auftragsdefinition zulässig. Weitere Informationen finden Sie unter parallel Jobs mit mehreren Knoten.Anmerkung
Wenn der Auftrag auf Amazon-EKS-Ressourcen ausgeführt wird, dürfen Sie nicht angeben
nodeProperties
.Typ: NodeProperties Objekt
Erforderlich: Nein
mainNode
-
Gibt den Knotenindex für den Hauptknoten eines parallelen Auftrags mit mehreren Knoten an. Dieser Knotenindexwert muss kleiner als die Anzahl der Knoten sein.
Typ: Ganzzahl
Erforderlich: Ja
numNodes
-
Die Anzahl der Knoten, die mit einem parallelen Auftrag mit mehreren Knoten verknüpft sind.
Typ: Ganzzahl
Erforderlich: Ja
nodeRangeProperties
-
Eine Liste von Knotenbereichen und deren Eigenschaften, die mit einem parallelen Auftrag mit mehreren Knoten verknüpft sind.
Anmerkung
Eine Knotengruppe ist eine identische Gruppe von Auftragsknoten, die alle dieselben Containereigenschaften haben. Sie können verwenden AWS Batch , um bis zu fünf verschiedene Knotengruppen für jeden Auftrag anzugeben.
Typ: Array von NodeRangeProperty-Objekten
Erforderlich: Ja
targetNodes
-
Der Bereich der Knoten, die Knotenindexwerte verwenden. Ein Bereich von
0:3
zeigt Knoten mit Indexwerten von0
bis3
an. Wenn der Wert des Startbereichs weggelassen wird (:n
), wird 0 verwendet, um den Bereich zu starten. Wenn der Endbereichswert ausgelassen wird (n:
), wird für den Endbereich der höchstmögliche Knotenindex verwendet wird. Ihre gesamten Knotenbereiche müssen alle Knoten berücksichtigen (0:n
). Sie können Knotenbereiche verschachteln, z. B.0:10
und4:5
. In diesem Fall überschreiben die4:5
Bereichseigenschaften die0:10
Eigenschaften.Typ: Zeichenfolge
Erforderlich: Nein
container
-
Die Container-Details für den Knotenbereich. Weitere Informationen finden Sie unter Container-Eigenschaften.
Typ: ContainerProperties Objekt
Erforderlich: Nein
Wiederholungsstrategie
retryStrategy
-
Wenn Sie eine Auftragsdefinition registrieren, können Sie optional eine Wiederholungsstrategie für fehlgeschlagene Aufträge angeben, die mit dieser Auftragsdefinition übermittelt werden. Jede Wiederholungsstrategie, die während einer SubmitJob Operation angegeben wird, überschreibt die hier definierte Wiederholungsstrategie. Standardmäßig erfolgt ein Ausführungsversuch pro Auftrag. Wenn Sie mehr als einen Versuch angeben, wird der Auftrag erneut versucht, wenn er fehlschlägt. Beispiele für einen fehlgeschlagenen Versuch sind, dass der Auftrag einen Beendigungscode ungleich Null zurückgibt oder die Container-Instance beendet wird. Weitere Informationen finden Sie unter Automatisierte Auftragswiederholungen.
Typ: RetryStrategy Objekt
Erforderlich: Nein
attempts
-
Gibt die Zahl der Wiederholungsversuche an, um einen Auftrag in den Status
RUNNABLE
zu verschieben. Sie können zwischen einem und zehn Versuche angeben. Wennattempts
größer als 1 ist, wird der Auftrag bei einem auftretenden Fehler entsprechend oft wiederholt, bis er in den StatusRUNNABLE
wechselt."attempts":
integer
Typ: Ganzzahl
Erforderlich: Nein
evaluateOnExit
-
Array von bis zu 5 Objekten, die Bedingungen angeben, unter denen der Auftrag erneut versucht wird oder fehlgeschlagen ist. Wenn dieser Parameter angegeben wird, muss der Parameter
attempts
ebenfalls angegeben werden. Wenn angegebenevaluateOnExit
ist, aber keiner der Einträge übereinstimmt, wird der Auftrag erneut versucht."evaluateOnExit": [ { "action": "
string
", "onExitCode": "string
", "onReason": "string
", "onStatusReason": "string
" } ]Typ: Array von EvaluateOnExit-Objekten
Erforderlich: Nein
action
-
Gibt die Aktion an, die durchgeführt werden soll, wenn alle angegebenen Bedingungen (
onStatusReason
,onReason
undonExitCode
) erfüllt sind. Bei den Werten muss die Groß- und Kleinschreibung beachtet werden.Typ: Zeichenfolge
Erforderlich: Ja
Zulässige Werte:
RETRY
|EXIT
onExitCode
-
Enthält ein Glob-Muster, das mit der Dezimaldarstellung des übereinstimmt
ExitCode
, der für einen Auftrag zurückgegeben wird. Jedes Muster kann bis zu 512 Zeichen lang sein. Er darf nur Zahlen enthalten. Er darf keine Buchstaben oder Sonderzeichen enthalten. Es kann optional mit einem Sternchen (*) enden, so dass nur der Anfang der Zeichenfolge genau übereinstimmen muss.Typ: Zeichenfolge
Erforderlich: Nein
onReason
-
Enthält ein Glob-Muster, das mit dem übereinstimmt
Reason
, der für einen Auftrag zurückgegeben wird. Jedes Muster kann bis zu 512 Zeichen lang sein. Er kann Buchstaben, Zahlen, Punkte (.), Doppelpunkte (:) und Leerzeichen (Leerzeichen, Tabulatoren) enthalten. Es kann optional mit einem Sternchen (*) enden, so dass nur der Anfang der Zeichenfolge genau übereinstimmen muss.Typ: Zeichenfolge
Erforderlich: Nein
onStatusReason
-
Enthält ein Glob-Muster, das mit dem übereinstimmt
StatusReason
, der für einen Auftrag zurückgegeben wird. Jedes Muster kann bis zu 512 Zeichen lang sein. Er kann Buchstaben, Zahlen, Punkte (.), Doppelpunkte (:) und Leerzeichen (Leerzeichen, Tabulatoren) enthalten. Es kann optional mit einem Sternchen (*) enden, so dass nur der Anfang der Zeichenfolge genau übereinstimmen muss.Typ: Zeichenfolge
Erforderlich: Nein
Priorität der Planung
schedulingPriority
-
Die Planungspriorität für Aufträge, die mit dieser Auftragsdefinition übermittelt werden. Dies betrifft nur Aufträge in Auftrags-Warteschlangen mit einer Fair-Share-Richtlinie. Aufgaben mit einer höheren Planungspriorität werden vor Aufgaben mit einer niedrigeren Planungspriorität geplant.
Der unterstützte Mindestwert ist 0 und der maximal unterstützte Wert ist 9999.
Typ: Ganzzahl
Erforderlich: Nein
Tags
tags
-
Schlüssel-Wert-Paar-Tags, die der Auftragsdefinition zugeordnet werden sollen. Weitere Informationen finden Sie unter Markieren Ihrer AWS Batch-Ressourcen.
Typ: Abbildung einer Zeichenfolge auf eine Zeichenfolge
Erforderlich: Nein
Timeout
timeout
-
Sie können eine Timeout-Dauer für Ihre Aufträge so konfigurieren, dass, wenn ein Auftrag länger ausgeführt wird, den Auftrag AWS Batch beendet. Weitere Informationen finden Sie unter Timeouts bei der Job. Wenn ein Auftrag aufgrund eines Timeouts beendet wird, wird er nicht erneut versucht. Jede Timeout-Konfiguration, die während einer -SubmitJobOperation angegeben wird, überschreibt die hier definierte Timeout-Konfiguration. Weitere Informationen finden Sie unter Timeouts bei der Job.
Typ: JobTimeout Objekt
Erforderlich: Nein
attemptDurationSeconds
-
Die Zeitdauer in Sekunden (gemessen anhand des
startedAt
Zeitstempels des Auftrags), nachdem nicht abgeschlossene Aufträge AWS Batch beendet hat. Der Mindestwert für die Zeitüberschreitung beträgt 60 Sekunden.Bei Array-Aufträgen gilt das Timeout für die untergeordneten Aufträge, nicht für den übergeordneten Array-Auftrag.
Bei parallel Aufträgen mit mehreren Knoten (MNP) gilt das Timeout für den gesamten Auftrag, nicht für die einzelnen Knoten.
Typ: Ganzzahl
Erforderlich: Nein