Standorte für Cloud Functions

Cloud Functions basiert auf Regionen, das heißt, die Infrastruktur, auf der die Cloud Functions-Funktionen ausgeführt werden, befindet sich in einer bestimmten Region. Sie wird von Google verwaltet, damit die Funktionen in allen Zonen innerhalb dieser Region redundant verfügbar sind.

Bei der Entscheidung für eine Region zur Ausführung Ihrer Cloud Functions-Funktionen sollten Latenz und Verfügbarkeit an erster Stelle stehen. Im Allgemeinen können Sie zwar die Region auswählen, die Ihren Cloud Functions-Nutzern am nächsten ist. Sie sollten aber auch den Standort der anderen Google Cloud-Produkte und -Dienste, die Ihre Anwendung nutzt, berücksichtigen. Eine standortübergreifende Nutzung von Diensten kann die Latenz der Anwendung sowie die Preise beeinflussen.

Die für Cloud Functions verfügbaren Regionen sind unten aufgeführt. Die verschiedenen Versionen von Cloud Functions haben unterschiedliche regionale Verfügbarkeit. Informationen dazu finden Sie in den Tabellen in der Spalte "Unterstützte Produktversionen".

Preisstufe 1

Cloud Functions ist in den folgenden Regionen mit Preisstufe 1 verfügbar:

Region Standort Unterstützte Produktversionen CO-Emissionen
asia-east1 Taiwan 1. Generation, 2. Generation
asia-east2 Hongkong 1. Generation
asia-northeast1 Tokio 1. Generation, 2. Generation
asia-northeast2 Osaka 1. Generation, 2. Generation
europe-north1 Finnland 2. Generation Blattsymbol Niedriger CO2-Wert
europe-southwest1 Madrid 2. Generation
europe-west1 Belgien 1. Generation, 2. Generation Blattsymbol Niedriger CO2-Wert
europe-west2 London 1. Generation
europe-west4 Niederlande 2. Generation
europe-west8 Mailand 2. Generation
europe-west9 Paris 2. Generation Blattsymbol Niedriger CO2-Wert
me-west1 Tel Aviv 2. Generation
us-central1 Iowa 1. Generation, 2. Generation Blattsymbol Niedriger CO2-Wert
us-east1 South Carolina 1. Generation, 2. Generation
us-east4 Northern Virginia 1. Generation, 2. Generation
us-east5 Columbus 2. Generation
us-south1 Dallas 2. Generation
us-west1 Oregon 1. Generation, 2. Generation Blattsymbol Niedriger CO2-Wert

Preisstufe 2

Cloud Functions ist in den folgenden Regionen mit Preisstufe 2 verfügbar:

Region Standort Unterstützte Produktversionen CO-Emissionen
asia-east2 Hongkong 2. Generation
asia-northeast3 Seoul 1. Generation, 2. Generation
asia-southeast1 Singapur 1. Generation, 2. Generation
asia-southeast2 Jakarta 1. Generation, 2. Generation
asia-south1 Mumbai 1. Generation, 2. Generation
asia-south2 Delhi, Indien 2. Generation
australia-southeast1 Sydney 1. Generation, 2. Generation
australia-southeast2 Melbourne 2. Generation
europe-central2 Warschau 1. Generation, 2. Generation
europe-west2 London 2. Generation
europe-west3 Frankfurt 1. Generation, 2. Generation Blattsymbol Niedriger CO2-Wert
europe-west6 Zürich 1. Generation, 2. Generation Blattsymbol Niedriger CO2-Wert
europe-west10 Berlin 2. Generation
europe-west12 Turin 2. Generation
me-central1 Doha 2. Generation
me-central2 Dammam 2. Generation
northamerica-northeast1 Montreal 1. Generation, 2. Generation Blattsymbol Niedriger CO2-Wert
northamerica-northeast2 Toronto 2. Generation Blattsymbol Niedriger CO2-Wert
southamerica-east1 São Paulo 1. Generation, 2. Generation Blattsymbol Niedriger CO2-Wert
southamerica-west1 Santiago, Chile 2. Generation
us-west2 Los Angeles 1. Generation, 2. Generation
us-west3 Salt Lake City 1. Generation, 2. Generation
us-west4 Las Vegas 1. Generation, 2. Generation

Region auswählen

Sie können bei der Bereitstellung der Funktion eine Region auswählen.

gcloud

Wenn Sie die Google Cloud CLI verwenden, können Sie die Region mit dem Flag --region angeben.

gcloud functions deploy FUNCTION_NAME --region=REGION ...

REGION steht für eine der oben aufgeführten Regionen.

Console

Wenn Sie die Google Cloud Console verwenden, können Sie beim Erstellen und Bereitstellen einer Funktion die Region auswählen.

  1. Rufen Sie in der Google Cloud Console die Übersichtsseite von Cloud Functions auf.

    Zur Cloud Functions-Übersichtsseite

    Achten Sie darauf, dass das Projekt ausgewählt ist, für das Sie Cloud Functions aktiviert haben.

  2. Klicken Sie auf Funktion erstellen.

  3. Wählen Sie im Feld Region eine Region aus.

Sie können Funktionen in verschiedenen Regionen innerhalb eines Projekts bereitstellen, aber sobald eine Region für eine Funktion ausgewählt wurde, kann sie nicht mehr geändert werden.

Funktionen innerhalb einer Region und eines Projekts müssen eindeutige Namen haben (Groß- und Kleinschreibung ist relevant). Funktionen in verschiedenen Regionen oder Projekten können denselben Namen haben.

Standardregion festlegen

So legen Sie mit der Google Cloud CLI eine Standardregion fest:

gcloud config set functions/region REGION

Beispiel:

gcloud config set functions/region europe-west1

Datenstandort

Cloud Functions bietet eine Datenstandortgarantie für den Geltungsbereich der Funktionsausführung (Geltungsbereich A: Compliance der Funktionsausführung). Zu einer bestimmten Funktion wird damit der Datenstandort für den Funktionsaufruf bzw. die Funktionsausführung sichergestellt.

Diese Compliance gilt sowohl für HTTP-Funktionen als auch für ereignisgesteuerte Funktionen. Für ereignisgesteuerte Funktionen besteht bei Cloud Functions eine Konformität des Datenstandorts, sobald das vorgelagerte Produkt (ausgelöstes Produkt) das Ereignis an Cloud Functions gesendet hat. Daher muss sichergestellt werden, dass für das vorgelagerte Produkt (z. B. Cloud Storage oder Pub/Sub) selbst eine Konformität des Datenstandorts besteht.

Best Practices für das Ändern von Regionen

Orientieren Sie sich an den folgenden Empfehlungen, wenn Sie eine Region ändern müssen, in der eine Funktion bereitgestellt wird.

HTTP-Funktionen

Für HTTP-Funktionen empfehlen wir, dass Sie zuerst die HTTP-Funktion für die Zielregion neu bereitstellen (sie kann denselben Namen haben) und dann die ursprüngliche Funktion so abändern, dass die HTTP-Anfrage an die neue Funktion umgeleitet wird. Wenn Clients, die Ihre HTTP-Funktion verwenden, Weiterleitungen unterstützen, können Sie einfach die ursprüngliche Funktion so ändern, dass der HTTP-Redirect-Status (301) zusammen mit der URL der neuen Funktion zurückzugeben wird. Wenn die Clients eher schlecht mit Weiterleitungen zurechtkommen, können Sie die Anfrage von der ursprünglichen auf die neue Funktion weiterleiten. Starten Sie dazu von der ursprünglichen Funktion eine Anfrage an die neue Funktion. Im letzten Schritt müssen Sie dafür sorgen, dass alle Clients die neue Funktion aufrufen.

Ereignisgesteuerte Funktionen

Ereignisgesteuerte Funktionen verwenden eine spezielle Semantik, um sicherzugehen, dass ein Ereignis mindestens einmal zugestellt wird. Das heißt, dass durchaus doppelte Ereignisse vorkommen können, und diese Funktionen deswegen immer so implementiert werden sollten, dass sie idempotent sind. Wenn Ihre Funktion bereits idempotent ist, können Sie sie einfach mit demselben Ereignistrigger in der neuen Region bereitstellen. Prüfen Sie dann, ob die neue Funktion Traffic korrekt empfängt. Wenn ja, entfernen Sie die alte Funktion. Während dieser Übergangsperiode empfangen beide Funktionen Ereignisse.

Wenn Ihre Funktion nicht idempotent ist oder die Idempotenz nicht über die Region hinausreicht, empfehlen wir, zuerst die Idempotenz zu implementieren, bevor Sie die Funktion verschieben.