Externen Passthrough-Network Load Balancer registrieren

Auf dieser Seite finden Sie Informationen zum Konfigurieren eines externen Passthrough-Network Load Balancers, sodass er automatisch in Service Directory registriert wird.

Wenn Sie Ihren 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 Service Directory-Integration mit externen Passthrough-Network Load Balancern unterliegt den folgenden Beschränkungen:

  • Die automatische Registrierung wird nur für externe Layer 4-Load Balancer unterstützt. Sie können Google Kubernetes Engine-Load-Balancing-Dienste mit der GKE Integration registrieren. Sie können andere externe Load Balancer, globale Load Balancer und Google Kubernetes Engine-Ingresses und -Gateways registrieren, indem Sie die Service Directory API aufrufen.
  • Sie können die automatische Registrierung nur beim Erstellen von Weiterleitungsregeln verwenden. Die automatische Registrierung mit dem Google Cloud CLI-Update für eine bereits vorhandene Weiterleitungsregel ist nicht verfügbar.
  • Service Directory bietet keine Konnektivität. Das bedeutet, dass die virtuelle IP-Adresse des externen Passthrough-Network Load Balancers zwar in Service Directory gespeichert wird, das Suchen nach dem externen Passthrough-Network Load Balancer in Service Directory aber nicht garantiert, dass Sie eine Verbindung zur virtuellen IP-Adresse herstellen können.

Hinweis

Für diese Anleitung ist Folgendes erforderlich:

  • Sie müssen bereits einen Service Directory-Namespace und -Dienst haben. Wenn nicht, erstellen Sie einen Namespace und einen Dienst gemäß der Anleitung unter Service Directory konfigurieren.

    Der Service Directory-Namespace und -Dienst müssen sich im selben Projekt und in derselben Region befinden wie die Weiterleitungsregel für den externen Passthrough-Network Load Balancer, 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 regionalen externen Passthrough-Network Load Balancers den gcloud compute forwarding-rules create Befehl aus und legen Sie das service-directory-registration Flag 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 mit dem Namen RULE-8080. Wenn Sie für dieselbe Regel zwei Ports angegeben haben (--port=8080, 8081), erhalten Sie zwei Endpunkte: RULE-8080 und RULE-8081. Wenn Sie --port=ALL angeben, wird der Service Directory-Endpunkt mit Port 0 registriert. Wenn Sie der Inhaber des externen Passthrough-Network Load Balancers sind, müssen Sie dafür sorgen, dass der API-Aufrufer weiß, mit welchem Port er eine Verbindung herstellen muss.
  • Sie können den Endpunkt nicht mit der öffentlichen Service Directory API ändern oder löschen. Der Endpunkt wird nur automatisch gelöscht, wenn Sie die Weiterleitungsregel löschen. Das bedeutet, dass Sie den Dienst und den Namespace, in dem sich der Endpunkt befindet, nicht löschen können, solange die Weiterleitungsregel vorhanden ist.
  • Der Endpunkt selbst wird nicht in Rechnung gestellt. Die normalen Preise gelten jedoch für alle API-Aufrufe an den Endpunkt.

Um zu bestätigen, dass der Endpunkt erstellt wurde, lösen Sie den Dienst in Service Directory auf. Es sollte ein Endpunkt mit demselben Namen wie die Weiterleitungsregel mit der angegebenen Portnummer angezeigt werden.

Führen Sie den gcloud service-directory services resolve Befehl aus, um den Dienst in Service Directory 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 Service Directory-Dienstes, der aufgelöst werden soll. Er muss im Namespace-Namen des Service Directory enthalten sein.
  • SD_NAMESPACE_NAME: der Name, den Sie dem Namespace mit Ihrem Dienst gegeben haben.
  • REGION: die Google Cloud Region mit dem Namespace. Diese Region sollte mit der Region übereinstimmen, in der Sie die Weiterleitungsregel erstellt haben.

Bereinigen

So löschen Sie die erstellten Ressourcen:

  1. Führen Sie den gcloud compute forwarding-rules delete Befehl 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.

    Führen Sie den gcloud service-directory services resolve Befehl aus, der im Abschnitt Endpunkt prüfen beschrieben ist, für Ihren Service Directory-Dienst aus, um zu bestätigen, dass der Endpunkt automatisch aus Service Directory gelöscht wurde.

  2. Informationen zum Löschen des Service Directory-Namespace und -Dienstes finden Sie unter Ressourcen löschen.

Nächste Schritte

  • Eine Übersicht über Service Directory finden Sie unter der Service Directory-Übersicht.
  • Informationen zu Lösungen für häufige Probleme, die bei der Verwendung von Service Directory auftreten können, finden Sie unter Fehlerbehebung.