Auf dieser Seite werden verschiedene Fehlerszenarien, die Fehlermeldungen für diese Szenarien und Schritte zur Fehlerbehebung erläutert.
Szenarien für Netzwerkfehler
Der zugewiesene IP-Bereich ist ausgeschöpft
Memorystore for Memcache erfordert, dass Sie eine Verbindung für den Zugriff auf private Dienste und einen zugehörigen IP-Adressbereich für diese Verbindung verwenden. Es ist möglich, die in diesem Bereich verfügbaren IP-Adressen mit Memcache-Instanzen und anderen Google Cloud-Ressourcen auszuschöpfen.
Wenn die IP-Adressen ausgeschöpft sind, wird beim Erstellen einer Instanz die folgende Fehlermeldung zurückgegeben:
ERROR: (gcloud.memcache.instances.create) {
"code": 9,
"message": "Unable to create instance. The allocated private IP address space
is exhausted. For information on expanding the allocation, see https://cloud.google.com/vpc/docs/configure-private-services-access#modify-ip-range"
}
Sie können dieses Problem beheben, indem Sie zusätzliche IP-Adressen zuweisen. Weitere Informationen hierzu finden Sie unter IP-Adressbereich erschöpft.
Sie haben für Ihr Netzwerk keine Verbindung für den Zugriff auf private Dienste eingerichtet
Wenn Sie versuchen, eine Memorystore for Memcache-Instanz zu erstellen, ohne dass eine Zugriffsverbindung für private Dienste für das Netzwerk Ihres Projekts hergestellt wurde, schlägt die Erstellung mit folgendem Fehler fehl:
Google private service access is not enabled. Enable private service access and
try again
Um eine Instanz erfolgreich zu erstellen, folgen Sie der Anleitung zur Einrichtung des Zugriffs auf private Dienste unter Verbindung für den Zugriff auf private Dienste einrichten.
Das Netzwerk-Peering für den Zugriff auf private Dienste wird gelöscht.
Durch das Herstellen einer Verbindung für den Zugriff auf private Dienste wird eine Netzwerk-Peering-Verbindung namens servicenetworking-googleapis-com
erstellt, die auf der Seite VPC-Netzwerk-Peering Ihres Projekts angezeigt wird.
Wenn Sie dieses Netzwerk-Peering löschen, können folgende Fehler auftreten:
telnet: Unable to connect to remote host: Connection timed out
Unable to create instance. Enable private service access for the authorized network and try again. For information on enabling private service access, see https://cloud.google.com/service-infrastructure/docs/enabling-private-services-access
Um dieses Problem zu beheben, folgen Sie dem letzten Schritt der gcloud-Anleitung unter Verbindung für den Zugriff auf private Dienste einrichten.
Firewallregeln blockieren Ihre Instanz-IP-Adressen
Verbindungsprobleme können auftreten, wenn Sie Firewallregeln erstellen, die IP-Adressen aus dem zugewiesenen IP-Bereich blockieren, der Ihrer Verbindung für den Zugriff auf private Dienste zugeordnet ist.
Achten Sie darauf, keine Netzwerk-Firewallregeln zu erstellen, die den IP-Bereich Ihrer Memcached-Instanzen blockieren.
Fehler bei der Verbindung mit Ihrer Memcached-Instanz über andere Google Cloud-Ressourcen
Fehler bei der Verbindung mit Ihrer Instanz über die App Engine-Standardumgebung oder über Cloud Run-Funktionen
Wenn Sie über die App Engine-Standardumgebung oder Cloud Run-Funktionen keine Verbindung zu einer Memcache-Instanz herstellen können, haben Sie möglicherweise keinen Connector für Serverloser VPC-Zugriff für Ihre Umgebung eingerichtet.
Eine Anleitung zum Einrichten des serverlosen VPC-Zugriffs für die App Engine-Standardumgebung finden Sie unter Verbindung zu einem VPC-Netzwerk herstellen.
Eine Anleitung zum Einrichten des Serverloser VPC-Zugriff für Cloud Run-Funktionen finden Sie unter Verbindung zu einem VPC-Netzwerk herstellen.
Fehler beim Herstellen einer Verbindung zu Ihrer Instanz mit einem Google Kubernetes Engine-Cluster
Sie können keine Verbindung zu einer Memorystore for Memcache-Instanz von einem GKE-Cluster aus herstellen, wenn VPC-natives/IP-Aliasing in Ihrem Cluster aktiviert ist. Es ist am einfachsten, VPC-natives/IP-Aliasing bei der Erstellung von GKE-Clustern zu aktivieren. Wählen Sie beim Erstellen des Clusters unter "Erweiterte Optionen" die Option VPC nativ aus. Weitere Informationen finden Sie unter VPC-native Cluster erstellen.
Fehler beim Herstellen einer Verbindung zu Ihrer Instanz mit der flexiblen App Engine-Umgebung oder mit Compute Engine-VMs
Wenn bei Ihrer Instanz Verbindungsprobleme auftreten, gehen Sie so vor:
Achten Sie darauf, dass Ihre Memcached-Instanz in derselben Region und in demselben Netzwerk wie der Client bereitgestellt wird, der auf sie zugreifen möchte.
Achten Sie darauf, dass Ihr Projekt keine Netzwerk-Firewallregeln hat, die die Knoten-IPs Ihrer Memcached-Instanz blockieren.
- Die IP-Adressen Ihrer Knoten finden Sie in der Google Cloud Console auf dem Tab „Knoten“ Ihrer Memcached-Instanz.
Stellen Sie eine Telnet-Verbindung zu einem Ihrer Memcached-Knoten her und führen Sie einige einfache Memcached
set
- undget
-Befehle aus, um zu prüfen, ob die Instanz responsiv ist.- Wenn der Knoten nicht reagiert, prüfen Sie, ob eines der Fehlerbehebungsprobleme aus den Netzwerkfehlerszenarien die Netzwerkverbindung des Knotens blockiert. Falls nicht, wenden Sie sich an den Google Cloud-Support.
Fehlerszenarien für Identity and Access Management (IAM)
Gelöschtes Dienstkonto wiederherstellen
Memorystore for Memcached verwendet die folgenden Dienstkonten, um Ihre Memcache-Instanzen zu verwalten:
- service-project-number@service-networking.iam.gserviceaccount.com
- service-project-number@cloud-memcache-sa.iam.gserviceaccount.com
Wenn Sie die Richtlinienbindungen für diese Dienstkonten löschen, können Sie keine neuen Instanzen mehr erstellen.
Wenn Sie in diesem Szenario versuchen, eine Memcache-Instanz mit gcloud zu erstellen, erhalten Sie möglicherweise die folgende Fehlermeldung:
ERROR: (gcloud.memcache.instances.create) {
"code": 13,
"message": "an internal error has occurred"
}
Führen Sie einen der folgenden Befehle aus, um die Richtlinienbindung für diese Dienstkonten wiederherzustellen. Ersetzen Sie dabei variables durch die entsprechenden Werte. Führen Sie den Befehl aus, der dem gelöschten Dienstkonto zugeordnet ist.
gcloud projects add-iam-policy-binding project-id --member='serviceAccount:service-project-number@service-networking.iam.gserviceaccount.com' --role='roles/servicenetworking.serviceAgent'
gcloud projects add-iam-policy-binding project-id --member='serviceAccount:service-project-number@cloud-memcache-sa.iam.gserviceaccount.com' --role='roles/memcache.serviceAgent'
Zeitüberschreitungsfehler des Vorgangs
Die folgenden Fehlerszenarien führen zu Zeitüberschreitungen bei Memcached-Instanzen und/oder Instanzen/Knotenvorgängen.
Netzwerkpartitionsfehler
Manchmal können Google Cloud-Ressourcen aufgrund eines Netzwerkpartitionsfehlers in Google Cloud-Servern nicht zonenübergreifend kommunizieren. Dies kann dazu führen, dass die Verbindung der Instanz unterbrochen wird und ein Zeitüberschreitungsfehler auftritt.
Nachdem Google Cloud den Netzwerkpartitionsfehler für die Region oder Zone, in der die Instanz bereitgestellt wird, behoben hat, sollte die Verbindung normal fortgesetzt werden.
In diesem Szenario kann eine Verbindungsfehlermeldung wie die folgende angezeigt werden:
telnet: Unable to connect to remote host: Connection timed out
Wenn Sie die Ursache des Zeitüberschreitungsfehlers nicht ermitteln können, wenden Sie sich an den Google Cloud-Support.
Falsche Anwendungsreferenz zu Knoten-IPs
Wenn Ihr Client beim Versuch, eine Verbindung zu einem oder mehreren Knoten herzustellen, eine Zeitüberschreitung durchführt, könnte es sein, dass Ihre Anwendung möglicherweise nicht die richtige IP-Adresse der Knoten angibt, zu denen Sie eine Verbindung herstellen möchten. Prüfen Sie, ob Ihre Anwendung auf die IP-Adressen der Knoten in Ihrem Cluster verweist.
In diesem Szenario wird möglicherweise eine Verbindungsfehlermeldung wie die folgende angezeigt:
telnet: Unable to connect to remote host: Connection timed out
Um dieses Problem zu beheben, suchen Sie die IP-Adressen Ihrer Knoten und achten Sie darauf, dass Ihre Anwendung genau auf die Knotenadressen verweist.
Zusätzliche Fehlerszenarien
Nicht unterstützte Compute Engine-IP-Adressbereiche
Sie können nicht auf Memorystore for Memcache von Compute Engine-VMs zugreifen, die eine IP-Adresse im Bereich 172.17.0.0/16
haben, da dieser Bereich für eine interne Komponente reserviert ist.
Unausgeglichene Knotenverteilung auf Zonen in einer Region
Wenn eine Zone in einer Google Cloud-Region zum Zeitpunkt der Bereitstellung einer Memcache-Instanz nicht verfügbar ist, werden Knoten in den verfügbaren Zonen erstellt. Dies kann zu einer unausgeglichenen Verteilung von Memache-Knoten auf Zonen in einer Region führen.
Dies sollte keine nennenswerten Auswirkungen auf die Leistung Ihrer Anwendung haben. Idealerweise sollten Ihre Knoten jedoch auf alle Zonen in einer Region verteilt sein, um Ihre Daten vor zonalen Ausfällen zu schützen.
Wenn Sie beim Erstellen einer Instanz mit der Verteilung der Knoten auf die Zonen unzufrieden sind, können Sie entweder warten, bis diese Zone wieder online ist, um Ihre Instanz zu erstellen, oder Sie können mit der folgenden Strategie versuchen, die Knoten später noch einmal auf die Zonen zu verteilen:
Um Memcache-Knoten auf die verfügbaren Knoten in einer Zone neu zu verteilen, skalieren Sie Ihre Instanz und skalieren Sie dann wieder auf die gewünschte Anzahl von Knoten herunter. Wenn die gewünschten Zonen wieder online sind, verteilt der Skalierungsprozess die Knoten gleichmäßig auf die verfügbaren Zonen. Außerdem führt die Skalierung zu einem Cache-Flush für die Daten in Ihrer Memcache-Instanz.