DNS in der cloud.goog-Domain konfigurieren

Nachdem Ihre API bereitgestellt wurde, müssen Nutzer über einen Domainnamen statt über eine IP-Adresse auf die API zugreifen können. Sie haben folgende Möglichkeiten:

  • Konfigurieren Sie .endpoints.PROJECT_ID.cloud.goog als Domainnamen, wobei PROJECT_ID Ihre Google Cloud-Projekt-ID ist.
  • Sie können auch einen eigenen Domainnamen registrieren, z. B. example.com. Dazu müssen Sie Folgendes tun:
    • DNS-Nameserver konfigurieren (oder Cloud DNS verwenden)
    • Registry-Adressen aktualisieren
    • DNS-Einträge erstellen und verwalten

    Wenn Sie bereits eine DNS-Infrastruktur haben oder Ihren eigenen Domainnamen registrieren möchten, lesen Sie die Informationen unter API über Ihren Domainnamen bereitstellen.

Auf dieser Seite wird erläutert, wie Sie Cloud Endpoints APIs konfigurieren, damit .endpoints.PROJECT_ID.cloud.goog als Domainname verwendet wird. Die Konfigurationsschritte auf dieser Seite gelten für APIs, die gRPC verwenden und auf Compute Engine, Google Kubernetes Engine oder Kubernetes ausgeführt werden.

Die Domain .cloud.goog wird von Google verwaltet und ist für Kunden von Google Cloud freigegeben. Da Google Cloud-Projekte in jedem Fall eine global eindeutige Projekt-ID haben, kommt ein Domainname im Format .endpoints.PROJECT_ID.cloud.goog nur einmal vor und kann als Domainname für Ihre API verwendet werden. Das Konfigurieren des Domainnamens .endpoints.PROJECT_ID.cloud.goog ist optional. Wenn Sie möchten, können Sie Ihren eigenen Domainnamen registrieren.

Vorbereitung

Auf dieser Seite wird davon ausgegangen, dass Sie Ihre Cloud Endpoints API bereits erstellt und für Compute Engine, Google Kubernetes Engine oder Kubernetes bereitgestellt haben. Wenn Sie eine API zum Testen benötigen, können Sie eine der Anleitungen verwenden, die Sie durch die Konfiguration und Bereitstellung einer Beispiel-API führen.

DNS konfigurieren

Im Folgenden wird beschrieben, wie Sie das DNS für Endpoints APIs konfigurieren, die .endpoints.PROJECT_ID.cloud.goog als Endpoints-Dienstnamen verwenden. Der Einfachheit halber wird Ihre gRPC-Dienstkonfigurationsdatei nachfolgend als service.yaml bezeichnet.

So konfigurieren Sie DNS:

  1. Öffnen Sie service.yaml und fügen Sie der Datei das Feld endpoints hinzu, wie im folgenden Code-Snippet gezeigt:
    type: google.api.Service
    name: API_NAME.endpoints.PROJECT_ID.cloud.goog
    endpoints:
    - name: API_NAME.endpoints.PROJECT_ID.cloud.goog
      target: "IP_ADDRESS"
      

    In der Regel sind die Felder name und endpoints.name identisch.

  2. Ersetzen Sie API_NAME durch den Namen Ihrer API (z. B. bookstore oder my-cool-api).
  3. Ersetzen Sie IP_ADDRESS durch eine IPv4-Adresse. Die IP-Adresse ist ein String und muss in Anführungszeichen gesetzt werden.

    Wenn Sie beispielsweise Ihren Endpoints-API-Dienst auf einer Compute Engine-VM-Instanz bereitstellen, können Sie die externe IP dieser virtuellen Maschine verwenden. Wenn Sie Ihren Code für eine Gruppe von VM-Instanzen (oder GKE-Pods) hinter einem Load-Balancer ausführen, können Sie alternativ die IP-Adresse des Load-Balancers verwenden.

  4. Stellen Sie Ihre aktualisierte gRPC-Konfigurationsdatei mit dem folgenden Befehl in Service Management bereit:
    gcloud endpoints services deploy service.yaml service.pb
    

Beispiel: In der service.yaml-Datei ist Folgendes angegeben:

type: google.api.Service
name: my-cool-api.endpoints.my-project-id.cloud.goog
endpoints:
- name: my-cool-api.endpoints.my-project-id.cloud.goog
  target: "192.0.2.1"

Wenn Sie die Datei service.yaml mit dem vorherigen gcloud-Befehl bereitstellen, wird in Service Management der DNS-A-Eintrag my-cool-api.endpoints.my-project-id.cloud.goog erstellt und in die Ziel-IP-Adresse 192.0.2.1 aufgelöst. Es kann einige Minuten dauern, bis die neue DNS-Konfiguration umgesetzt wird.

Nächste Schritte