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 auf dieser Seite beschriebenen Konfigurationsschritte gelten für APIs, die eine in Compute Engine, Google Kubernetes Engine oder Kubernetes ausgeführte OpenAPI verwenden. Der Domainname .endpoints.PROJECT_ID.cloud.goog wird für APIs, die in App Engine ausgeführt werden, nicht unterstützt. Für APIs in App Engine wird empfohlen, PROJECT_ID.appspot.com als Endpoints-Dienstnamen zu verwenden. Wenn Sie die API in App Engine bereitstellen, wird automatisch ein DNS-Eintrag mit einem Namen im Format PROJECT_ID.appspot.com erstellt.

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 Cloud Endpoints APIs konfigurieren, die .endpoints.[PROJECT_ID].cloud.goog als Endpoints-Dienstnamen verwenden, wobei [PROJECT_ID] Ihre Google Cloud-Projekt-ID darstellt. Der Einfachheit halber wird Ihre OpenAPI-Dienstkonfigurationsdatei nachfolgend als openapi.yaml bezeichnet.

So konfigurieren Sie DNS:

  1. Öffnen Sie openapi.yaml und fügen Sie der Datei das Feld x-google-endpoints hinzu, wie im folgenden Snippet gezeigt:
        swagger: "2.0"
        host: "[API_NAME].endpoints.[PROJECT_ID].cloud.goog"
        x-google-endpoints:
        - name: "[API_NAME].endpoints.[PROJECT_ID].cloud.goog"
          target: "[IP_ADDRESS]"
    

    In der Regel legen Sie für die Felder host und x-google-endpoints.name denselben Wert fest. Wenn Sie die OpenAPI-Spezifikation bereitstellen, wird der im Feld host angegebene Text als Name für Ihren Endpoints-Dienst verwendet.

  2. Ersetzen Sie [API_NAME] durch den Namen Ihrer API (z. B. bookstore oder my-cool-api).
  3. Ersetzen Sie [PROJECT_ID] durch Ihre Google Cloud-Projekt-ID.
  4. Ersetzen Sie [IP_ADDRESS] durch eine IPv4-Adresse.

    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.

  5. Stellen Sie Ihre neue OpenAPI-Spezifikation in Service Management mit dem folgenden Befehl bereit:
    gcloud endpoints services deploy openapi.yaml
    

Beispiel: In einer openapi.yaml-Datei ist Folgendes angegeben:

    swagger: "2.0"
    host: "my-cool-api.endpoints.my-project-id.cloud.goog"
    x-google-endpoints:
    - name: "my-cool-api.endpoints.my-project-id.cloud.goog"
      target: "192.0.2.1"

Wenn Sie die Datei openapi.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