Auf dieser Seite erfahren Sie, wie Sie einen internen Passthrough-Network Load Balancer oder einen internen Application Load Balancer (Vorabversion) so konfigurieren, dass er automatisch in Service Directory registriert wird.
Wenn Sie den Load Balancer erstellen, können Sie ihn als Endpunkt in einem vorhandenen Service Directory-Namespace und -Dienst Ihrer Wahl registrieren. Clientanwendungen können dann Service Directory (mit HTTP oder gRPC) und/oder DNS verwenden (wenn Sie eine Service Directory-DNS-Zone erstellt haben), um die Adresse des internen Load Balancer-Dienstes aufzulösen und direkt eine Verbindung herzustellen.
Beschränkungen
Die Integration von Service Directory mit dem internen Load Balancing unterliegt den folgenden Einschränkungen:
- Die automatische Registrierung gilt nur für interne und Netzwerk-Load Balancer. Sie können Google Kubernetes Engine-Load Balancing-Dienste mithilfe der GKE-Integration registrieren. Sie können globale Load Balancer sowie Google Kubernetes Engine-Eingänge und ‑Gateways registrieren, indem Sie die Service Directory API aufrufen.
- Die automatische Registrierung kann nur beim Erstellen der Weiterleitungsregel verwendet werden. Die automatische Registrierung mit der Google Cloud CLI-Aktualisierung für eine bereits vorhandene Weiterleitungsregel ist nicht verfügbar.
- Sie können interne Load Balancer in den Host- oder Dienstprojekten einer freigegebenen VPC-Netzwerkkonfiguration bei Service Directory registrieren. Alle Load Balancing-Komponenten und Back-Ends müssen sich jedoch im selben Projekt befinden. Weitere Informationen finden Sie unter Einschränkungen des internen Load Balancings.
- Service Directory stellt keine Konnektivität bereit. Das bedeutet, dass zwar die virtuelle IP-Adresse des internen Load Balancers in Service Directory gespeichert wird, aber das Auffinden des internen Load Balancers in Service Directory nicht garantiert, dass Sie eine Verbindung zur virtuellen IP-Adresse herstellen können.
Hinweis
Für diese Anleitung sind folgende Voraussetzungen erforderlich:
Sie benötigen bereits einen Service Directory-Namespace und -Dienst. Falls nicht, erstellen Sie einen Namespace und einen Dienst mithilfe der Anleitung unter Service Directory konfigurieren.
Der Namespace und der Dienst des Serviceverzeichnisses müssen sich im selben Projekt und in derselben Region wie die interne Load Balancer-Weiterleitungsregel befinden, die Sie erstellen.
Sie müssen bereits die erforderlichen Ressourcen eingerichtet haben, um eine Weiterleitungsregel für den internen Load Balancer zu erstellen.
- Informationen zum Erstellen eines internen Passthrough-Network Load Balancers finden Sie unter Internen Passthrough-Network Load Balancer einrichten.
- Informationen zum Erstellen eines internen Application Load Balancers finden Sie unter Internen Application Load Balancer einrichten.
Weiterleitungsregeln einrichten, um einen internen Load Balancer in Service Directory zu registrieren
Sie müssen eine Weiterleitungsregel einrichten, um den internen Load Balancer in Service Directory zu registrieren. Informationen zum Registrieren eines internen Passthrough-Network-Load Balancers oder eines internen Application Load Balancers finden Sie in den folgenden Abschnitten.
Internen Passthrough-Network Load Balancer registrieren
Führen Sie zum Registrieren eines internen Passthrough-Network-Load-Balancers den Befehl gcloud compute forwarding-rules
create
aus und legen Sie das Flag service-directory-registration
fest:
gcloud compute forwarding-rules create FORWARDING_RULE_NAME \ --region=REGION \ --load-balancing-scheme=INTERNAL \ --network=NETWORK_NAME \ --subnet=SUBNET_NAME \ --address=RESERVED_IP_ADDRESS \ --ip-protocol=PROTOCOL_TYPE \ --ports=PORT_NUMBER \ --backend-service=BACKEND_SERVICE_NAME \ --backend-service-region=REGION \ --service-directory-registration=SD_SERVICE_NAME
Ersetzen Sie Folgendes:
FORWARDING_RULE_NAME
: ein Name für die Weiterleitungsregel, die Sie erstellen möchtenREGION
: ist die Region, in der die Weiterleitungsregel erstellt werden soll.NETWORK_NAME
: das Netzwerk, für das diese Weiterleitungsregel gilt.SUBNET_NAME
: ist das Teilnetz, für das diese Weiterleitungsregel gilt.RESERVED_IP_ADDRESS
: ist die IP-Adresse, für die die Weiterleitungsregel gilt.PROTOCOL_TYPE
: ist das IP-Protokoll, das von der Regel bereitgestellt wird.PORT_NUMBER
: ist eine Liste durch Kommas getrennter Ports.BACKEND_SERVICE_NAME
: ist der Ziel-Back-End-Dienst, der den Traffic empfängt.SD_SERVICE_NAME
: der vollständig qualifizierte Name des Service Directory-Dienstes, in dem Sie den Endpunkt registrieren möchten. Sie muss sich in demselben Projekt und in derselben Region befinden wie die erstellte Weiterleitungsregel. Beispiel: projects/PROJECT
/locations/REGION
/namespaces/NAMESPACE_NAME
/services/SERVICE_NAME
.
Internen Application Load Balancer registrieren
Führen Sie den Befehl gcloud compute forwarding-rules
create
aus und legen Sie das Flag service-directory-registration
fest, um einen regionalen internen Application Load Balancer zu registrieren:
gcloud beta compute forwarding-rules create FORWARDING_RULE_NAME \ --region=REGION \ --load-balancing-scheme=INTERNAL_MANAGED \ --network=NETWORK_NAME \ --address=RESERVED_IP_ADDRESS \ --target-https-proxy=PROXY_NAME \ --target-https-proxy-region=PROXY_REGION \ --ports=PORT_NUMBER \ --service-directory-registration=SD_SERVICE_NAME
Ersetzen Sie Folgendes:
FORWARDING_RULE_NAME
: ein Name für die Weiterleitungsregel, die Sie erstellen möchtenREGION
: ist die Region, in der die Weiterleitungsregel erstellt werden soll.NETWORK_NAME
: ist das Netzwerk, für das diese Weiterleitungsregel gilt.RESERVED_IP_ADDRESS
: ist die IP-Adresse, für die die Weiterleitungsregel gilt.PROXY_NAME
: der Zielproxy, der den Traffic empfängt.PROXY_REGION
: die Region des Proxys, in der der Vorgang ausgeführt werden soll.PORT_NUMBER
: ist eine Liste durch Kommas getrennter Ports.SD_SERVICE_NAME
: der vollständig qualifizierte Name des Service Directory-Dienstes, in dem Sie den Endpunkt registrieren möchten. Dieser Dienst muss sich im selben Projekt und in derselben Region wie die zu erstellende Weiterleitungsregel befinden. Beispiel: projects/PROJECT
/locations/REGION
/namespaces/NAMESPACE_NAME
/services/SERVICE_NAME
.
Endpunkt prüfen
Ein oder mehrere Service Directory-Endpunkte, die beim Registrieren eines internen Load Balancers erstellt werden, haben die folgenden Eigenschaften:
- Der Endpunkt hat denselben Namen wie die Weiterleitungsregel mit der angegebenen Portnummer (
<forwarding rule name>-<port>
). Wenn Sie beispielsweise eine WeiterleitungsregelRULE
mit--port=8080
erstellen, erhalten Sie einen Endpunkt namensRULE-8080
. Wenn Sie für dieselbe Regel zwei Ports angeben,--port=8080, 8081
, erhalten Sie zwei Endpunkte,RULE-8080
undRULE-8081
. Wenn Sie--port=ALL
angeben, wird der Service Directory-Endpunkt mit dem Port0
registriert. Wenn Sie der Inhaber des internen Load Balancers sind, müssen Sie dafür sorgen, dass der API-Caller weiß, über welchen Port er eine Verbindung herstellen soll. - Sie können den Endpunkt nicht über die öffentliche Service Directory API ändern oder löschen. Der Endpunkt wird nur dann automatisch gelöscht, wenn Sie die Weiterleitungsregel löschen. Das bedeutet, dass Sie den Dienst und den Namensraum, in dem sich der Endpunkt befindet, nicht löschen können, solange die Weiterleitungsregel vorhanden ist.
- Der Endpunkt selbst wird nicht in Rechnung gestellt. Für alle API-Aufrufe an den Endpunkt gelten jedoch die normalen Preisdetails.
Um zu prüfen, ob der Endpunkt erstellt wurde, lösen Sie den Dienst in der Service Directory auf. Es sollte ein Endpunkt mit demselben Namen wie der Name der Weiterleitungsregel mit der angegebenen Portnummer angezeigt werden.
So lösen Sie den Dienst im Dienstverzeichnis auf:
gcloud
Zum Abrufen der aktuellen Richtlinie führen Sie den Befehl gcloud service-directory services
resolve
aus:
gcloud service-directory services resolve SD_SERVICE_NAME \ --namespace=SD_NAMESPACE_NAME \ --location=REGION
Ersetzen Sie Folgendes:
SD_SERVICE_NAME
: der Name des zu aufzulösenden Service Directory-Dienstes. Er muss im Namespace-Namen des Serviceverzeichnisses enthalten sein.SD_NAMESPACE_NAME
: Der Name, den Sie dem Namespace mit Ihrem Dienst gegeben haben.REGION
: die Google Cloud Region, die den Namespace enthält. Dieser muss mit der Region übereinstimmen, in der Sie die Weiterleitungsregel erstellt haben.
Optional: Service Directory-Zone mit Cloud DNS erstellen
Sie können Service Directory-Endpunkte, die über diese Integration registriert sind, wie jeden anderen Service Directory-Endpunkt über DNS auflösen. Informationen zum Erstellen einer Service Directory-Zone mit Cloud DNS finden Sie unter Service Directory-Zone konfigurieren.
Sie können eine DNS-Abfrage Ihrer Service Directory-Zone ausführen, um zu prüfen, ob sie richtig eingerichtet ist. Eine Anleitung dazu, wie Sie DNS-Abfragen ausführen, finden Sie unter Abfragen mit DNS. Wenn Ihre Zone richtig konfiguriert ist, sollte in der Befehlsausgabe die IP-Adresse Ihres internen Load Balancers angezeigt werden.
Bereinigen
So löschen Sie die von Ihnen erstellten Ressourcen:
gcloud
Führen Sie den Befehl
gcloud compute forwarding-rules delete
aus, um die Weiterleitungsregel zu löschen:gcloud compute forwarding-rules delete FORWARDING_RULE_NAME \ --region=REGION \
Ersetzen Sie Folgendes:
FORWARDING_RULE_NAME
: der Name der von Ihnen erstellten WeiterleitungsregelREGION
: die Region für die Weiterleitungsregel
Weitere Informationen finden Sie unter Weiterleitungsregel löschen.
Um zu prüfen, ob der Endpunkt durch das Löschen der Weiterleitungsregel automatisch aus Service Directory gelöscht wurde, führen Sie den Befehl
gcloud service-directory services resolve
für Ihren Service Directory-Dienst aus, der im Abschnitt Endpunkt prüfen beschrieben ist.Wenn Sie eine Zone erstellt haben, folgen Sie der Anleitung unter Verwaltete Zone löschen, um sie zu löschen.
Informationen zum Löschen des Service Directory-Namespaces und ‑Dienstes finden Sie unter Ressourcen löschen.
Nächste Schritte
- Eine Übersicht über Service Directory finden Sie unter Service Directory – Übersicht.
- Informationen zu Lösungen für häufige Probleme, die bei der Verwendung des Diensteverzeichnisses auftreten können, finden Sie unter Fehlerbehebung.