API über Ihren Domainnamen bereitstellen

Auf dieser Seite wird gezeigt, wie eine API von einer benutzerdefinierten Domain geliefert wird, die Ihnen gehört, z. B. example.com.

Anstelle des eigenen Domainnamens können Sie auch einen von Google verwalteten Domainnamen verwenden. Weitere Informationen finden Sie unter Von Google verwaltete Domain verwenden.

Vorbereitung

API-Projekt für die Verwendung meines Domainnamens konfigurieren

Folgen Sie der Anleitung auf dem entsprechenden Tab.

App Engine

Folgen Sie der Anleitung unter Benutzerdefinierte Domain für Ihre Anwendung hinzufügen, um für Ihr API-Projekt Ihre bestätigte Domain zu verwenden.

Compute Engine

Zum Bereitstellen einer API aus Compute Engine-Instanzen wird die Verwendung eines Load-Balancer in einer Instanzgruppe empfohlen. Sie müssen eine externe IP-Adresse für den Domainnamen reservieren und diese externe IP-Adresse für den Load-Balancer verwenden.

API über einen Domainnamen bereitstellen:

  1. Reservieren Sie in Ihrem Projekt mindestens eine statische externe IP-Adresse:

    Zur Seite "Externe IP-Adressen"

    1. Weisen Sie der reservierten IP-Adresse einen beliebigen Namen zu.
    2. Klicken Sie unter Type (Typ) auf Global.
    3. Klicken Sie unter Attached to (Zugeordnet zu) auf None (Keine). Sie fügen die IP-Adresse später zu einem Load-Balancer hinzu.
  2. Bearbeiten Sie Ihre Domaineinstellungen in Ihrem Domainanbieterkonto. Sie müssen einen A-Datensatz erstellen, der Ihren API-Namen enthält, z. B. myapi.example.com mit der externen IP-Adresse im Datenfeld
  3. Erstellen Sie eine Instanzgruppe mit den Instanzen, die Ihre API und den Extensible Service Proxy (ESP) ausführen:

    Zur Seite "Create New Instance group" (Neue Instanzgruppe erstellen)

    1. Weisen Sie der Gruppe einen beliebigen Namen zu und geben Sie eine Beschreibung ein.
    2. Klicken Sie in der Liste Zone auf die Zone, die von Ihrer API-Instanz verwendet wird.
    3. Klicken Sie in der Liste Instance definition (Instanzdefinition) auf Select existing instances (Vorhandene Instanzen auswählen).
    4. Geben Sie im Feld VM Instances (VM-Instanzen) die Instanz ein, auf der die API ausgeführt wird.
    5. Klicken Sie auf Create (Erstellen).
  4. Erstellen und konfigurieren Sie einen HTTP(S)-Load-Balancer:

    Zur Seite "Create a New HTTP(S) load balancer" (Neuen HTTP(S)-Load-Balancer erstellen)

    1. Klicken Sie auf Back-End-Dienst definieren > Back-End-Dienst erstellen oder auswählen.
      Backend configuration
    2. Geben Sie einen beliebigen Namen und eine Beschreibung für diese Back-End-Dienstkonfiguration an.
    3. Wählen Sie im Feld Protokoll das Protokoll aus, das Sie über den Load-Balancer HTTP oder HTTPS unterstützen möchten.
    4. Klicken Sie in der Liste Instance group (Instanzgruppe) auf die Instanzgruppe.
    5. Geben Sie im Feld Port Numbers (Portnummern) den Wert 8080 ein.
    6. Klicken Sie auf Systemdiagnose, um Systemdiagnosen zu konfigurieren:
      • Geben Sie eine Bezeichnung für die Konfiguration der Systemdiagnose ein.
      • Weisen Sie den Port 8080 zu.
      • Klicken Sie zum Übernehmen der verbleibenden Standardwerte auf Save (Speichern).
    7. Akzeptieren Sie für die restliche Konfiguration vorerst die Standardeinstellungen. Sie können Änderungen später bei Bedarf vornehmen und beispielsweise zusätzliche Ports hinzufügen.
    8. Im Feld Host and path rules (Host- und Pfadregeln) müssen Sie keinen Wert eingeben. Sie können alles an Ihre Back-End API weiterleiten, indem Sie die Standardfilter Any unmatched (Alle nicht zugeordneten Pfade) verwenden. Auf diese Weise wird der gesamte im Load-Balancer eingehende Traffic über den Standardport 8080 an die API weitergeleitet (siehe oben).
    9. Klicken Sie auf Frontend-Konfiguration.
      Frontend-Konfiguration
      • Wählen Sie im Feld Protokoll das Protokoll aus, das Sie über den Load-Balancer HTTP oder HTTPS unterstützen möchten.
      • Klicken Sie in der Liste IP auf die zuvor erstellte externe IP-Adresse.
      • Für das HTTPS-Protokoll müssen Sie SSL verwenden. Klicken Sie in der Liste Certificate (Zertifikat) auf das gewünschte Zertifikat.
      • Wenn Sie ein anderes Protokoll unterstützen möchten, klicken Sie optional auf Add frontend IP and port (Frontend-IP und Port hinzufügen) und geben Sie das Protokoll, die gleiche externe IP-Adresse und einen anderen Port an.
    10. Zum Erstellen des vollständig konfigurierten Load-Balancers klicken Sie auf Create (Erstellen). Wenn die Schaltfläche Create (Erstellen) deaktiviert ist, prüfen Sie die zuvor konfigurierten Komponenten: Neben jeder Konfigurationskomponente sollte ein Häkchen angezeigt werden. Ein fehlendes Häkchen weist darauf hin, dass die Konfiguration nicht abgeschlossen ist.
    11. Sobald die DNS-Änderungen verteilt wurden, werden Anfragen über den Load-Balancer an die API gesendet.

GKE

Zum Bereitstellen einer API über eine Domain für Google Kubernetes Engine (GKE) müssen Sie den ESP als Dienst freigeben. Verwenden Sie dazu die zurückgegebene externe IP-Adresse für die DNS-Einstellungen Ihrer Domain. Beachten Sie, dass GKE automatisch Load-Balancing ausführt.

API als Dienst bereitstellen:

  1. Konfigurieren Sie einen Kubernetes-Dienst für Ihre API-Back-Ends, sofern noch nicht geschehen. Erstellen Sie die Dienstkonfigurationsdatei service.yaml mit folgendem Inhalt:
                apiVersion: v1
                kind: Service
                metadata:
                  name: echo
                spec:
                  ports:
                  - port: 80
                    targetPort: 8081
                    protocol: TCP
                  selector:
                    app: echo-app
                  type: LoadBalancer
                  
    • Ändern Sie das Label selector entsprechend Ihren Back-End-Labels (in diesem Beispiel app: echo-app).
    • Prüfen Sie, ob der targetPort mit dem vom ESP verwendeten Port übereinstimmt, der in den API-Back-Ends konfiguriert ist. Der ESP verwendet standardmäßig Port 8081.
  2. Stellen Sie den Kubernetes-Dienst bereit:
                kubectl apply -f service.yaml
                
  3. Rufen Sie die externe IP-Adresse auf, die dem freigegebenen Dienst zugewiesen ist:
                kubectl get services
                
    Die Ausgabe zeigt eine EXTERNAL-IP-Adresse an, die in etwa so aussieht:
                NAME         CLUSTER-IP     EXTERNAL-IP      PORT(S)    AGE
                hello-node   10.X.XXX.202   10X.XXX.XX.123   8080/TCP   1m
          
  4. Ändern Sie die generierte externe IP-Adresse von sitzungsspezifisch in statisch.

    Zur Seite "Externe IP-Adressen"

    1. Wählen Sie die externe IP-Adresse aus der Liste aus.
    2. Klicken Sie in der Liste Type (Typ) auf Static (Statisch).
  5. Bearbeiten Sie Ihre Domaineinstellungen in Ihrem Domainanbieterkonto. Sie müssen einen A-Datensatz erstellen, der Ihren API-Namen enthält, z. B. myapi.example.com, wobei die externe IP-Adresse im Datenfeld enthalten ist.

Nächste Schritte