Externen Passthrough-Network Load Balancer registrieren

Auf dieser Seite erfahren Sie, wie Sie einen externen Passthrough-Network-Load-Balancer 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) verwenden, um die Adresse des externen Passthrough-Network-Load-Balancer-Dienstes aufzulösen und eine direkte Verbindung zu ihm herzustellen.

Beschränkungen

Die Integration von Service Directory mit externen Passthrough-Network Load Balancern hat die folgenden Einschränkungen:

  • Die automatische Registrierung wird nur für externe Layer 4-Load Balancer unterstützt. Sie können Google Kubernetes Engine-Load Balancing-Dienste mithilfe der GKE-Integration registrieren. Sie können andere externe Load Balancer, 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.
  • Service Directory stellt keine Konnektivität bereit. Das bedeutet, dass zwar die virtuelle IP-Adresse des externen Passthrough-Network Load Balancers in Service Directory gespeichert wird, aber das Auffinden des externen Passthrough-Network 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 Service Directory-Namespace und der Dienst müssen sich im selben Projekt und in derselben Region wie die externe Passthrough-Network Load Balancer-Weiterleitungsregel befinden, die Sie erstellen.

  • Sie müssen bereits die erforderlichen Ressourcen eingerichtet haben, um eine Weiterleitungsregel für einen externen Passthrough-Network Load Balancer zu erstellen.

    Informationen zum Erstellen eines externen Passthrough-Network Load Balancers finden Sie unter Externen Passthrough-Network Load Balancer einrichten.

Weiterleitungsregeln einrichten, um einen externen Passthrough-Network Load Balancer in Service Directory zu registrieren

Sie müssen eine Weiterleitungsregel einrichten, um den externen Passthrough-Network Load Balancer in Service Directory zu registrieren. Informationen zum Registrieren eines externen Passthrough-Network Load Balancers finden Sie im folgenden Abschnitt.

Externen Passthrough-Network Load Balancer registrieren

Führen Sie zum Registrieren eines externen Passthrough-Network Load Balancers den Befehl gcloud compute forwarding-rules create aus und legen Sie das Flag service-directory-registration fest:

gcloud beta compute forwarding-rules create FORWARDING_RULE_NAME \
    --region=REGION \
    --load-balancing-scheme=EXTERNAL \
    --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öchten
  • REGION: ist die Region, in der die Weiterleitungsregel erstellt werden soll.
  • RESERVED_IP_ADDRESS: ist die IP-Adresse, für die die Weiterleitungsregel gilt.
  • PROTOCOL_TYPE: das IP-Protokoll, das von der Regel bereitgestellt werden soll.
  • PORT_NUMBER: ist eine Liste durch Kommas getrennter Ports.
  • BACKEND_SERVICE_NAME: der Ziel-Backend-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. 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

Die Service Directory-Endpunkte, die beim Registrieren eines externen Passthrough-Network 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 Weiterleitungsregel RULE mit --port=8080 erstellen, erhalten Sie einen Endpunkt namens RULE-8080. Wenn Sie für dieselbe Regel zwei Ports angeben, --port=8080, 8081, erhalten Sie zwei Endpunkte, RULE-8080 und RULE-8081. Wenn Sie --port=ALL angeben, wird der Service Directory-Endpunkt mit dem Port 0 registriert. Wenn Sie der Inhaber des externen Passthrough-Network-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.

Führen Sie den Befehl gcloud service-directory services resolve aus, um den Dienst im Dienstverzeichnis aufzulösen:

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.

Bereinigen

So löschen Sie die von Ihnen erstellten Ressourcen:

  1. 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 Weiterleitungsregel
    • REGION: 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.

  2. 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.