Zum Einrichten eines verteilten speicherinternen Datencaches für Ihren Cloud Run-Dienst können Sie Memorystore for Redis verwenden. Mit Memorystore for Redis verwenden Sie einen In-Memory-Redis-Datenspeicher, um den Anwendungscache mit Skalierung, Sicherheit und Hochverfügbarkeit zu speichern. Sie können direkt über Ihren Cloud Run-Dienst eine Verbindung zu einer Redis-Instanz herstellen. Dazu sind jedoch zusätzliche Schritte zum Einrichten eines Connectors für serverlosen VPC-Zugriff erforderlich.
Mit dem auf dieser Seite beschriebenen Integrationen von Cloud Run (Vorschau) können Sie Ihren Cloud Run-Dienst schnell mit einem neuen Redis-Dienst verbinden. Sie verwenden dazu Memorystore und müssen keinen Connector für serverlosen VPC-Zugriff einrichten. Wenn Sie Ihren Cloud Run-Dienst mit einer vorhandenen Redis-Instanz verbinden wollen, finden Sie weitere Informationen unter Verbindung zu einer Redis-Instanz über einen Cloud Run-Dienst herstellen.
Hinweise
- Achten Sie darauf, dass der Cloud Run-Dienst, in den Sie einbinden, bereits bereitgestellt ist.
- Sehen Sie sich die Preisseite für Memorystore an. Ihnen werden einzelne Ressourcen in Rechnung gestellt, die von der Einbindung verwendet werden.
Erforderliche Rollen
Damit Sie die Cloud Run Integrationen verwenden können, müssen Sie oder Ihr Administrator zwei verschiedenen Hauptkonten IAM-Rollen zuweisen.
Klicken, um die erforderlichen Rollen für Ihr Google-Konto anzuzeigen
Bitten Sie Ihren Administrator, Ihrem Google-Konto die folgenden IAM-Rollen für das Projekt zuzuweisen, um die Berechtigungen zu erhalten, die Sie für die Verwendung von Cloud Run-Einbindungen benötigen:
- Cloud Run Developer (
roles/run.developer
) - Compute-Betrachter (
roles/compute.viewer
) - Entwickler von serverlosen EInbindungen (
roles/runapps.developer
) - Operator für serverlose Einbindungen (
roles/runapps.operator
) - Dienstkontonutzer (
roles/iam.serviceAccountUser
)
Klicken Sie, um die erforderlichen Rollen für das Dienstkonto aufzurufen
Zum Bereitstellen des Cloud Run-Dienstes können Sie entweder das automatisch erstellte Compute Engine-Standarddienstkonto verwenden oder ein nutzerverwaltetes Dienstkonto angeben. Das Dienstkonto muss die folgenden Rollen haben:
- Cloud Run Developer (
roles/run.developer
) - Log-Bucket-Autor (
roles/logging.bucketWriter
) - Dienstkontonutzer (
roles/iam.serviceAccountUser
) - Storage-Administrator (
roles/storage.admin
) - Cloud Memorystore Redis-Administrator (
roles/redis.admin
) - Compute-Betrachter (
roles/compute.viewer
) - Administrator von serverlosem VPC-Zugriff ()
roles/vpcaccess.admin
Dienst mit einem neuen Redis-Cache verbinden
Jede Konfigurationsänderung führt zur Erstellung einer neuen Überarbeitung. Für nachfolgende Überarbeitungen gilt automatisch dieselbe Konfigurationseinstellung, sofern Sie sie nicht explizit aktualisieren.
Sie können einen Cloud Run-Dienst über die Console oder die Befehlszeile mit einem Redis-Cache verbinden. Wenn Sie keine Speichergröße angeben, wird ein Cache von 1 Gigabyte verwendet.
Console
Wechseln Sie in der Google Cloud Console zur Seite Cloud Run.
Klicken Sie in der Liste der Dienste, die Sie in dieser Einbindung verwenden möchten, auf den Dienst.
Klicken Sie auf den Tab Integrations (Integrationen).
Klicken Sie auf Integration hinzufügen.
Klicken Sie auf Redis – Google Cloud MemoryStore.
Übernehmen Sie die Standardwerte oder ändern Sie den Namen und die Cache-Größe in die Werte, die Sie verwenden möchten.
Wenn Sie aufgefordert werden, eine Liste von APIs zu aktivieren, klicken Sie auf Aktivieren und warten Sie, bis die APIs aktiviert sind.
Unter Ressourcen finden Sie die neuen Ressourcen, die durch diese Einbindung erstellt werden.
Klicken Sie auf Senden und warten Sie, bis die Einbindung und die Ressourcen erstellt sind. Dieser kann bis zu 15 Minuten dauern.
Befehlszeile
Aktualisieren Sie die Google Cloud CLI:
gcloud components update
Integration erstellen:
gcloud beta run integrations create \ --type=redis \ --service=SERVICE \ --parameters=memory-size-gb=MEMORY-SIZE
Ersetzen Sie:
- SERVICE durch den Namen Ihres Cloud Run-Dienstes.
- MEMORY-SIZE durch die gewünschte Größe des Caches in Gigabyte. Der Standardwert ist 1 GB.
Fügen Sie optional das Flag
--service-account=SERVICE_ACCOUNT_EMAIL
hinzu.Ersetzen Sie SERVICE_ACCOUNT_EMAIL durch die E-Mail-Adresse des vom Nutzer verwalteten Dienstkontos (
PROJECT_NUMBER-compute@developer.gserviceaccount.com
), das zum Bereitstellen des Dienstes verwendet wird. Lassen Sie dieses Flag weg, wenn Sie das Compute-Standarddienstkonto (SERVICE_ACCOUNT_ID@PROJECT_ID.iam.gserviceaccount.com
) verwenden möchten.Führen Sie den folgenden Befehl aus, um beim Bereitstellen von Cloud Run-Integrationen das angegebene Dienstkonto weiterhin zu verwenden:
gcloud config set runapps/deployment-service-account
Warten Sie bis zu 15 Minuten, bis ein vollständig konfigurierter Redis-Cache erstellt und verbunden ist. Darüber hinaus wird eine neue Cloud Run-Überarbeitung erstellt, einschließlich der für den Redis-Cache erforderlichen Netzwerkkonfigurationen und Umgebungsvariablen. Wenn der Vorgang abgeschlossen ist, wird die folgende Meldung angezeigt:
[redis] integration [redis-xxx] has been updated successfully. To connect to the Redis instance, utilize the environment variables REDISHOST and REDISPORT. These have been added to the Cloud Run service for you.
Sie können den Status mit
gcloud beta run integrations describe
prüfen.
Redis-Cache-Integrationen aktualisieren
Durch das Aktualisieren einer Integration werden alle Google Cloud-Ressourcen aktualisiert, die mit dieser Integration verknüpft sind. So aktualisieren Sie eine Redis-Cache-Einbindung aus Ihrem Cloud Run-Dienst:
Console
Wechseln Sie in der Google Cloud Console zur Seite Cloud Run.
Klicken Sie auf den Dienst, den Sie aktualisieren möchten.
Klicken Sie auf den Tab Integrations (Integrationen).
Suchen Sie die Redis-Cache-Integration und klicken Sie auf Bearbeiten.
Wenn Sie mit der Aktualisierung der Felder fertig sind, klicken Sie auf Aktualisieren.
Befehlszeile
Verwenden Sie den folgenden Befehl, um eine Liste der verfügbaren Integrationen abzurufen:
gcloud beta run integrations list
Führen Sie den Befehl zum Aktualisieren der Integration aus:
gcloud beta run integrations update INTEGRATION_NAME
Ersetzen Sie:
- Ersetzen Sie INTEGRATION_NAME durch den Namen der Redis-Cache-Einbindung.
Optional können Sie die folgenden Flag-Optionen verwenden:
Wahltaste Beschreibung --parameters
Die Speichergröße des Cache in Gigabyte. --service-account
Die E-Mail-Adresse des vom Nutzer verwalteten Dienstkontos, die beim Aktualisieren des Dienstes angegeben werden soll. Dieses Dienstkonto überschreibt das vorherige Dienstkonto, das bei der Bereitstellung verwendet wurde.
Redis-Cache-Einbindungen ansehen
So rufen Sie den aktuellen Status der Redis-Cache-Einbindungen für Ihren Cloud Run-Dienst auf:
Console
Wechseln Sie in der Google Cloud Console zur Seite Cloud Run.
Klicken Sie in der Liste der Dienste, die Sie in dieser Einbindung verwenden möchten, auf den Dienst.
Klicken Sie auf den Tab Integrations (Integrationen).
Suchen Sie die gewünschte Redis-Cache-Integration und klicken Sie auf Details ansehen.
Befehlszeile
Verwenden Sie den folgenden Befehl, um eine Liste der verfügbaren Integrationen abzurufen:
gcloud beta run integrations list
Zeigen Sie die Details dafür mit einem Namen aus der zurückgegebenen Liste an:
gcloud beta run integrations describe INTEGRATION_NAME
Ersetzen Sie INTEGRATION_NAME durch den Namen der Redis-Cache-Einbindung.
Redis-Cache-Einbindungen löschen
Beim Löschen einer Einbindung werden auch alle mit dieser Einbindung verknüpften Google Cloud-Ressourcen gelöscht. Der Cloud Run-Dienst wird jedoch nicht gelöscht.
So löschen Sie eine Redis-Cache-Einbindung aus Ihrem Cloud Run-Dienst:
Console
Wechseln Sie in der Google Cloud Console zur Seite Cloud Run.
Klicken Sie auf den Dienst, für den Sie eine Einbindung löschen möchten.
Klicken Sie auf den Tab Integrations (Integrationen).
Suchen Sie die Redis-Cache-Integration, die Sie interessiert, und klicken Sie rechts neben der Integration auf Dreipunkt-Symbol und dann auf Löschen.
Befehlszeile
Verwenden Sie den folgenden Befehl, um eine Liste der verfügbaren Integrationen abzurufen:
gcloud beta run integrations list
Löschen Sie die Integration mithilfe eines Namens aus der zurückgegebenen Liste:
gcloud beta run integrations delete INTEGRATION_NAME
Ersetzen Sie:
- Ersetzen Sie INTEGRATION_NAME durch den Namen der Redis-Cache-Einbindung.
Optional können Sie die folgenden Flag-Optionen verwenden:
Wahltaste Beschreibung --service-account
Die E-Mail-Adresse des vom Nutzer verwalteten Dienstkontos, um den Löschvorgang auszuführen.
Über den Code auf den Redis-Cache zugreifen
Nach Abschluss der auf dieser Seite beschriebenen Integration werden die Umgebungsvariablen REDISHOST
und REDISPORT
automatisch hinzugefügt und stehen für den Cloud Run-Dienstcode zur Verfügung.
Beispielcode für Dienste mit Redis
In der Memorystore-Dokumentation finden Sie vollständige Cloud Run- und Redis-Codebeispiele in mehreren Sprachen, die Redis verwenden.
Beschränkungen
- Die Cloud Run-Integrationen werden nur in bestimmten Regionen unterstützt. Falls Sie eine Region verwenden müssen, die nicht von den Cloud Run-Integrationen unterstützt wird, lesen Sie den Abschnitt Verbindung zu einer Redis-Instanz über einen Cloud Run-Dienst herstellen.
- Es werden nur VPC-Connectors im Standard-VPC-Netzwerk unterstützt. Alte Netzwerke werden nicht unterstützt.