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, wobeiPROJECT_ID
Ihre Google Cloud-Projekt-ID ist. - Registrieren Sie alternativ Ihren eigenen Domainnamen wie
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:
- Öffnen Sie
openapi.yaml
und fügen Sie der Datei das Feldx-google-endpoints
wie im folgenden Snippet gezeigt hinzu: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
undx-google-endpoints.name
denselben Wert fest. Wenn Sie die OpenAPI-Spezifikation bereitstellen, wird der im Feldhost
angegebene Text als Name für Ihren Endpoints-Dienst verwendet. - Ersetzen Sie
[API_NAME]
durch den Namen Ihrer API (z. B.bookstore
odermy-cool-api
). - Ersetzen Sie
[PROJECT_ID]
durch Ihre Google Cloud-Projekt-ID. - 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.
- Stellen Sie Ihre neue OpenAPI-Spezifikation in Service Management mit dem folgenden Befehl bereit:
gcloud endpoints services deploy openapi.yaml
Beispiel: In einer Datei openapi.yaml
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.
Weitere Informationen
- SSL für Endpoints aktivieren
- IP-Adressen konfigurieren
- API-Dienst benennen
- API über Ihren Domainnamen bereitstellen