Diese Seite bietet einen Überblick über das Netzwerken in Memorystore for Redis.
Memorystore verwendet VPC-Peering, um Ihr VPC-Netzwerk mit dem internen Google-Dienstnetzwerk zu verbinden. Memorystore for Redis bietet verschiedene Peering-Architekturen und Netzwerkfunktionen, je nachdem, welchen Verbindungsmodus Sie beim Erstellen einer Instanz auswählen.
Die Möglichkeit, einen Verbindungsmodus auszuwählen, wurde eingeführt, um erweiterte Netzwerkoptionen in Google Cloud zu unterstützen, dazu zählen freigegebene VPC-Architekturen und eine bessere IP-Verwaltung. Gleichzeitig wird die Unterstützung der vorhandenen Peering-Architektur von Memorystore gewährleistet.
Memorystore for Redis unterstützt zwei Verbindungsmodi, DIRECT_PEERING
und PRIVATE_SERVICE_ACCESS
.
Unabhängig vom Verbindungsmodus verwendet Memorystore for Redis immer interne IP-Adressen, um Redis-Instanzen bereitzustellen.
Verbindungsmodi
Memorystore for Redis bietet zwei Verbindungsmodi, die verschiedene Funktionen unterstützen:
- Direct Peering
- Zugriff auf private Dienste
Führen Sie zum Aufrufen des Modus für die Netzwerkverbindung einer vorhandenen Instanz den folgenden Befehl aus. Ersetzen Sie dabei variables durch die entsprechenden Werte:
gcloud redis instances describe instance-id --region=region
- Der Wert
connectMode
zeigt entwederDIRECT_PEERING
oderPRIVATE_SERVICE_ACCESS
an.
Eine Anleitung zum Auswählen des Verbindungsmodus während der Instanzerstellung finden Sie unter Redis-Instanz mit einem freigegebenen VPC-Netzwerk in einem Dienstprojekt erstellen oder Redis-Instanz mit einem zentralisierten IP-Adressbereich erstellen.
Direct Peering
Bei Verwendung des Direct Peering-Modus erstellt Memorystore ein VPC-Peering zwischen dem VPC-Netzwerk des Kunden und dem VPC-Netzwerk im von Google verwalteten Projekt. Das Peering wird während der Instanzerstellung automatisch erstellt und erfordert keine zusätzlichen Schritte vom Nutzer. Andere Google Cloud-Dienste teilen das Peering nicht. Memorystore for Redis verwendet den direkten Peering-Verbindungsmodus, bevor der Verfügbarkeitsmodus für den Zugriff auf private Dienste verfügbar ist.
Standardmäßig werden neue Instanzen im Direct Peering-Verbindungsmodus erstellt. Alle vorhandenen Skripts ohne angegebenen Verbindungsmodus verwenden standardmäßig den direkten Peering-Modus.
Wenn Sie eine Instanz mit dem Direct Peering-Verbindungsmodus erstellen und mit dem gcloud-Flag --reserved-ip-range
einen IP-Adressbereich angeben möchten, finden Sie unter Redis-Instanz mit einer bestimmten IP-Adressbereich erstellen eine Anleitung zum Angeben eines Bereichs. Die erforderliche Mindestblockgröße beträgt /29
für Instanzen ohne Lesereplikate. Die erforderliche Mindestblockgröße beträgt /28
für Instanzen mit Lesereplikaten.
Zugriff auf private Dienste
Der Zugriff auf private Dienste ist eine weitere Möglichkeit, ein Peering zwischen Ihrem VPC-Netzwerk und dem Netzwerk der Google-Dienste zu erstellen.
Durch das Einrichten einer privaten Dienstzugriffsverbindung für ein VPC-Netzwerk entsteht ein Peering zwischen diesem VPC-Netzwerk und dem Google-Dienstnetzwerk. Sobald die Verbindung hergestellt ist, können Sie Ihre Instanz im Verbindungsmodus für den Zugriff auf private Dienste erstellen.
Mit dem Zugriff auf private Dienste können Sie die folgenden Funktionen für Ihre Redis-Instanz verwenden:
- Stellen Sie eine Memorystore for Redis-Instanz in einem Dienstprojekt mit freigegebener VPC bereit.
- Verwalten Sie IP-Adressbereiche für mehrere Google-Dienste zentral.
- Stellen Sie über einen VPN-Tunnel oder Cloud Interconnect eine Verbindung zu Ihrem VPC-Netzwerk her.
Einer der zusätzlichen Vorteile des Zugriffs auf private Dienste ist, dass dasselbe Netzwerk-Peering von mehreren Google-Diensten gemeinsam genutzt wird, sodass die Anzahl der von Google-Diensten erstellten Peering-Verbindungen begrenzt wird.
Das gcloud-Flag --reserved-ip-range
hat beim Erstellen von Instanzen mit dem Verbindungsmodus für private Dienste einen anderen Zweck als beim Erstellen von Instanzen mit dem Direct Peering-Verbindungsmodus. Wenn beim Erstellen von Instanzen mit dem Zugriffsmodus für private Dienste mehrere IP-Adressbereiche für den Zugriff auf private Dienste zugewiesen sind, können Sie mit dem gcloud-Flag --reserved-ip-range
auswählen, welchen zugewiesenen Bereich Sie beim Erstellen der Redis-Instanz verwenden möchten. Eine Anleitung dazu finden Sie unter Redis-Instanz mit einem bestimmten IP-Adressbereich erstellen.
Verbindungsmodus auswählen
In der folgenden Tabelle sind die verschiedenen Anwendungsfälle und Verbindungsmodi beschrieben, die Sie verwenden sollten.
Szenario | Unterstützter Verbindungsmodus | |
---|---|---|
Stellen Sie eine Redis-Instanz mit einem freigegebenen VPC-Netzwerk bereit. | Nur Zugriff auf private Dienste | |
Redis-Instanz über VPN von lokalen Netzwerken aus aufrufen | Nur Zugriff auf private Dienste | |
Verwenden Sie für mehrere Google-Dienste die zentrale IP-Bereichsverwaltung | Nur Zugriff auf private Dienste | |
Redis-Instanz mithilfe eines dedizierten VPC-Netzwerks bereitstellen | Zugriff auf private Dienste (empfohlen) oder Direct Peering |
Verbindungsmodus vorhandener Instanzen wechseln
Sie können den Verbindungsmodus einer vorhandenen Instanz nicht ändern. Um den Verbindungsmodus zu wechseln, müssen Sie die Instanz mit dem neuen Verbindungsmodus neu erstellen. Dies führt zu einer Änderung der IP-Adresse der Instanz.
Wenn beispielsweise eine vorhandene Instanz erstellt wurde, bevor der Zugriffsmodus für private Dienste verfügbar war, wird das Attribut für den Verbindungsmodus dieser Instanz auf Direct Peering gesetzt. Wenn Sie die Instanz im Verbindungsmodus für den privaten Dienst neu erstellen, ändert sich die IP-Adresse der Instanz.
Außerdem unterstützt Memorystore for Redis die Verwendung von Redis-Instanzen mit Zugriff auf private Dienste und Instanzen mit Direct Peering im selben Projekt und im selben Netzwerk.
Lokaler Zugriff mit Zugriff auf private Dienste
Sie können eine Verbindung über einen Client in einem lokalen Netzwerk herstellen, wenn das lokale Netzwerk mit dem VPC-Netzwerk verbunden ist, mit dem Ihre Memorystore for Redis-Instanz verbunden ist. So lassen Sie Verbindungen von einem lokalen Netzwerk zu:
- Prüfen Sie, ob Ihr freigegebenes VPC-Netzwerk mit einer der folgenden Optionen mit Ihrem lokalen Netzwerk verbunden ist:
- Cloud VPN-Tunnel
- ein VLAN-Anhang für Dedicated Interconnect oder Partner Interconnect.
- Achten Sie darauf, dass die BGP-Sitzungen auf den Cloud Routern, die Ihre Cloud VPN-Tunnel und Cloud Interconnect-Anhänge (VLANs) verwalten, von Ihrem lokalen Netzwerk bestimmte Präfixe (Ziele) erhalten haben. Standardrouten (Ziel
0.0.0.0/0
) können nicht in das VPC-Netzwerk von Memorystore for Redis importiert werden, da das Netzwerk eine eigene lokale Standardroute hat. Lokale Routen für ein Ziel werden immer verwendet, auch wenn das Memorystore for Redis-Peering so konfiguriert ist, dass benutzerdefinierte Routen aus Ihrem VPC-Netzwerk importiert werden. - Identifizieren Sie das Peering, das von der privaten Dienstverbindung erzeugt wird.
Das von Memorystore for Redis verwendete Peering hat den Namen
servicenetworking-googleapis-com
. -
Aktualisieren Sie die Peering-Verbindung so, dass benutzerdefinierte Routen ausgetauscht werden. Bestimmen Sie dazu sowohl das Flag
--import-custom-routes
als auch das Flag--export-custom-routes
. - Identifizieren Sie den zugewiesenen Bereich, der von der Verbindung für private Dienste verwendet wird.
- Erstellen Sie eine benutzerdefinierte beworbene Route für Cloud Router für den zugewiesenen Bereich auf den Cloud Routern, die BGP-Sitzungen für Ihre Cloud VPN-Tunnel oder Cloud Interconnect-Anhänge (VLANs) verwalten.
Netzwerkanforderungen kommunizieren
In der Regel ist das Netzwerkteam und/oder der Netzwerkadministrator Ihrer Organisation für die Einrichtung einer Zugangsverbindung für private Dienste zuständig. So kann das Netzwerkteam sicherstellen, dass sich keine IP-Adressen oder Bereiche für andere Google Cloud-Ressourcen überschneiden, was zu Verbindungsproblemen führen kann.
Wir empfehlen Ihnen, sich an das Netzwerk-/Sicherheitsteam in Ihrer Organisation zu wenden, um die private Dienstverbindung für Sie einzurichten, insbesondere wenn bei der Einrichtung ein Fehler auftritt. Wenn Sie sich an Ihr Netzwerkteam wenden, senden Sie ihm die folgenden Informationen:
The Memorystore for Redis instance cannot be created due to the following error: "Google private services access is not enabled. Enable privates service access and try again." Before an instance can be created, a private service access connection needs to be established for network <project name: network>. Please refer to the following Memorystore documentation links for more information on how to create this connection: * Networking. * Establishing a private services access connection. * Verifying a private services access connection.
Netzwerkanforderungen für Lesereplikatinstanzen
Damit Sie das Lesereplikatfeature für Memorystore for Redis verwenden können, muss Ihre Instanz einen CIDR-IP-Adressbereich von /28
oder höher haben. Größere Bereichsgrößen wie /27
und /26
sind gültig. Kleinere Bereiche wie /29
werden für dieses Feature nicht unterstützt.
Erforderliche Berechtigungen zum Aufbau von Zugriff auf private Dienste
Um eine Zugriffsverbindung für private Dienste zu verwalten, sollte der Nutzer die folgenden IAM-Rollen haben. Wenn Sie nicht über die erforderlichen Berechtigungen verfügen, können Fehler aufgrund unzureichender Berechtigungen auftreten. Eine Liste häufiger Netzwerkfehler finden Sie unter Szenarien für Netzwerkfehler.
UI-Berechtigungen
Erforderliche Berechtigungen zum Auflisten lokaler Netzwerke und dem Hosting von Projektnetzwerken in der Benutzeroberfläche:
compute.networks.list
- Wird sowohl im lokalen Projekt als auch im Hostprojekt benötigt.
Berechtigung zum Prüfen der Verbindung für den Zugriff auf private Dienste in der Benutzeroberfläche:
compute.networks.list
- Wird sowohl im lokalen Projekt als auch im Hostprojekt benötigt.
Berechtigung zum Erstellen einer Zugriffsverbindung für private Dienste in der Benutzeroberfläche erforderlich:
serviceusage.services.enable
- Erforderlich, um die Service Networking API zu aktivieren.
compute.addresses.create
compute.addresses.list
servicenetworking.services.addPeering
gcloud-Berechtigungen
gcloud-Berechtigungen zum Prüfen der Zugriffsverbindung für private Dienste erforderlich
compute.networks.list
- Wird sowohl im lokalen Projekt als auch im Hostprojekt benötigt.
gcloud-Berechtigungen zum Erstellen einer Zugriffsverbindung für private Dienste erforderlich
serviceusage.services.enable
- Erforderlich, um die Service Networking API zu aktivieren.
compute.addresses.create
compute.addresses.list
servicenetworking.services.addPeering
Unterstützte Netzwerke und Client-IP-Bereiche
Memorystore for Redis unterstützt private IP-Adressen gemäß RFC 1918 und einige private IP-Adressen, die nicht RFC 1918 entsprechen.
- Unter Gültige Bereiche finden Sie eine Liste der zulässigen Bereiche für Memorystore for Redis. Memorystore for Redis unterstützt jedoch nicht die privat verwendeten öffentlichen IP-Adressen (Privately Used Public IP, PUPI), die in der Tabelle mit gültigen Bereichen aufgeführt sind.
- Unter Eingeschränkte Bereiche finden Sie eine Liste der IP-Adressbereiche, die nicht zum Erstellen von Memorystore for Redis-Instanzen verwendet werden können.
- Wenn für eine Memorystore-Instanz der Verbindungsmodus „Zugriff auf private Dienste“ verwendet wird, können Clients aus PUPI-Bereichen keine Verbindung zur Memorystore-Instanz herstellen.
Memorystore unterstützt außerdem VPC-Netzwerke mit Ausnahme von Legacy-Netzwerken, den lokalen Zugriff und freigegebene VPC-Netzwerke.