AWS Batchauf AWS Fargate - AWS Batch

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.

AWS Batchauf AWS Fargate

AWSFargate ist eine Technologie, mit der Sie Container ausführen könnenAWS Batch, ohne Server oder Cluster von Amazon EC2-Instances verwalten zu müssen. Mit AWS Fargate müssen Sie keine Cluster virtueller Maschinen mehr bereitstellen, konfigurieren oder skalieren, um Container auszuführen. Auf diese Weise müssen keine Servertypen mehr ausgewählt werden, es muss nicht entschieden werden, wann die Cluster skaliert werden oder das Cluster-Packing optimiert werden.

Wenn Sie Ihre Jobs mit Fargate-Ressourcen ausführen, packen Sie Ihre Anwendung in Container, spezifizieren die CPU- und Speicheranforderungen, definieren Netzwerk- und IAM-Richtlinien und starten die Anwendung. Jeder Fargate-Job hat seine eigene Isolationsgrenze und teilt sich den zugrunde liegenden Kernel, die CPU-Ressourcen, die Speicherressourcen oder die elastische Netzwerkschnittstelle nicht mit einem anderen Job.

Wann sollte Fargate verwendet werden?

Wir empfehlen, Fargate in den meisten Szenarien zu verwenden. Fargate startet und skaliert die Rechenleistung so, dass sie den Ressourcenanforderungen, die Sie für den Container angeben, genau entspricht. Mit Fargate müssen Sie keine zusätzlichen Server bereitstellen oder für zusätzliche Server bezahlen. Sie müssen sich auch keine Gedanken über die Besonderheiten infrastrukturbezogener Parameter wie den Instanztyp machen. Wenn die Rechenumgebung skaliert werden muss, können Jobs, die auf Fargate-Ressourcen ausgeführt werden, schneller gestartet werden. In der Regel dauert es einige Minuten, bis eine neue Amazon EC2-Instance eingerichtet ist. Jobs, die auf Fargate ausgeführt werden, können jedoch in etwa 30 Sekunden bereitgestellt werden. Die genaue benötigte Zeit hängt von mehreren Faktoren ab, einschließlich der Größe des Container-Images und der Anzahl der Jobs.

Wir empfehlen Ihnen jedoch, Amazon EC2 zu verwenden, wenn Ihre Jobs eines der folgenden Elemente erfordern:

  • Mehr als 16 vCPUs

  • Mehr als 120 Gibibyte (GiB) Speicher

  • EINE GPU

  • Ein benutzerdefiniertes Amazon Machine Image (AMI)

  • Jeder der LinuxParameter-Parameter

Wenn Sie eine große Anzahl von Aufträgen haben, empfehlen wir Ihnen, die Amazon EC2-Infrastruktur zu verwenden. Zum Beispiel, wenn die Anzahl der gleichzeitig ausgeführten Jobs die Fargate-Drosselgrenzwerte überschreitet. Dies liegt daran, dass mit EC2 Aufträge schneller an EC2-Ressourcen als an Fargate-Ressourcen versendet werden können. Darüber hinaus können mehr Jobs gleichzeitig ausgeführt werden, wenn Sie EC2 verwenden. Weitere Informationen finden Sie unter AWSFargate-Servicekontingente im Amazon Elastic Container Service Developer Guide.

Jobdefinitionen auf Fargate

AWS BatchJobs auf Fargate unterstützen nicht alle verfügbaren Jobdefinitionsparameter. Einige Parameter werden überhaupt nicht unterstützt, und andere verhalten sich bei Fargate-Jobs anders.

In der folgenden Liste werden Jobdefinitionsparameter beschrieben, die in Fargate-Jobs nicht gültig oder anderweitig eingeschränkt sind.

platformCapabilities

Muss angegeben werden alsFARGATE.

"platformCapabilities": [ "FARGATE" ]
type

Muss angegeben werden alscontainer.

"type": "container"
Parameter in containerProperties
executionRoleArn

Muss für Jobs angegeben werden, die auf Fargate-Ressourcen ausgeführt werden. Weitere Informationen finden Sie unter IAM-Rollen für Aufgaben im Entwicklerhandbuch zum Amazon Elastic Container Service.

"executionRoleArn": "arn:aws:iam::123456789012:role/ecsTaskExecutionRole"
fargatePlatformConfiguration

(Optional, nur für Fargate-Jobdefinitionen). Gibt die Fargate-Plattformversion oder LATEST für eine aktuelle Plattformversion an. Mögliche Werte für platformVersion sind1.3.0,1.4.0, und LATEST (Standard).

"fargatePlatformConfiguration": { "platformVersion": "1.4.0" }
instanceType
ulimits

Gilt nicht für Jobs, die auf Fargate-Ressourcen ausgeführt werden.

memory
vcpus

Diese Einstellungen müssen in angegeben werden resourceRequirements

privileged

Geben Sie diesen Parameter entweder nicht an oder geben Sie ihn anfalse.

"privileged": false
resourceRequirements

Sowohl die Speicher- als auch die vCPU-Anforderungen müssen anhand unterstützter Werte angegeben werden. GPU-Ressourcen werden für Jobs, die auf Fargate-Ressourcen ausgeführt werden, nicht unterstützt.

"resourceRequirements": [ {"type": "MEMORY", "value": "512"}, {"type": "VCPU", "value": "0.25"} ]
Parameter in linuxParameters
devices
maxSwap
sharedMemorySize
swappiness
tmpfs

Gilt nicht für Jobs, die mit Fargate-Ressourcen ausgeführt werden.

Parameter in logConfiguration
logDriver

Es werden ausschließlich awslogs und splunk unterstützt. Weitere Informationen finden Sie unter Verwenden des awslogs-Protokolltreibers.

Mitglieder in networkConfiguration
assignPublicIp

Wenn an das private Subnetz kein NAT-Gateway angeschlossen ist, um Datenverkehr an das Internet zu senden, assignPublicIp muss es "ENABLED“ sein. Weitere Informationen finden Sie unter AWS BatchIAM-Rolle für die Ausführung.

Jobwarteschlangen auf Fargate

AWS BatchDie Jobwarteschlangen auf Fargate sind im Wesentlichen unverändert. Die einzige Einschränkung besteht darin, dass die Rechenumgebungen, die in aufgeführt sind, alle Fargate-Rechenumgebungen (FARGATEoder) sein computeEnvironmentOrder müssen. FARGATE_SPOT EC2- und Fargate-Rechenumgebungen können nicht gemischt werden.

Rechenumgebungen auf Fargate

AWS BatchRechenumgebungen auf Fargate unterstützen nicht alle verfügbaren Rechenumgebungsparameter. Einige Parameter werden überhaupt nicht unterstützt. Andere haben spezifische Anforderungen an Fargate.

In der folgenden Liste werden Parameter der Rechenumgebung beschrieben, die in Fargate-Jobs nicht gültig oder anderweitig eingeschränkt sind.

type

Dieser Parameter muss seinMANAGED.

"type": "MANAGED"
Parameter im computeResources Objekt
allocationStrategy
bidPercentage
desiredvCpus
imageId
instanceTypes
ec2Configuration
ec2KeyPair
instanceRole
launchTemplate
minvCpus
placementGroup
spotIamFleetRole

Diese gelten nicht für Fargate-Rechenumgebungen und können nicht bereitgestellt werden.

subnets

Wenn an die in diesem Parameter aufgeführten Subnetze keine NAT-Gateways angeschlossen sind, muss der assignPublicIp Parameter in der Jobdefinition auf festgelegt werden. ENABLED

tags

Dies gilt nicht für Fargate-Rechenumgebungen und kann nicht bereitgestellt werden. Um Tags für Fargate-Rechenumgebungen anzugeben, verwenden Sie den tags Parameter, der nicht im computeResources Objekt enthalten ist.

type

Muss entweder FARGATE oder FARGATE_SPOT sein.

"type": "FARGATE_SPOT"