Best Practices für Cloud Run-Netzwerke

Auf dieser Seite werden die Best Practices für die Konfiguration von Netzwerkoptionen für Cloud Run-Ressourcen erläutert. Bevor Sie Ihre Ressourcen erstellen, empfehlen wir Ihnen, alle Abschnitte auf dieser Seite zu lesen, um die von Cloud Run unterstützten Netzwerkoptionen und ihre Auswirkungen zu verstehen.

IP-Adressnutzung überwachen

Wenn Sie ausgehenden Direct VPC-Traffic verwenden, müssen Sie genügend IP-Adressen für Ihr Subnetz haben. Die Anzahl der verwendeten IP-Adressen hängt von der Anzahl der Containerinstanzen ab, auf denen Ihre Arbeitslasten ausgeführt werden. Wir empfehlen daher, die Nutzung Ihrer IP-Adressen zu überwachen. Achten Sie darauf, dass Ihre IP-Nutzung im Laufe der Zeit innerhalb der vom Subnetz unterstützten Grenzen bleibt.

So schätzen Sie die Nutzung Ihrer IP-Adressen:

  1. Rufen Sie in der Google Cloud Console die Seite „Cloud Monitoring > Metrics Explorer“ auf:

    Zum Cloud Monitoring Metrics Explorer

  2. Suchen Sie die Anzahl der Containerinstanzen in Ihrem Projekt mit dem Messwerttyp run.googleapis.com/container/instance_count. Mit Cloud Monitoring können Sie den Wert dieses Messwerts im Zeitverlauf ansehen.

  3. Multiplizieren Sie den Wert des Messwerts für die Instanzanzahl mit 2, um eine Schätzung der Anzahl der verwendeten IP-Adressen zu erhalten.

Strategien zur Vermeidung von IP-Adressen-Erschöpfung

Eine große Anzahl von Cloud Run-Arbeitslasten kann zu Problemen mit der IP-Erschöpfung führen, wenn der private RFC 1918-IP-Adressbereich mit ausgehendem Direct VPC-Traffic verwendet wird. Mit den folgenden Strategien können Sie die Erschöpfung von IP-Adressen durch die Verwendung alternativer IP-Adressbereiche verwalten.

IPv4-Adressen außerhalb von RFC 1918 verwenden

Neben den RFC 1918-IPv4-Adressbereichen unterstützt Cloud Run auch die Bereiche RFC 6598 und Klasse E/RFC 5735. AlleGoogle Cloud -Dienste und -Funktionen funktionieren mit diesen Nicht-RFC-1918-Bereichen, einschließlich VPC-Netzwerken, Cloud Load Balancing und Private Service Connect.

Für die beste Kompatibilität empfehlen wir, mit dem RFC 6598-Bereich (100.64.0.0/10) zu beginnen. Wenn Sie diesen Bereich bereits an anderer Stelle verwenden, sollten Sie Klasse E/RFC 5735 (240.0.0.0/4) verwenden. Klasse E ist ein riesiger Bereich mit über 268 Millionen verfügbaren IP-Adressen, der Ihr Wachstum für lange Zeit unterstützen wird. Für die Klasse E gelten jedoch einige Einschränkungen. Es wird beispielsweise unter Windows und auf einigen lokalen Hardwaregeräten nicht unterstützt. IPv4-Adressraum der Klasse E nutzen, um Probleme mit der IPv4-Erschöpfung in GKE zu beheben

Cloud NAT oder Private Service Connect verwenden

Wenn Ihre Cloud Run-Arbeitslast, die einen Bereich außerhalb des RFC 1918-Bereichs verwendet, ein lokales Ziel erreichen muss, das nur RFC 1918 akzeptiert, verwenden Sie eine der folgenden Lösungen:

  • Verwenden Sie Hybrid NAT, um die Adressübersetzung und den ausgehenden Traffic mit einem kleinen RFC 1918-Bereich durchzuführen.
  • Stellen Sie den lokalen Dienst als Private Service Connect-Hybriddienst bereit.

IPv4- und IPv6-Subnetze (Dual-Stack) verwenden

Die Umstellung Ihrer Anwendungen auf IPv6 ist ein guter erster Schritt, auch wenn dadurch die IPv4-Erschöpfung nicht verringert wird. Richten Sie Dual-Stack-Ressourcen ein, um Probleme mit der IPv4-Erschöpfung in Zukunft zu vermeiden.

Strategien zur Reduzierung der Portauslastung

Im folgenden Abschnitt werden Strategien zur Reduzierung der Port-Erschöpfung mit Cloud Run beschrieben.

Verbindungs-Pooling verwenden und Verbindungen wiederverwenden

Wenn Sie eine große Anzahl von Anfragen an eine einzelne Ziel-IP-Adresse senden, verwenden Sie Verbindungs-Pooling, um Verbindungen zum Ziel aufrechtzuerhalten und wiederzuverwenden. Hohe Verbindungsraten zu einer einzelnen IP-Adresse können ausgehende Ports erschöpfen und Fehler vom Typ „Verbindung abgelehnt“ verursachen.

Ausgehenden Internettraffic isolieren

Standardmäßig sendet Cloud Run ausgehenden Internettraffic über einen regionalen Pool dynamischer IP-Adressen, der von serverlosen Arbeitslasten gemeinsam genutzt wird. Verwenden Sie diesen standardmäßigen freigegebenen Pool nicht für Arbeitslasten, die von der IP-Reputation abhängen oder ein hohes Volumen an Prüf-Traffic generieren.

Konfigurieren Sie stattdessen ausgehenden Direct VPC-Traffic mit --vpc-egress=all-traffic und leiten Sie den Traffic in den folgenden Fällen über Cloud NAT mit dedizierten statischen ausgehenden IP-Adressen weiter:

  • Ihre Arbeitslast stellt eine Verbindung zu reputationssensitiven externen Endpunkten her, z. B. Zahlungs-Gateways, gehosteten Datenbanken oder Partner-APIs hinter Web Application Firewalls (WAFs) von Drittanbietern. Dedizierte statische IP-Adressen verhindern, dass störender Traffic von anderen Mandanten im freigegebenen Pool externe WAF-Blöcke oder HTTP 403-Fehler auslöst.
  • Ihre Arbeitslast führt autorisierte Netzwerkscans, Portaufzählungen, Host-Fingerprinting, Sicherheitslückenprüfungen, Web-Scraping oder Lasttests durch. Wenn Sie diese Arbeitslasten über den standardmäßigen freigegebenen IP-Pool ausführen, wird die IP-Reputation beeinträchtigt. Außerdem kann der Dienst für andere Kunden unterbrochen werden, was gegen die Google Cloud -Richtlinien zur zulässigen Verwendung verstößt. Dies kann dazu führen, dass Google Ihre Arbeitslast drosselt oder sperrt.

Wenn Sie autorisierte Scans oder Arbeitslasten mit vielen Verbindungen über Cloud NAT ausführen, weisen Sie genügend statische IP-Adressen zu und konfigurieren Sie die Portreservierung, um eine Port-Erschöpfung zu verhindern.

Leistungs- und Durchsatzstrategien

In diesem Abschnitt werden skalierbare Optionen zur Verbesserung der Netzwerkleistung und des Durchsatzes zum Internet und zu Google-Diensten behandelt.

Ausführungsumgebung der zweiten Generation verwenden

Für die beste Netzwerkleistung für Cloud Run-Dienste verwenden Sie die Ausführungsumgebung der zweiten Generation, wenn Sie Traffic mit Direct VPC-Ausgang weiterleiten. Die Umgebung der zweiten Generation bietet eine schnellere Netzwerkleistung, insbesondere bei Paketverlusten.

Sie können die Ausführungsumgebung über die Google Cloud Console, die gcloud CLI, YAML oder Terraform auswählen.

Ausgehenden Direct VPC-Traffic für schnelleren ausgehenden Netzwerkdurchsatz verwenden

Um einen schnelleren Durchsatz für ausgehende Netzwerkverbindungen zu erreichen, können Sie ausgehenden Direct VPC-Traffic nutzen, um den Traffic über Ihr VPC-Netzwerk zu leiten. Wir empfehlen, diese Option wie bereits erwähnt in Verbindung mit der Ausführungsumgebung der zweiten Generation zu verwenden.

Beispiel 1: Externer Traffic zum Internet

Wenn Sie externen Traffic an das öffentliche Internet senden, leiten Sie den gesamten Traffic über das VPC-Netzwerk weiter, indem Sie --vpc-egress=all-traffic festlegen. Bei diesem Ansatz müssen Sie Cloud NAT einrichten, um das öffentliche Internet zu erreichen.

Informationen dazu, wie Sie Cloud Run für die Verwendung eines Cloud NAT-Gateways für Public NAT oder Private NAT konfigurieren, finden Sie unter Interaktionen von ausgehendem Direct VPC-Traffic mit Cloud NAT.

Beispiel 2: Interner Traffic zu einer Google API

Wenn Sie ausgehenden Direct VPC-Traffic verwenden, um Traffic an eine Google API wie Cloud Storage zu senden, wählen Sie eine der folgenden Optionen:

Standard-MTU-Einstellung für Cloud Run verwenden

Ändern Sie die Einstellung für die maximale Übertragungseinheit (MTU) eines VPC-Netzwerk nicht, wenn Sie es mit Cloud Run verwenden. Verwenden Sie stattdessen die Standard-MTU von 1.460 Byte.

Kostengesichtspunkte

Beachten Sie beim Konfigurieren der Netzwerkoptionen für Ihre Ressourcen Folgendes:

  • Ressourcen am selben Ort platzieren: Versuchen Sie, Ihre Cloud Run-Ressourcen in derselben Region wie Ihre Backend-Datenbanken (z. B. Cloud SQL oder Firestore) und Cloud Storage-Buckets bereitzustellen. Die Datenübertragung zwischen Google Cloud -Ressourcen innerhalb derselben Region ist kostenlos.
  • Zu Direct VPC-Ausgang wechseln: Wenn Sie Traffic sicher an interne VPC-Netzwerkressourcen weiterleiten, sollten Sie von Connectors für Serverloser VPC-Zugriff zu Direct VPC-Ausgang wechseln. Ausgehender Direct VPC-Traffic wird auf null skaliert, wodurch der grundlegende Rechenaufwand und die Kosten für inaktive Connector-Instanzen entfallen.
  • Cloud CDN verwenden: Lagern Sie statische Assets und cachefähige Inhalte aus, indem Sie Cloud CDN vor Ihren Cloud Run-Ressourcen platzieren. Die Bereitstellung von Daten über das Edge-Netzwerk ist deutlich günstiger als die Bezahlung für ausgehenden Internet-Traffic direkt von Cloud Run.
  • Ausgehenden Internet-Traffic überwachen: Eingehender Traffic (Ingress) ist immer kostenlos. Außerdem erhalten Sie 1 GiB kostenlose ausgehende Internetdatenübertragung pro Monat innerhalb Nordamerikas. Konzentrieren Sie sich beim Monitoring auf ausgehenden Traffic, der Regionsgrenzen überschreitet oder die kostenlose Stufe überschreitet.

Weitere Informationen finden Sie unter Cloud Run – Preise. Sie können die Kosten auch mit dem Preisrechner schätzen.

Nächste Schritte