Neuen API-Proxy erstellen und bereitstellen

Nachdem Sie Google Cloud und die Hybrid-Benutzeroberfläche konfiguriert und die Laufzeit installiert und konfiguriert haben, können Sie sehen, wie sie zusammenwirken.

In diesem Abschnitt werden folgende Schritte erläutert:

  1. Erstellen Sie einen neuen API-Proxy in der Apigee-Benutzeroberfläche mithilfe des API-Proxy-Assistenten.
  2. Neuen Proxy über die Benutzeroberfläche in Ihrem Cluster bereitstellen

1. Einen neuen API-Proxy mithilfe der Hybrid-Benutzeroberfläche erstellen

In diesem Abschnitt wird beschrieben, wie Sie einen neuen API-Proxy in der Benutzeroberfläche mithilfe des API-Proxy-Assistenten erstellen.

So erstellen Sie einen einfachen API-Proxy mit dem API-Proxy-Assistenten:

  1. Öffnen Sie die Apigee-UI in einem Browser.
  2. Wählen Sie in der Hauptansicht Develop > API Proxies aus.
  3. Wählen Sie in der Drop-down-Liste Umgebung die Umgebung aus, in der Sie einen neuen API-Proxy erstellen möchten. In diesem Abschnitt wird der Name der Umgebung "test" verwendet. Sie haben in Schritt 5: Umgebung hinzufügen mindestens eine Umgebung erstellt.

    Die Hybrid-Benutzeroberfläche zeigt eine Liste der API-Proxys für diese Umgebung an. Wenn Sie noch keine Proxys erstellt haben, ist die Liste leer.

  4. Klicken Sie rechts oben auf +Proxy. Der API-Proxy-Assistent wird gestartet:
  5. Wählen Sie Reverse Proxy (am häufigsten verwendet) aus und klicken Sie auf Weiter.

    Die Ansicht Proxy-Details wird angezeigt.

  6. Konfigurieren Sie den Proxy mit den folgenden Einstellungen:
    • Proxy Name: Geben Sie "myproxy" ein. In den verbleibenden Schritten in diesem Abschnitt wird davon ausgegangen, dass dies Ihre Proxy-ID ist.
    • Proxy-Basispfad: Wird automatisch auf "/myproxy" festgelegt. Der Proxy-Basispfad ist Teil der URL, die zum Senden von Anfragen an Ihre API verwendet wird. Edge verwendet die URL, um eingehende Anfragen zuzuordnen und an den richtigen API-Proxy weiterzuleiten.
    • (Optional) Beschreibung: Geben Sie eine Beschreibung für den neuen API-Proxy ein, z. B. "Apigee Hybrid mit einem einfachen Proxy testen".
    • Ziel (vorhandene API): Geben Sie "https://mocktarget.apigee.net" ein. Dies definiert die Ziel-URL, die Apigee für eine Anfrage an den API-Proxy aufruft. Der simulierte Zieldienst wird bei Apigee gehostet und gibt einfache Daten zurück. Ein API-Schlüssel oder ein Zugriffstoken sind nicht erforderlich.

    Die Details Ihres API-Proxys sollten so aussehen:

  7. Klicken Sie auf Weiter.
  8. Wählen Sie auf dem Bildschirm Richtlinien die Sicherheitsoption Passthrough (keine Autorisierung) aus.
  9. Klicken Sie auf Weiter.
  10. Klicken Sie auf dem Bildschirm Zusammenfassung auf Erstellen.

    Hybrid generiert den Proxy (manchmal auch als Proxy-Bundle bezeichnet):

  11. Klicken Sie auf Zur Proxyliste.

    Hybrid zeigt die Ansicht Proxys an, in der eine Liste der API-Proxys angezeigt wird. Der neue Proxy sollte sich oben in der Liste befinden und eine graue Statusanzeige aufweisen, was bedeutet, dass er noch nicht bereitgestellt wurde.

2. Proxy im Cluster über die Hybrid-Benutzeroberfläche bereitstellen

Nachdem Sie einen neuen Proxy erstellt haben, müssen Sie ihn bereitstellen, um es ausprobieren zu können. In diesem Abschnitt wird beschrieben, wie Sie Ihren neuen Proxy mithilfe der Hybrid-Benutzeroberfläche bereitstellen.

So stellen Sie einen API-Proxy in der Hybrid-Benutzeroberfläche bereit:

  1. Wählen Sie in der Hybrid-Benutzeroberfläche Entwickeln > API Proxies.

    Achten Sie darauf, dass die Testumgebung ausgewählt ist.

    Der neue Proxy wird in der Benutzeroberfläche in der Liste der Proxys angezeigt:

  2. Klicken Sie auf den Proxy "myproxy".

    In der Benutzeroberfläche wird der Tab API-Proxies-Übersicht für diesen Proxy angezeigt.

    Beachten Sie, dass unter Deployments in der Spalte Überarbeitung "Nicht bereitgestellt" angezeigt wird.

  3. Maximieren Sie in der Spalte Revision die Drop-down-Auswahl, um die bereitzustellende Überarbeitung auszuwählen.

    In der Drop-down-Liste werden nur "1" und "Bereitstellung aufheben" angezeigt.

  4. Wählen Sie in der Drop-down-Liste die Überarbeitung aus, die Sie bereitstellen möchten.

    Die Benutzeroberfläche fordert Sie auf, die Bereitstellung zu bestätigen:

  5. Klicken Sie auf Deploy.

    Die Benutzeroberfläche startet mit der Bereitstellung von Überarbeitung 1 Ihres neuen Proxys im Cluster.

    Beachten Sie, dass die Bereitstellung kein sofortiger Prozess ist. Das "Eventual Consistency"-Bereitstellungsmodell von Hybrid bedeutet, dass eine neue Bereitstellung innerhalb eines kurzen Zeitraums für den Cluster bereitgestellt wird und nicht sofort.

Es gibt mehrere Möglichkeiten, den Bereitstellungsstatus eines Proxys in der Benutzeroberfläche zu prüfen. In den nächsten beiden Schritten wird erläutert, wie Sie den API-Proxy aufrufen, den Sie gerade bereit gestellt haben, und wie Sie den Bereitstellungsstatus mit einem Aufruf der Apigee APIs prüfen können.

3. Den API-Proxy aufrufen

Führen Sie die folgenden Schritte aus, je nachdem, ob Sie den DNS-Eintrag des Hostnamens, mit dem Sie die Umgebungsgruppe erstellt haben, aktualisieren können.

Wenn Sie das DNS Ihres Hostnamens nicht aktualisieren können

Führen Sie die folgenden Schritte aus, wenn der Hostname Ihrer Umgebungsgruppe nicht registriert ist oder Sie seinen DNS-Eintrag nicht aktualisieren können. In diesen Schritten erhalten Sie die Ingress-IP-Adresse und verwenden sie direkt in einem cURL-Aufruf mit dem Flag --resolve:

  1. Exportieren Sie die Ingress-IP-Adresse:
    export INGRESS_IP=$(kubectl -n istio-system get service \
      istio-ingressgateway -o jsonpath='{.status.loadBalancer.ingress[0].ip}')
  2. Exportieren Sie die Portnummer für eingehenden Traffic:
    export SECURE_INGRESS_PORT=$(kubectl -n istio-system get \
      service istio-ingressgateway -o jsonpath='{.spec.ports[?(@.name=="https")].port}')
  3. Exportieren Sie den Host-Alias Ihrer Umgebungsgruppe in eine Variable:
    export HOSTALIAS=your_host_alias
  4. Den API-Proxy aufrufen. Mit dem Flag --resolve für cURL können Sie die Ingress-IP-Adresse direkt angeben:
    curl  -H Host:$HOSTALIAS --resolve \
      $HOSTALIAS:$SECURE_INGRESS_PORT:$INGRESS_IP  \
      https://$HOSTALIAS:$SECURE_INGRESS_PORT/myproxy -k

Wenn Sie das DNS Ihres Hostnamens aktualisieren können

Wenn der Hostname, den Sie beim Erstellen der Umgebungsgruppe verwendet haben, registriert ist, können Sie dessen DNS-Eintrag so aktualisieren, dass er auf die externe Ingress-IP-Adresse verweist:

  1. Exportieren Sie die externe IP-Adresse des eingehenden Traffics in eine Variable:
    export INGRESS_IP=$(kubectl -n istio-system get service \
      istio-ingressgateway -o jsonpath='{.status.loadBalancer.ingress[0].ip}')
  2. Prüfen Sie, ob die Variable die IP-Adresse enthält. Beispiel:
    echo $INGRESS_IP
    34.118.196.202
  3. Verwenden Sie diese IP-Adresse, um den DNS-Eintrag (normalerweise ein A- oder CNAME-Eintrag) bei Ihrem Registrator oder DNS-Anbieter zu aktualisieren. Es kann bis zu einer Stunde dauern, bis die Änderung des DNS-Eintrags wirksam wird.
  4. Exportieren Sie den Host-Alias Ihrer Umgebungsgruppe in eine Variable:
    export HOSTALIAS=your_host_alias
  5. Rufen Sie den API-Proxy auf:
    curl -k https://$HOSTALIAS/myproxy

    Beispiel:

    curl -v -k https://apitest.acme.com/myproxy

    Wenn der Aufruf erfolgreich ist, wird die folgende Ausgabe angezeigt:

    Hello, Guest!