Netzwerk

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 entweder DIRECT_PEERING oder PRIVATE_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 im 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, welche zugewiesenen Bereiche beim Erstellen der Redis-Instanz verwendet werden sollen. 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:

  1. Prüfen Sie, ob das freigegebene VPC-Netzwerk über eine der folgenden Optionen mit Ihrem lokalen Netzwerk verbunden ist:
  2. 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 dieses Netzwerk eine eigene lokale Standardroute hat. Lokale Routen für ein Ziel werden immer verwendet, auch wenn das Peering von Memorystore for Redis für den Import benutzerdefinierter Routen aus Ihrem VPC-Netzwerk konfiguriert ist.
  3. Identifizieren Sie das Peering, das von der privaten Dienstverbindung erzeugt wird. Das von Memorystore for Redis verwendete Peering hat den Namen servicenetworking-googleapis-com.
  4. Aktualisieren Sie die Peering-Verbindung, um benutzerdefinierte Routen auszutauschen. Legen Sie dazu das Flag --import-custom-routes und --export-custom-routes fest.
  5. Identifizieren Sie den zugewiesenen Bereich, der von der Verbindung für private Dienste verwendet wird.
  6. Erstellen Sie ein benutzerdefiniertes Cloud Router-Routen-Advertising 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 RFC 1918-IP-Adressen und einige private IP-Adressen außerhalb von RFC 1918.

  • Gültige Bereiche enthalten eine Liste der zulässigen Bereiche für Memorystore for Redis. Memorystore for Redis unterstützt jedoch nicht die privat genutzten öffentlichen IP-Adressen (PUPI), die in der hier verlinkten Tabelle mit gültigen Bereichen aufgeführt sind.
  • Eingeschränkte Bereiche enthalten eine Liste von IP-Adressbereichen, die nicht zum Erstellen von Memorystore for Redis-Instanzen verwendet werden können.
  • Wenn eine Memorystore-Instanz den Verbindungsmodus für den Zugriff auf private Dienste verwendet, können Clients aus PUPI-Bereichen keine Verbindung zur Memorystore-Instanz herstellen.

Memorystore unterstützt auch VPC-Netzwerke außer Legacy-Netzwerken, den lokalen Zugriff und freigegebene VPC-Netzwerke.