AWS BatchaufAWS 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 BatchaufAWS Fargate

AWSFargate ist eine Technologie, die Sie nutzen können, ohne hierfür ServerAWS Batch auszuführen, ohne hierfür Server oder Amazon-EC2-Instance-Cluster 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 Aufgaben mit Fargate-Ressourcen ausführen, packen Sie Ihre Anwendung in Container, legen die CPU- und Arbeitsspeicheranforderungen fest, definieren Netzwerk- und IAM-Richtlinien und starten die Anwendung. Jeder Fargate-Job hat seine eigene Isolationsgrenze und teilt den zugrunde liegenden Kernel, die CPU-Ressourcen, die Arbeitsspeicherressourcen oder die Elastic-Network-Schnittstelle nicht mit einem anderen Job.

Wann sollte Fargate verwendet werden?

Wir empfehlen in den meisten Szenarien die Verwendung von Fargate. Fargate startet und skaliert die Rechenleistung, sodass sie genau den Ressourcenanforderungen entspricht, die Sie für den Container angeben. Mit Fargate müssen Sie nicht zu viele Server bereitstellen oder für zusätzliche Server bezahlen. Sie müssen sich auch keine Gedanken über die Besonderheiten von infrastrukturbezogenen Parametern wie dem Instanztyp machen. Wenn die Rechenumgebung skaliert werden muss, können Jobs, die auf Fargate-Ressourcen ausgeführt werden, schneller gestartet werden. Normalerweise dauert es einige Minuten, eine neue Amazon-EC2-Instance einzurichten. Jobs, die auf Fargate ausgeführt werden, können jedoch in etwa 30 Sekunden bereitgestellt werden. Der genaue Zeitaufwand hängt von verschiedenen Faktoren ab, einschließlich der Größe des Container-Images und der Anzahl der Jobs.

Wir empfehlen jedoch, Amazon EC2 zu verwenden, falls Ihre Aufgaben eines der folgenden Anforderungen erfordern:

  • Mehr als 16 vCPUs

  • Mehr als 120 Gibibytes (GiB) Speicher

  • EINE GPU

  • Eine ARM-basierteAWS Graviton-CPU

  • Ein benutzerdefiniertes Amazon Machine Image (AMI, Amazon-Systemabbild)

  • Jeder der LinuxParameter-Parameter

Wenn Sie eine große Anzahl von Aufgaben haben, empfehlen wir Ihnen, die Amazon-EC2-Infrastruktur zu verwenden. Dies liegt daran, dass mit EC2 Jobs schneller an EC2-Ressourcen verteilt werden können als an Fargate-Ressourcen. Darüber hinaus können mehr Jobs gleichzeitig ausgeführt werden, wenn Sie EC2 verwenden. Weitere Informationen finden Sie unter AWSFargate-Servicekontingente im Developerhandbuch zum Amazon Elastic Container Service.

Anmerkung

AWS Batchunterstützt keine Windows-Container auf Fargate- oder EC2-Ressourcen.

Jobdefinitionen auf Fargate

AWS BatchJobs auf Fargate unterstützen nicht alle verfügbaren Jobdefinitionsparameter. Einige Parameter werden generell nicht unterstützt, bei anderen weicht deren Verhalten für Fargate-Aufgaben ab.

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 Aufgaben angegeben werden, die auf Fargate-Ressourcen laufen. 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 oderLATEST für eine aktuelle Plattformversion an. Mögliche Werte fürplatformVersion sind1.3.01.4.0, undLATEST (Standard).

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

Gilt nicht für Aufträge, die auf Fargate-Ressourcen laufen.

memory
vcpus

Diese Einstellungen müssen in angegeben werdenresourceRequirements

privileged

Geben Sie diesen Parameter entweder nicht an, oder spezifizieren ihnfalse.

"privileged": false
resourceRequirements

Sowohl die Speicher- als auch die vCPU-Anforderungen müssen mithilfe unterstützter Werte angegeben werden. GPU-Ressourcen werden nicht für Aufgaben unterstützt, die auf Fargate-Ressourcen laufen.

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

Gilt nicht für Aufträge, die auf Fargate-Ressourcen laufen.

Parameter in logConfiguration
logDriver

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

Mitglieder innetworkConfiguration
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 zur Ausführung.

Warteschlangen bei Fargate

AWS BatchDie Jobwarteschlangen auf Fargate sind im Wesentlichen unverändert. Die einzige Einschränkung besteht darin, dass es sich bei den in aufgelisteten Rechenumgebungen ausschließlich um Fargate-Rechenumgebungen (FARGATEoderFARGATE_SPOT) handelncomputeEnvironmentOrder muss. EC2- und Fargate-Computerumgebungen können nicht gemischt werden.

Rechenumgebungen auf Fargate

AWS BatchRechenumgebungen unter Fargate unterstützen nicht alle verfügbaren Rechenumgebungsparameter. Einige Parameter werden generell nicht unterstützt. Andere haben spezielle Anforderungen für Fargate.

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

type

Dieser Parameter muss seinMANAGED.

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

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

subnets

Wenn an die in diesem Parameter aufgeführten Subnetze keine NAT-Gateways angeschlossen sind, muss derassignPublicIp Parameter in der Jobdefinition auf gesetzt werdenENABLED.

tags

Dies gilt nicht für Fargate-Computerumgebungen und kann nicht bereitgestellt werden. Um Tags für Fargate-Rechenumgebungen anzugeben, verwenden Sie dentags Parameter, der sich nicht imcomputeResources Objekt befindet.

type

Muss entweder FARGATE oder FARGATE_SPOT sein.

"type": "FARGATE_SPOT"