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.
Jobdefinitionsparameter für ContainerProperties
Jobdefinitionen, die verwenden ContainerProperties sind in mehrere Teile aufgeteilt:
Der Name der Jobdefinition
Der Typ der Jobdefinition
Der Platzhalter für die Parameterersetzung ist standardmäßig voreingestellt
Die Container-Eigenschaften für den Job
-
Die Amazon EKS-Eigenschaften für die Auftragsdefinition, die für Jobs erforderlich sind, die auf Amazon EKS-Ressourcen ausgeführt werden
Die Knoteneigenschaften, die für einen parallelen Job mit mehreren Knoten erforderlich sind
Die Plattformfunktionen, die für Jobs erforderlich sind, werden auf Fargate-Ressourcen ausgeführt
Die Standard-Tag-Propagierungsdetails der Jobdefinition
Die Standardstrategie für Wiederholungsversuche für die Jobdefinition
Die standardmäßige Planungspriorität für die Auftragsdefinition
Die Standard-Tags für die Jobdefinition
Das Standard-Timeout für die Jobdefinition
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 Jobdefinition, 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 Job auf Fargate- oder Amazon ECS Managed Instances-Ressourcen ausgeführt wird, dann
multinodewird nicht unterstützt. Weitere Informationen zu parallelen Aufträgen mit mehreren Knoten finden Sie unter Eine parallel Jobdefinition mit mehreren Knoten erstellen.Typ: Zeichenfolge
Zulässige Werte:
container|multinodeErforderlich: Ja
Parameters
parameters-
Wenn Sie einen Job 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 Jobs verwenden können, die dasselbe Format verwenden. Sie können die Werte im Befehl bei der Übermittlung auch programmgesteuert ändern.
Typ: Abbildung einer Zeichenfolge auf eine Zeichenfolge
Erforderlich: Nein
Wenn Sie eine Auftragsdefinition registrieren, können Sie Parameterersetzungsplatzhalter in das Feld
commandder Container-Eigenschaften eines Auftrags verwenden. Die Syntax ist wie folgt."command": [ "ffmpeg", "-i", "Ref::inputfile", "-c", "Ref::codec", "-o", "Ref::outputfile" ]AWS Batch untersucht jedes Element in der
commandReihe. Wenn ein Element beginnt mitRef::, AWS Batch entfernt das Präfix und verwendet den verbleibenden Text als Parametername. Daher muss jeder Platzhalter für die Parameterersetzung ein separater Platzhalter seincommandArray-Element. AWS Batch sucht oder ersetzt keine Platzhalter, die in eine andere Zeichenfolge eingebettet sind. Zum Beispiels3://Ref::s3Bucket/Ref::objectKeywird unverändert an den Container übergeben.Um diesen S3-URI zu erstellen mit
bash -c, übergeben Sie jeden Platzhalter als separates Befehlsarray-Element und verweisen Sie in der Befehlszeichenfolge auf die ersetzten Werte als Positionsparameter. Beispiel:"command": [ "/bin/bash", "-c", "aws s3 cp \"s3://$1/$2\" ./input-file", "_", "Ref::s3Bucket", "Ref::objectKey" ]AWS Batch ersetzt
undRef::s3Bucketbevor der Container startet. DasRef::objectKey_hochwertige Lieferungen$0, also Bash erhält den ersetzten Bucket und den Objektschlüssel als$1und$2.In der
ffmpegZum Beispiel gibt es,Ref::inputfile, undRef::codecPlatzhalter für die Parameterersetzung im Befehl. Sie können das verwendenRef::outputfileparametersObjekt in der Jobdefinition, 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 eingereicht wird, wird
Das Argument im Befehl für den Container wird durch den Standardwert ersetzt,Ref::codecmp4.
Eigenschaften von Containern
Wenn Sie eine Jobdefinition registrieren, geben Sie eine Liste von Container-Eigenschaften an, die an den Docker-Daemon auf einer Container-Instance übergeben werden, wenn der Job 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 Eigenschaften des Knotens festgelegt.
command-
Der Befehl, der an den Container übergeben wird. Dieser Parameter ist
Cmdim Abschnitt Erstellen eines Containersder Docker Remote-API und dem Parameter COMMANDvon docker runzugeordnet. Für weitere Informationen über den Docker CMDParameter, siehe 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
Envim Bereich Erstellen eines Containersder Docker Remote API und der Option --envfü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 beginnen mit
AWS_BATCH. Diese Namenskonvention ist für Variablen reserviert, die von AWS Batch Dienst.Typ: Array von Schlüssel-Wert-Paaren
Erforderlich: Nein
name-
Der Name der Umgebungsvariable.
Typ: Zeichenfolge
Erforderlich: Ja, wenn
environmentverwendet wird. value-
Der Wert der Umgebungsvariable.
Typ: Zeichenfolge
Erforderlich: Ja, wenn
environmentverwendet wird.
"environment" : [ { "name" : "envName1", "value" : "envValue1" }, { "name" : "envName2", "value" : "envValue2" } ] executionRoleArn-
Wenn Sie eine Jobdefinition registrieren, können Sie eine IAM-Rolle angeben. Die Rolle gewährt dem Amazon ECS-Container-Agenten die Berechtigung, die API-Aktionen, die in den zugehörigen Richtlinien angegeben sind, in Ihrem Namen aufzurufen. Jobs, die auf Fargate-Ressourcen ausgeführt werden, müssen eine Ausführungsrolle bereitstellen. Weitere Informationen finden Sie unter AWS Batch Rolle „IAM-Ausführung“.
Typ: Zeichenfolge
Erforderlich: Nein
fargatePlatformConfiguration-
Die Plattformkonfiguration für Jobs, 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 Die Fargate-Plattformversion, die für die Jobs verwendet wird, oder
LATESTum eine aktuelle, genehmigte Version von zu verwenden AWS Fargate-Plattform.Typ: Zeichenfolge
Standard:
LATESTErforderlich: Nein
image-
Das Bild, mit dem ein Job gestartet wurde. Diese Zeichenfolge wird direkt an den Docker-Daemon übergeben. Bilder 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:tagImagezugeordnet im Abschnitt Create a container(Erstellen eines Containers) im Docker-Remote-API und dem IMAGE-Parameter von docker run. Anmerkung
Die Docker-Image-Architektur muss der Prozessorarchitektur der Compute-Ressourcen entsprechen, für die sie geplant sind. Zum Beispiel ARM-based Docker-Images können nur ausgeführt werden ARM-based Ressourcen berechnen.
-
Bilder in öffentlichen Amazon ECR-Repositorys nutzen den vollen
registry/repository[:tag]oderregistry/repository[@digest]Namenskonventionen (zum Beispielpublic.ecr.aws/).registry_alias/my-web-app:latest -
Bilder in Amazon ECR-Repositorys verwenden den vollen
registry/repository:[tag]Benennungskonvention. 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.
ubuntuodermongo). -
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-Jobs mit einem Knoten oder für Jobs, 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-specific Ä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
Devicesim Abschnitt Einen Container erstellender Docker-Remote-API und der Option --devicefü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 das Gerät im Container verfügbar ist. Wenn dies nicht angegeben ist, wird das Gerät im selben Pfad wie der Hostpfad verfügbar gemacht.
Typ: Zeichenfolge
Erforderlich: Nein
permissions-
Berechtigungen für das Gerät im Container. Wenn dies nicht angegeben ist, werden die Berechtigungen auf gesetzt
READ,WRITE, undMKNOD.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--initfü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 an Swap-Speicher (in MiB), die ein Job verwenden kann. Dieser Parameter ist in die Option
--memory-swapzur Docker-Ausführungübersetzt, wobei der Wert die Summe aus dem Container-Speicher und dem Wert maxSwapist. Weitere Informationen finden Sie unter--memory-swap-Detailsin der Docker-Dokumentation. Wenn als
maxSwap-Wert0angegeben wird, verwendet der Container keine Auslagerung. Zulässige Werte sind0oder eine beliebige positive Ganzzahl. Wenn dermaxSwapDer Parameter wird weggelassen, verwendet der Container die Swap-Konfiguration für die Container-Instance, auf der er ausgeführt wird. Es muss ein Wert fürmaxSwapfestgelegt werden, damit der Parameterswappinessverwendet 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-sizefü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. A
swappinessWert von0bewirkt, dass der Austausch nur stattfindet, wenn es unbedingt erforderlich ist. Einswappiness-Wert von100führt dazu, dass Seiten aggressiv ausgelagert werden. Akzeptierte Werte sind Ganzzahlen zwischen0und100. Wenn der Parameterswappinessnicht angegeben wird, wird der Standardwert60verwendet. Wenn kein Wert fürmaxSwapangegeben ist, wird dieser Parameter ignoriert. WennmaxSwapauf 0 gesetzt ist, verwendet der Container kein Auslagern. Dieser Parameter wird der Option--memory-swappinessfü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 unter Swap-Volumes im Instance-Speicher in der Amazon EC2-Benutzerhandbuch oder Wie weise ich Speicher zu, der als Swap-Speicherplatz in einer Amazon EC2-Instance verwendet wird, indem ich eine Swap-Datei verwende?
. -
Die Parameter des Auslagerungs werden nur für Aufgabendefinitionen unterstützt, die EC2-Ressourcen verwenden.
-
Wenn die Container-Definitionsparameter
maxSwapundswappinessin einer Aufgabendefinition weggelassen werden, hat jeder Container denswappiness-Standardwert 60. Die gesamte Swap-Nutzung 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.
Gültige 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 Job.
Dieser Parameter ist
LogConfigim Abschnitt Einen Container erstellender Docker-Remote-API und der Option --log-driverfür die Docker-Ausführungzugeordnet. Standardmäßig verwenden Container den gleichen Protokolltreiber wie der Docker-Daemon. Der Container kann jedoch einen anderen Logging-Treiber als der Docker-Daemon verwenden, indem Sie in der Container-Definition einen Log-Treiber mit diesem Parameter angeben. Um einen anderen Logging-Treiber für einen Container zu verwenden, muss das Logsystem entweder auf der Container-Instance oder auf einem anderen Log-Server konfiguriert werden, um Remote-Logging-Optionen 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 Logging-Treiber, die für den Docker-Daemon verfügbar sind (siehe LogConfiguration Datentyp).
Für diesen Parameter ist Version 1.18 der Docker Remote API oder höher auf Ihrer Container-Instance erforderlich. 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 Job verwendet werden soll. In der Standardeinstellung AWS Batch aktiviert die
awslogsProtokolltreiber. 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
LogConfigim Abschnitt Einen Container erstellender Docker-Remote-API und der Option --log-driverfür die Docker-Ausführungzugeordnet. Standardmäßig verwenden Jobs denselben Logging-Treiber, den der Docker-Daemon verwendet. Der Job kann jedoch einen anderen Logging-Treiber als der Docker-Daemon verwenden, indem Sie in der Auftragsdefinition einen Protokolltreiber mit diesem Parameter angeben. Wenn Sie einen anderen Logging-Treiber für einen Job angeben möchten, muss das Logsystem auf der Container-Instance in der Rechenumgebung konfiguriert werden. Oder konfigurieren Sie es alternativ auf einem anderen Protokollserver, 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 Logging-Treiber, 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,syslogundsplunk.Anmerkung
Jobs, die auf Fargate-Ressourcen ausgeführt werden, sind beschränkt auf
awslogsundsplunkTreiber protokollieren.Für diesen Parameter ist Version 1.18 der Docker Remote API oder höher auf Ihrer Container-Instance erforderlich. 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 Logging-Treiber, die auf dieser Instance verfügbar sind, bei der registrieren
ECS_AVAILABLE_LOGGING_DRIVERSUmgebungsvariable. Andernfalls können die auf dieser Instanz 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 Amazon an CloudWatch Protokolliert den Protokollierungstreiber. Weitere Informationen finden Sie unter Verwenden Sie den awslogs-Protokolltreiber und Amazon CloudWatch Protokolliert den Treiber
in der Docker-Dokumentation. fluentd-
Gibt den Fluentd-Protokolltreiber an. Weitere Informationen, einschließlich Verwendung und Optionen, finden Sie unter Treiber für Fluentd-Protokollierung
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-Logging-Treiber
in der Docker-Dokumentation. journald-
Gibt den Journald-Protokolltreiber an. Weitere Informationen, einschließlich Verwendung und Optionen, finden Sie unter Treiber für die Protokollierung von Journalen
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 Treiber für die JSON-Dateiprotokollierung
in der Docker-Dokumentation. splunk-
Gibt den Splunk-Protokolltreiber an. Weitere Informationen, einschließlich Verwendung und Optionen, finden Sie unter Splunk-Logging-Treiber
in der Docker-Dokumentation. syslog-
Gibt den Syslog-Protokolltreiber an. Weitere Informationen, einschließlich Verwendung und Optionen, finden Sie unter Treiber für die Syslog-Protokollierung
in der Docker-Dokumentation.
Typ: Zeichenfolge
Erforderlich: Ja
Zulässige Werte:
awslogs|fluentd|gelf|journald|json-file|splunk|syslogAnmerkung
Wenn Sie einen benutzerdefinierten Treiber haben, der nicht weiter oben aufgeführt ist und mit dem Amazon ECS-Container-Agenten arbeiten möchten, können Sie das Amazon ECS-Container-Agent-Projekt abzweigen verfügbar auf GitHub
und passen Sie es an, damit es mit diesem Treiber funktioniert. Wir möchten Sie bitten, uns eventuelle Änderungswünsche mitzuteilen. Amazon Web Services unterstützt derzeit jedoch keine Anfragen, die modifizierte Kopien dieser Software ausführen. options-
Protokollieren Sie die Konfigurationsoptionen, um sie für den Auftrag an einen Protokolltreiber zu senden.
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 Geben Sie sensible Daten an.
Typ: Objekt-Array
Erforderlich: Nein
name-
Der Name der Protokolltreiberoption, die im Job festgelegt werden soll.
Typ: Zeichenfolge
Erforderlich: Ja
valueFrom-
Der Amazon-Ressourcenname (ARN) des Geheimnisses, das für die Protokollkonfiguration des Containers verfügbar gemacht werden soll. Die unterstützten Werte sind entweder der vollständige ARN des Secrets Manager-Geheimnisses oder der vollständige ARN des Parameters im SSM-Parameterspeicher.
Anmerkung
Wenn der SSM Parameter Store-Parameter in demselben vorhanden ist AWS-Region als Aufgabe, 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
resourceRequirementsstattdessen.Die Anzahl der MiB an Speicher, die für den Job reserviert sind.
Als Beispiel für die Verwendung
resourceRequirements, wenn Ihre Jobdefinition eine Syntax enthält, die der folgenden ähnelt."containerProperties": { "memory":512}Die äquivalente Syntax mit
resourceRequirementslautet 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
Volumesim Bereich Erstellen eines Containersder Docker Remote API und der Option --volumefür die docker runzu. "mountPoints": [ { "sourceVolume": "string", "containerPath": "string", "readOnly":true|false} ]Typ: Objekt-Array
Erforderlich: Nein
sourceVolume-
Der Name des einzubindenden Volumes.
Typ: Zeichenfolge
Erforderlich: Ja, wenn
mountPointsverwendet wird. containerPath-
Der Pfad auf dem Container, in dem das Host-Volume gemountet werden soll.
Typ: Zeichenfolge
Erforderlich: Ja, wenn
mountPointsverwendet wird. readOnly-
Wenn dieser Wert
truelautet, 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 Jobs, 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 Job ausgehenden Netzwerkzugriff benötigt.
Typ: Zeichenfolge
Zulässige Werte:
ENABLED|DISABLEDErforderlich: 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 zuPrivilegedim Bereich Erstellen eines Containersder Docker Remote API und der Option --privilegedfür die docker runzu. Dieser Parameter ist nicht auf Aufträge anwendbar, die auf Fargate-Ressourcen ausgeführt werden. Geben Sie es nicht an oder geben Sie es als falsch an. "privileged":true|falseTyp: Boolesch
Erforderlich: Nein
readonlyRootFilesystem-
Wenn dieser Parameter den Wert „true“ aufweist, erhält der Container Lesezugriff auf das Root-Dateisystem. Dieser Parameter ordnet zu
ReadonlyRootfsim Bereich Erstellen eines Containersder Docker Remote API und der Option --read-onlyfür die docker runzu. "readonlyRootFilesystem":true|falseTyp: Boolesch
Erforderlich: Nein
resourceRequirements-
Die Art und Menge einer Ressource, die einem Container zugewiesen werden soll. Zu den unterstützten Ressourcen gehören
GPU,MEMORYundVCPU."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,MEMORYundVCPU.Typ: Zeichenfolge
Erforderlich: Ja, wenn
resourceRequirementsverwendet 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 GPUs, die für alle Container in einem Job reserviert sind, darf die Anzahl der verfügbaren GPUs auf der Rechenressource, auf der der Job 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
Memoryim Abschnitt Einen Container erstellender Docker-Remote-API und der Option --memoryfü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 Memoryim Abschnitt Einen Container erstellender Docker-Remote-API und der Option --memoryfür die Docker-Ausführungzugeordnet. Anmerkung
Wenn Sie versuchen, Ihre Ressourcenauslastung zu maximieren, indem Sie Ihren Jobs so viel Arbeitsspeicher wie möglich für einen bestimmten Instance-Typ zur Verfügung stellen, finden Sie unter Speicherverwaltung für Rechenressourcen.
Für Jobs, die auf Fargate-Ressourcen laufen, dann
valuemuss mit einem der unterstützten Werte übereinstimmen. Darüber hinaus ist derVCPUvalues muss einer der Werte sein, die für diesen Speicherwert unterstützt werden.VCPUMEMORY0,25 vCPU
512, 1024 und 2048 MiB
0,5 vCPU
1024-4096 MiB in 1024-MiB-Schritten
1 vCPU
2048-8192 MiB in 1024-MiB-Schritten
2 vCPU
4096—16384 MiB in 1024-MiB-Schritten
4 vCPU
8192-30720 MiB in 1024-MiB-Schritten
8 vCPU
16384-61440 MiB in Schritten von 4096 MiB
16 vCPU
32768-122880 MiB in 8192 MiB-Schritten
32 vCPU
61440, 12280 und 249856 MiB
- Typ="VCPU“
-
Die Anzahl von vCPUs, die für die Aufgabe reserviert sind. Dieser Parameter ist
CpuSharesim Abschnitt Einen Container erstellender Docker-Remote-API und der Option --cpu-sharesfür die Docker-Ausführungzugeordnet. Jede vCPU entspricht 1.024 CPU-Anteilen. Für Jobs, 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 Jobs, die auf Fargate-Ressourcen ausgeführt werden,
valuemuss mit einem der unterstützten Werte übereinstimmen undMEMORYWerte müssen einem der Werte entsprechen, die für diesen VCPU-Wert unterstützt werden. Die unterstützten Werte sind 0,25, 0,5, 1, 2, 4, 8, 16 und 32.Die Standardeinstellung für das Fargate On-Demand Das Kontingent für die Anzahl der vCPU-Ressourcen beträgt 6 vCPUs. Weitere Informationen zu Fargate-Kontingenten finden Sie unter AWS Fargate-Kontingente in der Allgemeine Amazon Web Services-Referenz.
Typ: Zeichenfolge
Erforderlich: Ja, wenn
resourceRequirementsverwendet wird.
runtimePlatform-
Ein Objekt, das die Computerumgebungsarchitektur für darstellt AWS Batch Jobs. Dieser Parameter gilt für Jobs, die auf ausgeführt werden AWS Ressourcen für verwaltete Instanzen von Fargate und Amazon ECS.
"runtimePlatform": { "cpuArchitecture": "string", "operatingSystemFamily": "string" }Typ: RuntimePlatform Objekt
Erforderlich: Nein
cpuArchitecture-
Die vCPU-Architektur. Der Standardwert ist
X86_64.Anmerkung
Dieser Parameter muss auf gesetzt werden
X86_64für Windows-Container.Typ: Zeichenfolge
Zulässige Werte:
X86_64|ARM64Erforderlich: Nein
operatingSystemFamily-
Das Betriebssystem für die Computerumgebung.
Anmerkung
Die folgenden Parameter können nicht für Windows-Container festgelegt werden:
linuxParameters,privileged,user,ulimits,readonlyRootFilesystem, undefsVolumeConfiguration.Typ: Zeichenfolge
Zulässige Werte:
LINUX|WINDOWS_SERVER_2019_CORE|WINDOWS_SERVER_2019_FULL|WINDOWS_SERVER_2022_CORE|WINDOWS_SERVER_2022_FULLErforderlich: Nein
secrets-
Die Geheimnisse für den Job, die als Umgebungsvariablen verfügbar gemacht werden. Weitere Informationen finden Sie unter Geben Sie sensible Daten an.
"secrets": [ { "name": "secretName1", "valueFrom": "secretArn1" }, { "name": "secretName2", "valueFrom": "secretArn2" } ... ]Typ: Objekt-Array
Erforderlich: Nein
name-
Der Name der Umgebungsvariablen, die das Geheimnis enthält.
Typ: Zeichenfolge
Erforderlich: Ja, wenn
secretsverwendet wird. valueFrom-
Das Geheimnis, das dem Container exponiert werden muss. Bei den unterstützten Werten handelt es sich entweder um den vollständigen Amazon-Ressourcennamen (ARN) des Secrets Manager-Geheimnisses oder um den vollständigen ARN des Parameters im SSM-Parameterspeicher.
Anmerkung
Wenn der SSM Parameter Store-Parameter in demselben vorhanden ist AWS-Region als Job, 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
secretsverwendet wird.
ulimits-
Eine Liste der
ulimits-Werte, die im Container festgelegt werden sollen. Dieser Parameter ordnet zuUlimitsim Bereich Erstellen eines Containersder Docker Remote API und der Option --ulimitfür die docker runzu. "ulimits": [ { "name":string, "softLimit":integer, "hardLimit":integer} ... ]Typ: Objekt-Array
Erforderlich: Nein
name-
Der
typedesulimit-Werts.Typ: Zeichenfolge
Erforderlich: Ja, wenn
ulimitsverwendet wird. hardLimit-
Das harte Limit für den
ulimit-Typ.Typ: Ganzzahl
Erforderlich: Ja, wenn
ulimitsverwendet wird. softLimit-
Das weiche Limit für den
ulimit-Typ.Typ: Ganzzahl
Erforderlich: Ja, wenn
ulimitsverwendet wird.
user-
Der Benutzername, der im Container verwendet werden soll. Dieser Parameter ordnet zu
Userim Bereich Erstellen eines Containersder Docker Remote API und der Option --userfür die docker runzu. "user": "string"Typ: Zeichenfolge
Erforderlich: Nein
vcpus-
Dieser Parameter ist veraltet. Verwenden Sie
resourceRequirementsstattdessen.Die Anzahl von vCPUs, die für den Container reserviert sind.
Als Beispiel für die Verwendung
resourceRequirements, wenn Ihre Jobdefinition Zeilen wie diese enthält:"containerProperties": { "vcpus":2}Die entsprechenden Zeilen mit
resourceRequirementsist 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), Zahlen, Bindestriche und Unterstriche sind zulässig. Auf diesen Namen wird im Parameter
sourceVolumeder ContainerdefinitionmountPointsverwiesen.Typ: Zeichenfolge
Erforderlich: Nein
host-
Der Inhalt des Parameters
hostbestimmt, ob Ihr Daten-Volume auf der Host-Container-Instance erhalten bleibt und wo es gespeichert wird. Wenn der Parameterhostleer ist, weist der Docker-Daemon einen Host-Pfad für Ihr Daten-Volume zu. Es kann jedoch nicht garantiert werden, dass die Daten auch dann bestehen bleiben, wenn der mit ihnen 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
hostden SpeicherortsourcePathenthä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 Access Point angegeben ist, wird der Stammverzeichniswert, der in der
EFSVolumeConfigurationmuss entweder weggelassen oder auf gesetzt werden/. Dadurch wird der Pfad erzwungen, der auf dem EFS-Zugangspunkt festgelegt ist. Wenn ein Zugriffspunkt verwendet wird, muss inEFSVolumeConfigurationdie 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-
Legt fest, ob der verwendet werden soll AWS Batch Die Job-IAM-Rolle, die in einer Auftragsdefinition beim Mounten des Amazon EFS-Dateisystems definiert ist. Wenn diese Option aktiviert ist, muss die Transit-Verschlüsselung in
EFSVolumeConfigurationaktiviert sein. Wenn dieser Parameter nicht angegeben ist, wird der StandardwertDISABLEDverwendet. Weitere Informationen finden Sie unter Verwenden Sie Amazon EFS-Zugriffspunkte.Typ: Zeichenfolge
Zulässige Werte:
ENABLED|DISABLEDErforderlich: 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 eingebunden werden soll. Wenn dieser Parameter weggelassen wird, wird der Stamm des Amazon-EFS-Volumes verwendet. Wenn Sie Folgendes angeben
/hat dies den gleichen Effekt wie das Weglassen dieses Parameters. Die maximale Länge beträgt 4,096 Zeichen.Wichtig
Wenn ein EFS-Zugangspunkt in der angegeben ist
authorizationConfig, muss der Stammverzeichnisparameter entweder weggelassen oder auf gesetzt werden/. Dadurch wird der Pfad durchgesetzt, der auf dem Amazon EFS-Zugangspunkt 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
DISABLEDverwendet. 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|DISABLEDErforderlich: 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 für Amazon ECS-basierte Jobdefinitionen nicht angegeben werden.
podProperties-
Die Eigenschaften für Kubernetes Pod-Ressourcen eines Jobs.
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
CMDdes Container-Images verwendet. Dies entspricht demargsMitglied in der EinstiegspunktTeil des Schote in 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_NAMEvorhanden ist oder nicht. Weitere Informationen finden Sie unter CMDin der Dockerfile-Referenz und Definieren Sie einen Befehl und Argumente 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
ENTRYPOINTdes 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_NAMEvorhanden ist oder nicht. Der Einstiegspunkt kann nicht aktualisiert werden. Weitere Informationen finden Sie unter EINSTIEGSPUNKTin der Dockerfile-Referenz und Definieren Sie einen Befehl und Argumente für einen Container und Einstiegspunkt 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_BATCHbeginnen. Diese Namenskonvention ist für Variablen reserviert, die AWS Batch Sätze.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,IfNotPresentundNever. Dieser Parameter lautet standardmäßigIfNotPresent. Wenn das:latest-Tag jedoch angegeben ist, ist es standardmäßigAlways. Weitere Informationen finden Sie unter Bilder aktualisierenin 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,cpuundnvidia.com/gpu. Weitere Informationen finden Sie unter Ressourcenmanagement 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.
memorykann inlimits,requestsoder in beiden angegeben werden. Wennmemoryin beiden Orten angegeben ist, muss der Wert, der inlimitsangegeben ist, dem Wert entsprechen, der inrequestsangegeben 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. Speicherverwaltung für Rechenressourcen.
- cpu
-
Die Anzahl der für den Container reservierten CPUs. Werte müssen ein gerade Vielfaches von
0.25sein.cpukann inlimits,requestsoder in beiden angegeben werden. Wenncpuin beiden Orten angegeben ist, muss der Wert, der inlimitsangegeben ist, mindestens so groß sein wie der Wert, der inrequestsangegeben ist. - nvidia.com/gpu
-
Die Anzahl der GPUs, die für den Container reserviert sind. Werte müssen eine ganze Zahl sein.
memorykann inlimits,requestsoder in beiden angegeben werden. Wennmemoryin beiden Orten angegeben ist, muss der Wert, der inlimitsangegeben ist, dem Wert entsprechen, der inrequestsangegeben 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.
memorykann inlimits,requestsoder in beiden angegeben werden. Wennmemoryin beiden angegeben ist, muss der Wert, der inlimitsangegeben ist, dem Wert entsprechen, der inrequestsangegeben ist.Anmerkung
Wenn Sie versuchen, Ihre Ressourcenauslastung zu maximieren, indem Sie Ihren Jobs so viel Arbeitsspeicher wie möglich für einen bestimmten Instance-Typ zur Verfügung stellen, finden Sie unter Speicherverwaltung für Rechenressourcen.
- cpu
-
Die Anzahl von CPUs, die für den Container reserviert sind. Werte müssen ein gerade Vielfaches von
0.25sein.cpukann inlimits,requestsoder in beiden angegeben werden. Wenncpuin beiden angegeben ist, muss der Wert, der inlimitsangegeben ist, mindestens so groß sein wie der Wert, der inrequestsangegeben ist. - nvidia.com/gpu
-
Die Anzahl der GPUs die für den Container reserviert sind. Werte müssen eine ganze Zahl sein.
nvidia.com/gpukann inlimits,requestsoder in beiden angegeben werden. Wennnvidia.com/gpuin beiden angegeben ist, muss der Wert, der inlimitsangegeben ist, dem Wert entsprechen, der inrequestsangegeben 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 Sie einen Sicherheitskontext für einen Pod oder Container
in der Kubernetes Dokumentation. Typ: EksContainerSecurityContext Objekt
Erforderlich: Nein
privileged-
Wenn dieser Parameter den Wert
trueaufweist, erhält der Container erhöhte Berechtigungen auf der Host-Container-Instance. Die Ebene der Berechtigungen ähnelt derrootBenutzerberechtigungen. Der Standardwert istfalse. Dieser Parameter entsprichtprivilegedRichtlinie in der Sicherheitsrichtlinien für privilegierte Podsin der Kubernetes Dokumentation. Typ: Boolesch
Erforderlich: Nein
readOnlyRootFilesystem-
Wenn dieser Parameter den Wert
trueaufweist, erhält der Container Lesezugriff auf das Root-Dateisystem. Der Standardwert istfalse. Dieser Parameter entsprichtReadOnlyRootFilesystemRichtlinie in der Sicherheitsrichtlinien für Volumes und Dateisystemein der Kubernetes Dokumentation. 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 entsprichtRunAsGroupundMustRunAsPolitik in der Sicherheitsrichtlinien für Benutzer und Gruppenin der Kubernetes Dokumentation. Type: Long
Erforderlich: Nein
runAsNonRoot-
Wenn dieser Parameter angegeben ist, wird der Container als Benutzer mit einem
uidmit anderen Wert als 0 ausgeführt. Wenn dieser Parameter nicht angegeben ist, wird eine solche Regel durchgesetzt. Dieser Parameter entsprichtRunAsUserundMustRunAsNonRootPolitik in der Sicherheitsrichtlinien für Benutzer und Gruppenin der Kubernetes Dokumentation. 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 entsprichtRunAsUserundMustRanAsPolitik in der Sicherheitsrichtlinien für Benutzer und Gruppenin der Kubernetes Dokumentation. 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 finden Sie unter Kubernetes, siehe Bände
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
truelautet, 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.ClusterFirstgibt an, dass jede DNS-Abfrage, die nicht mit dem konfigurierten Cluster-Domain-Suffix übereinstimmt, an den vom Knoten geerbten Upstream-Nameserver weitergeleitet wird. Wenn kein Wert angegeben wurde fürdnsPolicyin der RegisterJobDefinition API-Vorgang, dann wird kein Wert zurückgegeben fürdnsPolicyvon einem von DescribeJobDefinitions oder DescribeJobs API-Operationen. Die Pod-Spezifikationseinstellung enthält entwederClusterFirstoderClusterFirstWithHostNet, abhängig vom Wert deshostNetwork-Parameters. Weitere Informationen finden Sie unter Die DNS-Richtlinie von Podin der Kubernetes Dokumentation. Zulässige Werte:
Default|ClusterFirst|ClusterFirstWithHostNetTyp: Zeichenfolge
Erforderlich: Nein
hostNetwork-
Gibt an, ob der Pod die Netzwerk-IP-Adresse der Hosts verwendet. Der Standardwert ist
true. Setze das auffalseaktiviert die Kubernetes Pod-Netzwerkmodell. Die meisten AWS Batch Workloads sind nur für ausgehenden Datenverkehr bestimmt und erfordern nicht den Aufwand, die IP-Adressen für jeden Pod für eingehende Verbindungen zuzuweisen. 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 Kubernetes Dienstkonten und Konfiguriere eine Kubernetes Dienstkonto, um eine IAM-Rolle zu übernehmen in der Amazon EKS-Benutzerhandbuch und Dienstkonten für Pods konfigurieren
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
- Leere dir
-
Gibt die Konfiguration von an Kubernetes
emptyDirVolumen. EinemptyDir-Volume wird zuerst erstellt, wenn ein Pod einem Knoten zugewiesen wird. Es existiert, solange dieser Pod auf diesem Knoten läuft. 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 inemptyDirdauerhaft 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
- Größenbeschränkung
-
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
- Host-Pfad
-
Gibt die Konfiguration von an Kubernetes
hostPathVolumen. 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 Namen von DNS-Subdomänen
in der Kubernetes Dokumentation. Typ: Zeichenfolge
Erforderlich: Ja
- Secret
-
Gibt die Konfiguration eines an Kubernetes
secretVolumen. Weitere Informationen finden Sie unter Geheimnisin der Kubernetes Dokumentation. Typ: EksSecret Objekt
Erforderlich: Nein
- optional
-
Gibt an, ob das Geheimnis oder die Schlüssel des Geheimnisses 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 Namen von DNS-Subdomänen
in der Kubernetes Dokumentation. Typ: Zeichenfolge
Erforderlich: Ja
Funktionen der Plattform
platformCapabilities-
Die Plattformfunktionen, die für die Jobdefinition erforderlich sind. Wenn kein Wert angegeben wird, wird standardmäßig der Wert
EC2verwendet. Für Jobs, die auf Fargate-Ressourcen ausgeführt werden,FARGATEist spezifiziert. Für Jobs, die auf Amazon ECS Managed Instances ausgeführt werden,MANAGED_INSTANCESist angegeben.Jobs bei der
MANAGED_INSTANCESDie Plattformfähigkeit muss verwendet werdenecsProperties(nichtcontainerProperties) und unterstützen keine parallelen Jobs mit mehreren Knoten. Weitere Informationen finden Sie unter Auftragsdefinitionen auf von Amazon ECS verwalteten Instances.Anmerkung
Wenn der Job auf Amazon EKS-Ressourcen ausgeführt wird, dürfen Sie keine Angaben machen
platformCapabilities.Typ: Zeichenfolge
Zulässige Werte:
EC2|FARGATE|MANAGED_INSTANCESErforderlich: Nein
Tags weitergeben
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. Schlagworte können nur an die Aufgaben weitergegeben werden, wenn die Aufgabe erstellt wird. Bei Tags mit demselben Namen haben Auftrags-Tags Vorrang vor Auftragsdefinitions-Tags. Wenn die Gesamtzahl der kombinierten Stichwörter aus der Auftrags- und Auftragsdefinition über 50 liegt, wird der Job in den
FAILEDBundesstaat.Anmerkung
Wenn der Job auf Amazon EKS-Ressourcen ausgeführt wird, dürfen Sie nichts angeben
propagateTags.Typ: Boolesch
Erforderlich: Nein
Eigenschaften des Knotens
nodeProperties-
Wenn Sie eine parallele Jobdefinition mit mehreren Knoten registrieren, müssen Sie eine Liste von Knoteneigenschaften angeben. Diese Knoteneigenschaften definieren die Anzahl der Knoten, die in Ihrem Job verwendet werden sollen, den Hauptknotenindex und die verschiedenen zu verwendenden Knotenbereiche. Wenn der Job auf Fargate-Ressourcen ausgeführt wird, können Sie dies nicht angeben
nodeProperties. Nutzen Sie stattdessencontainerProperties. Die folgenden Knoteneigenschaften sind in einer Auftragsdefinition zulässig. Weitere Informationen finden Sie unter Multi-node parallele Jobs.Anmerkung
Wenn der Job auf Amazon EKS-Ressourcen ausgeführt wird, dürfen Sie keine Angaben machen
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 gemeinsam haben. Du kannst verwenden AWS Batch um bis zu fünf verschiedene Knotengruppen für jeden Job anzugeben.
Typ: Array von NodeRangeProperty-Objekten
Erforderlich: Ja
targetNodes-
Der Bereich der Knoten unter Verwendung von Knotenindexwerten. Ein Bereich von
0:3zeigt Knoten mit Indexwerten von0bis3an. Wenn der Startwert für den Bereich weggelassen wird (:n), dann 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 beispielsweise Knotenbereiche verschachteln0:10und4:5. Für diesen Fall ist der4:5Bereichseigenschaften überschreiben0:10Eigenschaften.Typ: Zeichenfolge
Erforderlich: Nein
container-
Die Container-Details für den Knotenbereich. Weitere Informationen finden Sie unter Eigenschaften von Containern.
Typ: ContainerProperties Objekt
Erforderlich: Nein
Strategie erneut versuchen
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 angegeben wurde SubmitJob Die Operation ü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. Zu den Beispielen für einen fehlgeschlagenen Versuch gehören, dass der Job einen Exit-Code 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
RUNNABLEzu verschieben. Sie können zwischen einem und zehn Versuche angeben. Wennattemptsgrößer als 1 ist, wird der Auftrag bei einem auftretenden Fehler entsprechend oft wiederholt, bis er in den StatusRUNNABLEwechselt."attempts":integerTyp: Ganzzahl
Erforderlich: Nein
evaluateOnExit-
Array mit bis zu 6 Objekten, die die Bedingungen angeben, unter denen AWS Batch versucht den Auftrag erneut oder schlägt fehl. Wenn dieser Parameter angegeben wird, muss der Parameter
attemptsebenfalls angegeben werden. WennevaluateOnExitangegeben ist, aber keiner der Einträge übereinstimmt, dann wird der Job 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,onReasonundonExitCode) 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 zum Abgleich mit der Dezimaldarstellung von
ExitCodedas für einen Job zurückgegeben wurde. Jedes Muster kann bis zu 512 Zeichen lang sein. Es kann nur Zahlen enthalten. Es 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 zum Abgleich mit
Reasondas für einen Job zurückgegeben wurde. Jedes Muster kann bis zu 512 Zeichen lang sein. Es 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 zum Abgleich mit
StatusReasondas für einen Job zurückgegeben wurde. Jedes Muster kann bis zu 512 Zeichen lang sein. Es 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 bei der Planung
schedulingPriority-
Die Planungspriorität für Jobs, die mit dieser Auftragsdefinition eingereicht werden. Dies betrifft nur Jobs in Auftragswarteschlangen, für die eine Fair-Share-Richtlinie gilt. Aufgaben mit einer höheren Planungspriorität werden vor Aufgaben mit einer niedrigeren Planungspriorität geplant.
Der unterstützte Mindestwert ist 0 und der unterstützte Höchstwert ist 9999.
Typ: Ganzzahl
Erforderlich: Nein
Tags (Markierungen)
tags-
Key-value paaren Sie Stichwörter, um sie der Auftragsdefinition zuzuordnen. Weitere Informationen finden Sie unter Kennzeichnen Sie Ihre AWS Batch Ressourcen.
Typ: Abbildung einer Zeichenfolge auf eine Zeichenfolge
Erforderlich: Nein
Zeitüberschreitung
timeout-
Sie können eine Timeout-Dauer für Ihre Jobs konfigurieren, sodass, wenn ein Job länger läuft, AWS Batch beendet den Job. Weitere Informationen finden Sie unter Zeitüberschreitungen bei Aufträgen. Wenn ein Job aufgrund eines Timeouts beendet wird, wird er nicht erneut versucht. Jede Timeout-Konfiguration, die während einer angegeben wird SubmitJob Die Operation überschreibt die hier definierte Timeout-Konfiguration. Weitere Informationen finden Sie unter Zeitüberschreitungen bei Aufträgen.
Typ: JobTimeout Objekt
Erforderlich: Nein
attemptDurationSeconds-
Die Zeitdauer in Sekunden (gemessen ab dem Wert des Auftragsversuchs)
startedAtZeitstempel) danach AWS Batch beendet unvollendete Jobs. 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