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.
Ausführung von Aufträgen mit gemischter Architektur (X86_64 und ARM64)
Eine einzelne Amazon ECS Managed Instances Rechenumgebung und Auftragswarteschlange können sowohl als auch (Graviton-Prozessor-basierte) X86_64 Jobs ARM64 ausführen.AWS Jeder Job wird mit einer Kapazität ausgeführt, die der in der Auftragsdefinition angegebenen CPU-Architektur entspricht. Legen Sie die Architektur runtimePlatform.cpuArchitecture in der Jobdefinition fest. Sie konfigurieren die Architektur nicht in der Rechenumgebung.
Um Jobs mit gemischter Architektur auszuführen, stellen Sie ein Container-Image bereit, das beide Architekturen unterstützt (ein Image-Manifest mit mehreren Architekturen), und registrieren Sie eine Auftragsdefinition pro Architektur, die auf oder festgelegt ist. runtimePlatform.cpuArchitecture X86_64 ARM64 Sie können Jobs für beide Auftragsdefinitionen an dieselbe Auftragswarteschlange senden.
"runtimePlatform": { "operatingSystemFamily": "LINUX", "cpuArchitecture": "ARM64" }
Richten Sie dann die Rechenumgebung auf eine der folgenden Arten ein:
-
Lassen Sie es aus
instanceRequirements, um alle Instance-Typen in Frage zu stellen. -
Geben Sie an
allowedInstanceTypes, dass dies für jede Architektur gilt, die Ihre Jobs verwenden.
- Geben Sie keine Instanztypen an
-
Lassen Sie das
instanceRequirementsFeld vonmanagedInstancesProvider.instanceLaunchTemplate(die Einstellung, die einschränkt, welche Instanztypen die Rechenumgebung verwenden kann) aus. Alle Instanztypen sind geeignet, und Amazon ECS wählt die Kapazität aus, die zu den einzelnen Aufgaben passt.runtimePlatform.cpuArchitectureEinX86_64Job wird auf einer x86-Instance gestartet, und einARM64Job wird auf einer AWS Graviton-Instance aus derselben Rechenumgebung gestartet. - Geben Sie Instanztypen an, die die erforderlichen Architekturen abdecken
-
Wenn Sie dies festlegen
instanceRequirements.allowedInstanceTypes, schließen Sie Instanztypen für jede Architektur ein, die in Ihren Jobs deklariert wird. Amazon ECS leitet die Architektur aus den von Ihnen zugelassenen Instance-Typen ab. Die zulässigen Instanztypen müssen die Anforderungen der einzelnen Aufgaben erfüllen.runtimePlatform.cpuArchitectureUm beispielsweise beide Architekturen auszuführen, schließen Sie Folgendes ein:-
x86-Familien wie und
m5c5 -
AWS Graviton-Familien wie und
m7gc7g
-
Der Job schlägt fehl, wenn kein passender Instanztyp verfügbar ist
Wenn die zulässigen Instanztypen keinen Typ enthalten, der der deklarierten Architektur eines Jobs entspricht, schlägt der Job aus dem folgenden Grund fehl:
ResourceInitializationError: No available instance types were able to satisfy the
task and placement constraints.
Wenn beispielsweise nur x86-Familien allowedInstanceTypes aufgeführt sind und Sie einen ARM64 Job einreichen, schlägt der Job mit diesem Fehler fehl. Um dieses Problem zu beheben, fügen Sie eine AWS
Graviton-Instanzfamilie zu hinzu. allowedInstanceTypes Oder entfernen Sie, instanceRequirements um alle Instanztypen zuzulassen.