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.
Fehlerbehebung bei ungültigen CPU- oder Arbeitsspeicher-Fehlern in der Amazon-ECS-Aufgabendefinition
Bei der Registrierung einer Aufgabendefinition mithilfe der Amazon ECS-API oder AWS CLI, wenn Sie einen ungültigen cpu memory Wert angeben, wird der folgende Fehler zurückgegeben.
An error occurred (ClientException) when calling the RegisterTaskDefinition operation: Invalid 'cpu' setting for task.
Anmerkung
Bei Verwendung von Terraform kann der folgende Fehler zurückgegeben werden.
Error: ClientException: No Fargate configuration exists for given values.
Um dieses Problem zu lösen, müssen Sie in Ihrer Aufgabendefinition einen unterstützten Wert für die Aufgaben-CPU und den Speicher angeben. Der cpu Wert kann in CPU-Einheiten oder in V CPUs in einer Aufgabendefinition ausgedrückt werden. Wenn die Aufgabendefinition registriert ist, wird ein Wert in eine Ganzzahl umgewandelt, die die CPU-Einheiten angibt. Der memory-Wert kann in einer Aufgabendefinition in MiB oder GiB ausgedrückt werden. Wenn die Aufgabendefinition registriert ist, wird ein Wert in eine Ganzzahl umgewandelt, die die MiB angibt.
Für Aufgabendefinitionen, die FARGATE für den requiresCompatibilities-Parameter angeben (auch wenn EC2 ebenso angegeben wird), müssen Sie einen der Werte aus der folgenden Tabelle verwenden. Diese Werte bestimmen den Bereich der unterstützten Werte für den CPU- und Speicherparameter.
Für Aufgaben, die auf Fargate gehostet werden, zeigt die folgende Tabelle die gültigen CPU- und Arbeitsspeicher-Kombinationen. Die Speicherwerte in der JSON-Datei sind in MiB angegeben. Sie können den GB-Wert in MiB konvertieren, indem Sie den Wert mit 1 024 multiplizieren. Zum Beispiel 1 GB = 1 024 MiB.
| CPU-Wert | Speicherwert | Für AWS Fargate unterstützte Betriebssysteme |
|---|---|---|
| 256 (0,25 vCPU) | 512 MiB, 1 GB, 2 GB | Linux |
| 512 (0,5 vCPU) | 1 GB, 2 GB, 3 GB, 4 GB | Linux |
| 1024 (1 vCPU) | 2 GB, 3 GB, 4 GB, 5 GB, 6 GB, 7 GB, 8 GB | Linux, Windows |
| 2048 (2 vCPU) | Zwischen 4 GB und 16 GB in 1-GB-Schritten | Linux, Windows |
| 4096 (4 vCPU) | Zwischen 8 GB und 30 GB in 1-GB-Schritten | Linux, Windows |
8 192 (8 vCPU) AnmerkungDiese Option erfordert die Linux-Plattform |
Zwischen 16 GB und 60 GB in 4-GB-Schritten | Linux |
16 384 (16 vCPU) AnmerkungDiese Option erfordert die Linux-Plattform |
Zwischen 32 GB und 120 GB in 8-GB-Schritten | Linux |
Für Aufgaben, die auf Amazon gehostet werden EC2, liegen die unterstützten Task-CPU-Werte zwischen 0,25 v CPUs und 192 v. CPUs
Der CPU-Steuerungsmechanismus unterscheidet sich zwischen Fargate EC2 und Fargate:
-
Für auf Amazon gehostete Aufgaben EC2: Amazon ECS verwendet die CPU-Periode und das CPU-Kontingent, um die CPU-Festgrenzen für die Aufgabengröße zu steuern. Wenn Sie die vCPU in Ihrer Aufgabendefinition angeben, rechnet Amazon ECS den Wert im CPU-Zeitraum und die CPU-Kontingenteinstellungen um, die für
cgroupgelten. -
Für Aufgaben, die in Fargate gehostet werden: Amazon ECS verwendet CPU-Anteile zur Steuerung der CPU-Zuweisung. Die Werte für CPU-Kontingent und -Zeitraum werden nicht für die CPU-Begrenzung in Fargate-Aufgaben verwendet.
Bei EC2 Amazon-Aufgaben steuert das CPU-Kontingent die Menge an CPU-Zeit, die einem cgroup während eines bestimmten CPU-Zeitraums gewährt wird. Beide Einstellungen werden in Mikrosekunden ausgedrückt. Wenn das CPU-Kontingent der CPU-Periode entspricht, bedeutet das, dass a bis zu 100% auf einer vCPU ausgeführt werden cgroup kann (oder jeder andere Bruchteil, der bei mehreren V 100% ergibt). CPUs Das CPU-Kontingent hat ein Maximum von 1 000 000 us und der CPU-Zeitraum ein Minimum von 1 ms. Sie können diese Werte verwenden, um die Grenzwerte für Ihre CPU-Anzahl festzulegen. Wenn Sie den CPU-Zeitraum ändern, ohne das CPU-Kontingent zu ändern, gelten andere effektive Grenzwerte als die, die Sie in Ihrer Aufgabendefinition angegeben haben.
Der Zeitraum von 100 ms ermöglicht einen Wert von v im Bereich von CPUs 0,125 bis 10.
Anmerkung
CPU- und Speicherparameter auf Aufgabenebene werden für Windows-Container ignoriert.