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.
Wenn nicht genügend IP-Adressen zum Starten von Instances oder Skalieren vorhanden sind
Anmerkung
Für öffentliche Dienste erstellt App Runner kein Elastic Network Interface (ENI) in IhremVPCs, sodass Ihre öffentlichen Dienste von dieser Änderung nicht betroffen sind.
Diese Anleitung hilft Ihnen bei der Behebung von Fehlern bei der IP-Erschöpfung, die bei App Runner-Diensten auftreten können, wenn der VPC Zugriff für ausgehenden Datenverkehr aktiviert ist.
App Runner startet Instances in den Subnetzen, die Ihrem VPC Connector zugeordnet sind. App Runner erstellt 1 ENI pro Instanz in dem Subnetz, in dem Ihre Instance gestartet wird. Jeder ENI verwendet eine private IP in diesem Subnetz. Abhängig vom CIDR Block, der diesem Subnetz zugeordnet IPs ist, gibt es eine feste Anzahl verfügbarer Subnetze. Wenn App Runner nicht in der Lage ist, Subnetze zu finden, die ausreichend sind, IPs um eines zu erstellenENI, kann es keine neuen Instanzen für Ihren App Runner-Dienst starten. Dies kann zu Problemen bei der Skalierung Ihrer Dienste führen. In solchen Fällen werden App Runner-Ereignisprotokolle angezeigt, die darauf hinweisen, dass App Runner keine Subnetze mit verfügbaren IPs Subnetzen finden kann. Sie können Ihre Dienste mit den folgenden Anweisungen aktualisieren, um solche Fehler zu beheben.
So aktualisieren Sie Ihre Dienste, um mehr verfügbar zu haben IPs
Die Anzahl der in einem Subnetz verfügbaren IP-Adressen basiert auf dem CIDR Block, der diesem Subnetz zugeordnet ist. CIDRBlöcke, die einem Subnetz zugeordnet sind, können nach der Erstellung nicht aktualisiert werden. App VPC Runner-Konnektoren können auch nicht aktualisiert werden, sobald sie erstellt wurden. Gehen Sie wie folgt vorIPs, um mehr aus Ihren App Runner-Diensten herauszuholen, wenn der VPC Zugriff auf ausgehenden Datenverkehr aktiviert ist:
-
Erstellen Sie neue Subnetze mit einem größeren CIDR Block.
-
Erstellen Sie einen neuen VPC Connector mit den neuen Subnetzen.
-
Aktualisieren Sie Ihren App Runner-Dienst, um den neuen VPC Connector zu verwenden.
Berechnung, IPs die für Ihre Dienste erforderlich ist
Bevor Sie versuchen, neue Subnetze mit größeren CIDR Blöcken zu erstellen, ermitteln Sie die Anzahl der Subnetze, die IPs Sie für Ihre App Runner-Dienste benötigen. Wir empfehlen, die Anzahl der IPs benötigten Verbindungen in Ihrem Connector wie folgt zu berechnen:
-
Notieren Sie sich für jeden Dienst, für den der VPC Zugriff auf ausgehenden Datenverkehr aktiviert ist, die maximale Größe (maximale Anzahl an Instanzen) in der Auto Scaling-Konfiguration.
-
Summieren Sie die Werte für alle Dienste.
-
Verdoppeln Sie diese Summe, um die neuen Instances zu berücksichtigen, die bei Bereitstellungen mit Blau-Grün gestartet wurden.
Beispiel
Stellen Sie sich zwei Dienste A und B vor, die denselben VPC Konnektor verwenden.
-
Für Dienst A ist die maximale Größe auf 25 konfiguriert.
-
Für Dienst B ist die maximale Größe auf 15 konfiguriert.
Erforderlich IPs = 2 × (25 + 15) = 80
Stellen Sie sicher, dass in Ihren Subnetzen IPs zusammen mindestens 80 verfügbar sind.
Erstellen Sie neue Subnetze
-
Ermitteln Sie die CIDR Blockgröße, die für die IPv4 Verwendung dieser Formel erforderlich ist (beachten Sie, dass 5 Blöcke reserviert IPs sind nachAWS: Subnet Sizing)
Number of available IP addresses = 2^(32 - prefix length) - 5
Example : For 192.168.1.0/24: Prefix length is 24 Number of available IP addresses = 2^(32 - 24) - 5 = 2^8-5 = 251 IP addresses For 10.0.0.0/16: Prefix length is 16 Number of available IP addresses = 2^(32 - 16) - 5 = 2^16-5 = 65,531 IP addresses Quick reference: /24 = 251 IP addresses /16 = 65,531 IP addresses
-
Erstellen Sie ein neues Subnetz mit dem. AWS EC2 CLI
aws ec2 create-subnet --vpc-id <my-vpc-id> --cidr-block <cidr-block>
Beispiel (erstellt ein Subnetz mit IPs 4.096):
aws ec2 create-subnet --vpc-id my-vpc-id --cidr-block 10.0.0.0/20
-
Erstellen Sie einen neuen Connector. VPC Siehe: VPCZugriff verwalten
-
Aktualisieren Sie Ihre Dienste mit ausgehendem Datenverkehr auf VPC aktiviert, um diesen neuen VPC Connector verwenden zu können. App Runner beginnt, die neuen Subnetze zu verwenden, sobald Ihr Dienst aktualisiert wurde.
Anmerkung
VPCssind auch in Bezug auf die Anzahl der verfügbarenIPs, die den Subnetzen nach Blöcken zugewiesen werden können, begrenzt. CIDR Wenn Sie keine Subnetze mit größeren CIDR Blöcken erstellen können, müssen Sie Ihre Subnetze möglicherweise VPC mit sekundären CIDR Blöcken aktualisieren, bevor Sie die neuen Subnetze erstellen.
Anhängen von sekundären CIDR Blöcken an Ihre VPC
Ordnen Sie diesem CIDR VPC einen sekundären Block zu.
aws ec2 associate-vpc-cidr-block --vpc-id <my-vpc-id> --cidr-block <cidr-block>
Beispiel:
aws ec2 associate-vpc-cidr-block --vpc-id my-vpc-id --cidr-block 10.1.0.0/16
Verifizierung
Sobald Sie Ihren Service aktualisiert haben. Sie können Folgendes verwenden, um Ihren Fix zu überprüfen
-
Überwachen Sie die Ereignisprotokolle: Überwachen Sie die Ereignisprotokolle Ihres App Runner-Dienstes, um sicherzustellen, dass keine neuen IP- oder ENI Nichtverfügbarkeitsfehler angezeigt werden
-
Überprüfen Sie die Service-Skalierung:
-
Skalieren Sie den Service vollständig, indem Sie die Mindestanzahl an Instanzen in Ihrer Autoscaling-Konfiguration ändern
-
Stellen Sie sicher, dass alle neuen Instances ohne IP-bezogene Fehler gestartet werden
-
Überwachen Sie mehrere Skalierungsereignisse, um eine konsistente Leistung sicherzustellen
-
-
Konsolenbanner: Wenn Sie die AWS Management Console verwenden, stellen Sie sicher, dass App Runner kein Warnbanner mehr anzeigt, dass es nicht ausreichend istIPs.
-
VPCund Subnetz-IP-Nutzung:
-
Verwenden Sie das VPC Dashboard oder CLI Befehle, um die IP-Adressnutzung in Ihren neuen Subnetzen zu überprüfen.
-
Vergewissern Sie sich, dass IPs nach der Skalierung Ihres Dienstes immer noch ein ausreichender Spielraum verfügbar ist
-
Häufige Fallstricke
Beachten Sie bei der Bekämpfung der IP-Erschöpfung in App Runner-Diensten die folgenden potenziellen Probleme:
-
Unzureichende IP-Adressplanung: Wenn future IP-Anforderungen unterschätzt werden, kann dies zu wiederkehrenden Problemen mit der Erschöpfung führen. Führen Sie eine gründliche Kapazitätsplanung durch und berücksichtigen Sie dabei das potenzielle Servicewachstum und Szenarien mit Spitzennutzung.
-
VPCÜbersehen der gesamten IP-Nutzung: Denken Sie daran, dass VPC auch andere AWS Dienste innerhalb derselben Branche IP-Adressen verwenden. Berücksichtigen Sie bei der Planung Ihrer VPC und der Subnetzkonfigurationen die IP-Anforderungen aller Dienste.
-
Vernachlässigung der Aktualisierung von Diensten: Stellen Sie nach dem Erstellen neuer Subnetze oder VPC Connectors sicher, dass Sie Ihre App Runner-Dienste aktualisieren, um die neuen Konfigurationen zu verwenden. Andernfalls wird der erschöpfte IP-Bereich weiterhin genutzt.
-
Missverständnis von CIDR Blocküberschneidungen: Achten Sie beim Hinzufügen von sekundären CIDR Blöcken daraufVPC, dass sie sich nicht mit vorhandenen Blöcken überschneiden. Überlappende CIDR Blöcke können zu Routing-Konflikten und Mehrdeutigkeiten bei IP-Adressen führen.
-
VPCGrenzwerte überschreiten: Beachten Sie, dass a maximal 5 CIDR Blöcke haben VPC kann (1 primärer und 4 sekundärer). Planen Sie die Erweiterung Ihres IP-Adressraums innerhalb dieser Einschränkungen.
-
Ignorieren der Subnetz-AZ-Verteilung: Stellen Sie beim Erstellen neuer Subnetze sicher, dass diese auf mehrere Availability Zones verteilt sind, um eine hohe Verfügbarkeit und Fehlertoleranz zu gewährleisten.
-
ENILimits übersehen: Denken Sie daran, dass die Anzahl der Instances, die an Instanzen angehängt werden könnenENIs, begrenzt ist. Vergewissern Sie sich, dass Ihre AWS Kontolimits mit Ihrer geplanten Netzwerkschnittstellennutzung übereinstimmen.
Wenn Sie sich dieser Fallstricke bewusst sind, können Sie Ihre VPC Ressourcen effektiver verwalten und Probleme mit der IP-Erschöpfung in Ihren App Runner-Diensten vermeiden.
Weitere Ressourcen
Glossar
-
ENI: Elastic Network Interface, eine virtuelle Netzwerkschnittstelle inAWS.
-
CIDR: Klassenloses Inter-Domain-Routing, eine Methode zur Zuweisung von IP-Adressen.
-
VPCConnector: Eine Ressource, mit der App Runner eine Verbindung zu Ihrem herstellen kann. VPC