Verwaltung von Amazon ECS-Servicekontingenten und API-Drosselungslimits - Amazon Elastic Container Service

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.

Verwaltung von Amazon ECS-Servicekontingenten und API-Drosselungslimits

Amazon ECS ist in mehrere Systeme integriert AWS-Services, darunter Elastic Load Balancing und Amazon EC2. AWS Cloud Map Durch diese enge Integration umfasst Amazon ECS mehrere Funktionen wie Service Load Balancing, Service Connect, Task Networking und auto Clusterskalierung. Amazon ECS und das andere AWS-Services , das es in alle integriert, verwalten Service-Kontingente und API-Ratenbegrenzungen, um eine konsistente Leistung und Auslastung zu gewährleisten. Diese Servicekontingente verhindern auch, dass versehentlich mehr Ressourcen als benötigt bereitgestellt werden, und schützen vor böswilligen Aktionen, die Ihre Rechnung erhöhen könnten.

Wenn Sie sich mit Ihren Servicekontingenten und den AWS API-Ratenbegrenzungen vertraut machen, können Sie die Skalierung Ihrer Workloads planen, ohne sich Gedanken über unerwartete Leistungseinbußen machen zu müssen. Weitere Informationen finden Sie unter Anforderungsdrosselung für die Amazon ECS-API.

Wir empfehlen Ihnen, bei der Skalierung Ihrer Workloads auf Amazon ECS die folgende Servicequote zu berücksichtigen.

  • AWS Fargate verfügt über Kontingente, die jeweils die Anzahl der gleichzeitig ausgeführten Aufgaben begrenzen. AWS-Region Es gibt Kontingente sowohl für On-Demand-Aufgaben als auch für Fargate Spot-Aufgaben auf Amazon ECS. Jedes Servicekontingent umfasst auch alle Amazon EKS-Pods, die Sie auf Fargate ausführen.

  • Für Aufgaben, die auf EC2 Amazon-Instances ausgeführt werden, beträgt die maximale Anzahl von EC2 Amazon-Instances, die Sie für jeden Cluster registrieren können, 5.000. Wenn Sie Amazon ECS Cluster Auto Scaling mit einem Auto Scaling-Gruppenkapazitätsanbieter verwenden oder EC2 Amazon-Instances für Ihren Cluster selbst verwalten, kann dieses Kontingent zu einem Engpass bei der Bereitstellung werden. Wenn Sie mehr Kapazität benötigen, können Sie mehr Cluster erstellen oder eine Erhöhung der Servicekontingenten beantragen.

  • Wenn Sie Amazon ECS-Cluster Auto Scaling mit einem Auto Scaling-Gruppenkapazitätsanbieter verwenden, berücksichtigen Sie bei der Skalierung Ihrer Services das Tasks in the PROVISIONING state per cluster Kontingent. Dieses Kontingent ist die maximale Anzahl von Aufgaben im PROVISIONING Bundesstaat für jeden Cluster, für die Kapazitätsanbieter die Kapazität erhöhen können. Wenn Sie eine große Anzahl von Aufgaben gleichzeitig starten, können Sie dieses Kontingent problemlos einhalten. Ein Beispiel ist die gleichzeitige Bereitstellung von Dutzenden von Diensten mit jeweils Hunderten von Aufgaben. In diesem Fall muss der Kapazitätsanbieter neue Container-Instances starten, um die Aufgaben zu platzieren, wenn der Cluster nicht über ausreichende Kapazität verfügt. Während der Kapazitätsanbieter weitere EC2 Amazon-Instances startet, wird der Amazon ECS-Service Scheduler wahrscheinlich weiterhin Aufgaben parallel starten. Diese Aktivität kann jedoch aufgrund unzureichender Clusterkapazität gedrosselt werden. Der Amazon ECS Service Scheduler implementiert eine Back-off- und exponentielle Drosselungsstrategie, mit der versucht wird, Aufgaben erneut zu platzieren, wenn neue Container-Instances gestartet werden. Infolgedessen kann es zu langsameren Bereitstellungs- oder Skalierungszeiten kommen. Um diese Situation zu vermeiden, können Sie Ihre Servicebereitstellungen in einer der folgenden Arten planen. Stellen Sie entweder eine große Anzahl von Aufgaben bereit, ohne dass die Clusterkapazität erhöht werden muss, oder Sie behalten freie Clusterkapazität für den Start neuer Aufgaben.

Berücksichtigen Sie bei der Skalierung Ihrer Workloads nicht nur das Amazon ECS-Servicekontingent, sondern auch das Servicekontingent für die anderen AWS-Services , die in Amazon ECS integriert sind.

Elastic Load Balancing

Sie können Ihre Amazon ECS-Services so konfigurieren, dass Elastic Load Balancing verwendet wird, um den Traffic gleichmäßig auf die Aufgaben zu verteilen. Weitere Informationen und empfohlene Best Practices für die Auswahl eines Load Balancers finden Sie unterVerwenden Sie Load Balancing, um den Amazon ECS-Serviceverkehr zu verteilen.

Elastic Load Balancing Balancing-Dienstkontingente

Wenn Sie Ihre Workloads skalieren, sollten Sie die folgenden Elastic Load Balancing Service-Kontingente berücksichtigen. Die meisten Elastic Load Balancing Balancing-Dienstkontingente sind anpassbar, und Sie können eine Erhöhung in der Service Quotas-Konsole beantragen.

Application Load Balancer

Wenn Sie einen Application Load Balancer verwenden, müssen Sie je nach Anwendungsfall möglicherweise eine Erhöhung des Kontingents beantragen für:

  • Das Targets per Application Load Balancer Kontingent, das die Anzahl der Ziele hinter Ihrem Application Load Balancer darstellt.

  • Die Targets per Target Group per Region Quote, die der Anzahl der Ziele hinter Ihren Zielgruppen entspricht.

Weitere Informationen finden Sie unter Kontingente für Ihre Application Load Balancer im Benutzerhandbuch für Application Load Balancers.

Network Load Balancer

Die Anzahl der Ziele, die Sie bei einem Network Load Balancer registrieren können, ist strenger begrenzt. Wenn Sie einen Network Load Balancer verwenden, möchten Sie häufig die zonenübergreifende Unterstützung aktivieren, was zusätzliche Skalierungsbeschränkungen für Targets per Availability Zone Per Network Load Balancer die maximale Anzahl von Zielen pro Availability Zone für jeden Network Load Balancer mit sich bringt. Weitere Informationen finden Sie unter Kontingente für Ihre Network Load Balancer im Benutzerhandbuch für Network Load Balancer.

Drosselung der Elastic Load Balancing Balancing-API

Wenn Sie einen Amazon ECS-Service für die Verwendung eines Load Balancers konfigurieren, müssen die Zustandsprüfungen der Zielgruppe bestanden werden, bevor der Service als fehlerfrei eingestuft wird. Für die Durchführung dieser Zustandsprüfungen ruft Amazon ECS in Ihrem Namen Elastic Load Balancing API-Operationen auf. Wenn Sie in Ihrem Konto eine große Anzahl von Diensten mit Load Balancern konfiguriert haben, verlangsamen Sie möglicherweise die Servicebereitstellung, da es zu einer möglichen Drosselung speziell für die API-OperationenRegisterTarget,DeregisterTarget, und DescribeTargetHealth Elastic Load Balancing kommen kann. Wenn eine Drosselung auftritt, treten Drosselungsfehler in Ihren Amazon ECS-Serviceereignismeldungen auf.

Wenn Sie eine AWS Cloud Map API-Drosselung feststellen, können Sie sich an uns wenden Support , um Hilfe zu erhalten, wie Sie Ihre API-Drosselungsgrenzen erhöhen können. AWS Cloud Map Weitere Informationen zur Überwachung und Behebung solcher Drosselungsfehler finden Sie unter. Probleme mit der Drosselung von Amazon ECS lösen

Elastic-Network-Schnittstelle

Wenn Ihre Aufgaben den awsvpc Netzwerkmodus verwenden, stellt Amazon ECS für jede Aufgabe eine eigene elastic network interface (ENI) bereit. Wenn Ihre Amazon ECS-Services einen Elastic Load Balancing Load Balancer verwenden, werden diese Netzwerkschnittstellen auch als Ziele für die entsprechende, im Service definierte Zielgruppe registriert.

Service-Kontingente für elastische Netzwerkschnittstellen

Wenn Sie Aufgaben ausführen, die den awsvpc Netzwerkmodus verwenden, wird jeder Aufgabe eine eindeutige elastic network interface zugewiesen. Wenn diese Aufgaben über das Internet erreicht werden müssen, weisen Sie der elastic network interface für diese Aufgaben eine öffentliche IP-Adresse zu. Wenn Sie Ihre Amazon ECS-Workloads skalieren, sollten Sie diese beiden wichtigen Kontingente berücksichtigen:

  • Das Network interfaces per Region Kontingent, das die maximale Anzahl von Netzwerkschnittstellen in einem AWS-Region für Ihr Konto ist.

  • Das Elastic IP addresses per Region Kontingent, das die maximale Anzahl elastischer IP-Adressen in einem darstellt AWS-Region.

Beide Service Quotas sind anpassbar, und Sie können für diese über Ihre Servicekontingenta-Konsole eine Erhöhung beantragen. Weitere Informationen finden Sie unter Amazon VPC Service Quotas im Amazon Virtual Private Cloud-Benutzerhandbuch.

Bei Amazon ECS-Workloads, die auf EC2 Amazon-Instances gehostet werden, sollten Sie bei der Ausführung von Aufgaben, die den awsvpc Netzwerkmodus verwenden, das Maximum network interfaces Service-Kontingent, die maximale Anzahl von Netzwerk-Instances für jede EC2 Amazon-Instance, berücksichtigen. Dieses Kontingent begrenzt die Anzahl der Aufgaben, die Sie auf einer Instance platzieren können. Sie können das Kontingent nicht anpassen und es ist in der Service Quotas Quotas-Konsole nicht verfügbar. Weitere Informationen finden Sie unter IP-Adressen pro Netzwerkschnittstelle pro Instance-Typ im EC2 Amazon-Benutzerhandbuch.

Sie können zwar nicht die Anzahl der Netzwerkschnittstellen ändern, die an eine EC2 Amazon-Instance angehängt werden können, aber Sie können die elastic network interface Trunking-Funktion verwenden, um die Anzahl der verfügbaren Netzwerkschnittstellen zu erhöhen. Beispielsweise kann eine c5.large Instance standardmäßig bis zu drei Netzwerkschnittstellen haben. Die primäre Netzwerkschnittstelle für die Instance zählt dazu. Sie können also zwei weitere Netzwerkschnittstellen an die Instanz anhängen. Da für jede Aufgabe, die den awsvpc Netzwerkmodus verwendet, eine Netzwerkschnittstelle erforderlich ist, können Sie für diesen Instance-Typ in der Regel nur zwei solcher Aufgaben ausführen. Dies kann zu einer Unterauslastung Ihrer Clusterkapazität führen. Wenn Sie elastic network interface Trunking aktivieren, können Sie die Netzwerkschnittstellendichte erhöhen, um eine größere Anzahl von Aufgaben auf jeder Instance zu platzieren. Wenn Trunking aktiviert ist, kann eine c5.large Instance bis zu 12 Netzwerkschnittstellen haben. Die Instance hat die primäre Netzwerkschnittstelle und Amazon ECS erstellt und fügt der Instance eine „Trunk“ -Netzwerkschnittstelle hinzu. Daher können Sie mit dieser Konfiguration 10 Aufgaben auf der Instance ausführen, anstatt die standardmäßigen zwei Aufgaben. Weitere Informationen finden Sie unter Zunehmende Netzwerkschnittstellen für Amazon ECS Linux-Container-Instances.

API-Drosselung der elastischen Netzwerkschnittstelle

Wenn Sie Aufgaben ausführen, die den awsvpc Netzwerkmodus verwenden, stützt sich Amazon ECS auf den folgenden Amazon EC2 APIs. Jeder von ihnen APIs hat unterschiedliche API-Drosselungen. Weitere Informationen finden Sie unter Request Throttling for the Amazon EC2 API in der Amazon EC2 API-Referenz.

  • CreateNetworkInterface

  • AttachNetworkInterface

  • DetachNetworkInterface

  • DeleteNetworkInterface

  • DescribeNetworkInterfaces

  • DescribeVpcs

  • DescribeSubnets

  • DescribeSecurityGroups

  • DescribeInstances

Wenn die EC2 Amazon-API-Aufrufe während der Bereitstellungsworkflows für elastic network interface Netzwerkschnittstellen gedrosselt werden, versucht der Amazon ECS-Service Scheduler es automatisch mit exponentiellen Back-offs erneut. Diese automatischen Stilllegungen können manchmal zu Verzögerungen beim Starten von Aufgaben führen, was wiederum zu langsameren Bereitstellungsgeschwindigkeiten führt. Wenn es zu einer API-Drosselung kommt, wird die entsprechende Meldung in Ihren Service-Event-Meldungen Operations are being throttled. Will try again later. angezeigt. Wenn Sie die EC2 Amazon-API-Drosselungen regelmäßig einhalten, können Sie sich an uns wenden Support , um Unterstützung zu erhalten, wie Sie Ihre API-Drosselungsgrenzen erhöhen können. Weitere Informationen zur Überwachung und Behebung von Drosselungsfehlern finden Sie unter Umgang mit Drosselungsproblemen.

AWS Cloud Map

Amazon ECS Service Discovery und Service Connect werden AWS Cloud Map APIs zur Verwaltung von Namespaces für Ihre Amazon ECS-Services verwendet. Wenn Ihre Services eine große Anzahl von Aufgaben haben, sollten Sie die folgenden Empfehlungen berücksichtigen.

AWS Cloud Map Dienstkontingente

Wenn Amazon ECS-Services für die Verwendung von Service Discovery oder Service Connect konfiguriert sind, wird das Tasks per service Kontingent, das die maximale Anzahl von Aufgaben für den Service darstellt, von dem AWS Cloud Map Instances per service Service-Kontingent beeinflusst, das die maximale Anzahl von Instances für diesen Service darstellt. Insbesondere verringert das AWS Cloud Map Service-Kontingent die Anzahl der Instances, die Sie ausführen können, auf maximal 1.000 Instances pro Service. Sie können das AWS Cloud Map Kontingent nicht ändern. Weitere Informationen finden Sie unter AWS Cloud Map -Servicekontingente.

AWS Cloud Map API-Drosselung

Amazon ECS ruft das ListInstancesGetInstancesHealthStatus,RegisterInstance, und in Ihrem Namen DeregisterInstance AWS Cloud Map APIs auf. Sie helfen bei der Serviceerkennung und führen Integritätsprüfungen durch, wenn Sie eine Aufgabe starten. Wenn mehrere Dienste, die Service Discovery mit einer großen Anzahl von Aufgaben verwenden, gleichzeitig bereitgestellt werden, kann dies zu einer Überschreitung der AWS Cloud Map API-Drosselungsgrenzen führen. In diesem Fall werden Sie wahrscheinlich die folgende Meldung sehen: Operations are being throttled. Will try again later in Ihren Amazon ECS-Serviceereignismeldungen und langsamere Bereitstellungs- und Taskstartgeschwindigkeit. AWS Cloud Map dokumentiert keine Drosselungsgrenzen für diese. APIs Wenn Sie aufgrund dieser Einschränkungen eine Drosselung feststellen, können Sie sich an uns wenden, um Hilfe Support zur Erhöhung Ihrer API-Drosselungsgrenzen zu erhalten. Weitere Empfehlungen zur Überwachung und Behebung solcher Drosselungsfehler finden Sie unter. Probleme mit der Drosselung von Amazon ECS lösen