Verwaltung der Amazon ECS Service Quotas 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 der Amazon ECS Service Quotas 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 Features wie Service Load Balancing, Service Connect, Task Networking und Cluster Auto Scaling. Amazon ECS und die anderen AWS-Services , mit denen es integriert ist, halten alle Service Quotas und API-Ratenlimits ein, um eine konsistente Leistung und Auslastung zu gewährleisten. Diese Service Quotas 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.

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

Bei der Skalierung Ihrer Workloads in Amazon ECS empfehlen wir, das folgende Servicekontingent 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- als auch Fargate-Spot-Aufgaben in Amazon ECS. Jedes Servicekontingent umfasst auch alle Amazon-EKS-Pods, die Sie in Fargate ausführen.

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

  • Wenn Sie Amazon ECS Cluster Auto Scaling mit einem Auto-Scaling-Gruppen-Kapazitä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-Status 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 Services 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 genügend Kapazität hat. Während der Kapazitätsanbieter zusätzliche Amazon-EC2-Instances startet, startet Amazon ECS Service Scheduler wahrscheinlich weiterhin Aufgaben parallel. Diese Aktivität kann jedoch aufgrund unzureichender Cluster-Kapazität gedrosselt werden. Amazon ECS Service Scheduler implementiert ein Back-off und eine exponentielle Drosselungsstrategie, mit der versucht wird, Aufgaben erneut zu platzieren, wenn neue Container-Instances gestartet werden. Infolgedessen kann es zu langsameren Bereitstellungs- oder Aufskalierungszeiten 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 Cluster-Kapazität erhöht werden muss, oder Sie behalten freie Cluster-Kapazitä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 Amazon-ECS-Service so konfigurieren, dass sie Elastic Load Balancing verwenden, um Datenverkehr gleichmäßig auf die Aufgaben zu verteilen. Weitere Informationen und empfohlene bewährte Methoden für die Auswahl eines Load Balancer finden Sie unter Verwenden von Load Balancing für die Verteilung des Service-Datenverkehrs in Amazon ECS.

Service Quotas für Elastic Load Balancing

Wenn Sie Ihre Workloads skalieren, sollten Sie die folgenden Service Quotas für Elastic Load Balancing berücksichtigen. Die meisten Service Quotas für Elastic Load Balancing 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 für die Folgenden Kontingente eine Erhöhung beantragen:

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

  • Das Targets per Target Group per Region-Kontingent, das die Anzahl der Ziele hinter Ihren Zielgruppen darstellt.

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

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, werden Sie häufig die zonenübergreifende Unterstützung aktivieren wollen, 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.

API-Drosselung für Elastic Load Balancing

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 API-Vorgänge für Elastic Load Balancing auf. Wenn Sie in Ihrem Konto eine große Anzahl von Services mit Load Balancer konfiguriert haben, könnte eine mögliche Drosselung die Servicebereitstellung verlangsamen, besonders die API-Vorgänge RegisterTarget, DeregisterTarget und DescribeTargetHealth für Elastic Load Balancing. Wenn eine Drosselung auftritt, treten Drosselungsfehler in Ihren Service-Ereignismeldungen für Amazon ECS auf.

Wenn bei Ihnen eine AWS Cloud Map API-Drosselung auftritt, können Sie sich an uns wenden, um Unterstützung Support bei der Erhöhung Ihrer AWS Cloud Map API-Drosselungsgrenzen zu erhalten. Weitere Informationen zur Überwachung und Behebung solcher Drosselungsfehler finden Sie unter Probleme mit der Drosselung von Amazon ECS beheben.

Elastic-Network-Schnittstelle

Wenn Ihre Aufgaben den awsvpc-Netzwerkmodus verwenden, stellt Amazon ECS für jede Aufgabe eine eindeutige Elastic-Network-Schnittstelle (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 Quotas für Elastic-Network-Schnittstellen

Wenn Sie Aufgaben ausführen, die den awsvpc-Netzwerkmodus verwenden, wird jeder Aufgabe eine eindeutige Elastic-Network-Schnittstelle zugewiesen. Wenn diese Aufgaben über das Internet erreicht werden müssen, weisen Sie der Elastic-Network-Schnittstelle 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 einer AWS-Region darstellt.

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

Bei Amazon-ECS-Workloads, die auf Amazon-EC2-Instances gehostet werden, sollten Sie bei der Ausführung von Aufgaben, die den awsvpc-Netzwerkmodus verwenden, den Servicekontingent Maximum network interfaces, die maximale Anzahl von Netzwerk-Instances für jede Amazon-EC2-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-Konsole nicht verfügbar. Weitere Informationen finden Sie unter IP-Adressen pro Netzwerkschnittstelle pro Instance-Typ im Benutzerhandbuch für Amazon EC2.

Sie können die Anzahl der Netzwerkschnittstellen, die an eine Amazon-EC2-Instance angehängt werden können, nicht ändern, jedoch können Sie das Trunking-Feature der Elastic-Network-Schnittstelle verwenden, um die Anzahl der verfügbaren Netzwerkschnittstellen zu erhöhen. Zum Beispiel kann eine c5.large-Instance standardmäßig bis zu drei Netzwerkschnittstellen aufweisen. Die primäre Netzwerkschnittstelle für die Instance zählt dazu. Sie können also zwei zusätzliche Netzwerkschnittstellen an die Instance anhängen. Da jede Aufgabe, die den Netzwerkmodus awsvpc verwendet, eine Netzwerkschnittstelle benötigt, können Sie nur zwei solcher Aufgaben auf diesem Instance-Typ ausführen. Dies kann zu einer Unterauslastung Ihrer Cluster-Kapazitä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 verfügt über die primäre Netzwerkschnittstelle und Amazon ECS erstellt und hängt eine „Trunk“-Netzwerkschnittstelle an die Instance an. 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 Erhöhung der Netzwerkschnittstellen für Linux-Container-Instances von Amazon ECS.

API-Drosselung der Elastic-Network-Schnittstelle

Wenn Sie Aufgaben ausführen, die den awsvpc Netzwerkmodus verwenden, stützt sich Amazon ECS auf den folgenden Amazon EC2 APIs. Für jeden von ihnen APIs gibt es unterschiedliche API-Drosselungen. Weitere Informationen zur finden Sie unter Drosselung für die Amazon-EC2-API anfordern in der API-Referenz für Amazon EC2.

  • CreateNetworkInterface

  • AttachNetworkInterface

  • DetachNetworkInterface

  • DeleteNetworkInterface

  • DescribeNetworkInterfaces

  • DescribeVpcs

  • DescribeSubnets

  • DescribeSecurityGroups

  • DescribeInstances

Wenn Aufrufe der Amazon-EC2-API während der Workflows zur Bereitstellung von Elastic-Network-Schnittstellen gedrosselt werden, startet Amazon ECS Service Scheduler automatisch einen Neuversuch mit exponentiellen Back-Offs. Diese automatische Außerbetriebnahme kann 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 Nachricht Operations are being throttled. Will try again later. in Ihren Service-Ereignismeldungen angezeigt. Wenn Sie die Amazon EC2 EC2-API-Drosselungen regelmäßig einhalten, können Sie sich an uns wenden Support , um Unterstützung zu erhalten, wie Sie Ihre API-Drosselungsgrenzwerte 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 Service-Kontingente

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 -Servicekontingent 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. Diese APIs helfen bei der Serviceerkennung und führen Zustandsprüfungen durch, wenn Sie eine Aufgabe starten. Wenn mehrere Services, 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 beheben.