Edge Microgateway einrichten und konfigurieren

Sie sehen die Dokumentation zu Apigee Edge.
Zur Apigee X-Dokumentation
weitere Informationen

Edge Microgateway Version 3.2.x

Überblick

Nach Abschluss der Schritte in diesem Einrichtungsleitfaden haben Sie eine vollständig konfigurierte, funktionierende Edge Microgateway-Installation, die API-Anfragen verarbeiten kann. Sie testen die Einrichtung, indem Sie sichere API-Aufrufe über Edge Microgateway an ein Back-End-Ziel senden. Außerdem erfahren Sie, wie Sie dem Microgateway ein Spike Arrest-Plug-in hinzufügen.

Dieser Leitfaden ist in folgende Teile gegliedert:

Voraussetzung: Edge Microgateway installieren

Folgen Sie der Anleitung unter Edge Microgateway installieren. Wenn Sie die Installation abgeschlossen haben, können Sie die Schritte in dieser Anleitung ausführen.

Teil 1: Edge Microgateway konfigurieren

In diesem Teil verwenden Sie einen Befehlszeilenbefehl, um Edge Microgateway für die Kommunikation mit Apigee Edge zu konfigurieren.

Konfigurationsschritte für Apigee Edge Cloud

Führen Sie die folgenden Schritte aus, um Edge Microgateway mit Apigee Edge Cloud zu verwenden:

  1. Initialisieren Sie Edge Microgateway (Sie müssen diesen Schritt nur einmal ausführen):
    edgemicro init
    
  2. Eine Konfigurationsdatei namens default.yaml wurde in Ihrem Basisverzeichnis in einem Unterverzeichnis namens .edgemicro abgelegt. Prüfen Sie jetzt, ob diese Datei vorhanden ist:
    ls ~/.edgemicro
    default.yaml
    

    Hinweis : In der Dokumentation zu Edge Microgateway verweisen wir mit der Tilde (~) auf das Basisverzeichnis. Dies ist eine UNIX-Tastenkombination. Wenn Sie unter Windows eine Shell ausführen, die die Tilde nicht unterstützt, müssen Sie in Befehlen, die auf das Basisverzeichnis verweisen, die entsprechende Umgebungsvariable für die Tilde ersetzen. Beispiel: %USERPROFILE%/.edgemicro.

  3. Alle CLI-Befehle haben eine Hilfefunktion. Hilfe zum Befehl edgemicro configure ausgeben:
    edgemicro configure -h
    
  4. Führen Sie den folgenden Befehl aus, um Edge Microgateway zu konfigurieren:
    edgemicro configure -o [org] -e [env] -u [username] 
    

    Wobei:

    • org: Der Name Ihrer Edge-Organisation (Sie müssen ein Organisationsadministrator sein).
    • env: Eine Umgebung in Ihrer Organisation (z. B. „test“ oder „prod“).
    • username: Die mit Ihrem Apigee-Konto verknüpfte E-Mail-Adresse.

      Hinweis:Der Befehl „config“ lässt zusätzliche Parameter zu. Eine vollständige Liste finden Sie unter Edge Microgateway für Apigee Edge Cloud konfigurieren.

Beispiel

edgemicro configure -o docs -e test -u jdoe@example.com

Ausgabe

./edgemicro configure -o docs -e test -u jdoe@apigee.com
password:
current nodejs version is v12.5.0
current edgemicro version is 3.1.0
password:
file doesn't exist, setting up
Give me a minute or two... this can take a while...
App edgemicro-auth deployed.
checking org for existing KVM
error checking for cert. Installing new cert.
creating KVM
adding private_key
adding public_key
configuring host edgemicroservices-us-east-1.apigee.net for region us-east-1

saving configuration information to: $HOME/.edgemicro/docs-test-config.yaml

vault info:
 -----BEGIN CERTIFICATE-----
MIICpDCCAYwCCQCQ2mJZJGbPPTANBgkqhkiG9w0BAQsFADAUMRIwEAYDVQQDEwls
b2NhbGhvc3QwHhcNMTcwOTA3MjA0ODA4WhcNMTcwOTA4MjA0ODA4WjAUMRIwEAYD
VQQDEwlsb2NhbGhvc3QwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDw
yzmqi5CelqqtTr6IaFe1ssrMXEDnNtkBh95U6F5zHLsNQhJcyNUAO9um6FLMSqSd
fTztXfWUZzDgmbb6sfbx/9cqpvQ8TIjxyIz8xGM9H4legRQmsCQoYGkLjpPE5ZOa
wZrI5IaVm8LY6vbopPFwxgKOQ9bphx6k9Na055DmNyZAOTMD+4I0m/RdsrnZnYih
3DaFj1tXHKZI1jfAt/QOif5Nmk4+JckYwF+9HBysWUbbvj/gnBjVYF2Isb7q7oFD
lPGhwFoIebMqHMWD8lG7+9RJDO9dDV6f1g1/9waIrq1D+MoVXos9VMstNrPp0cKF
Ue+lAkct8tylH+2MosF7AgMBAAEwDQYJKoZIhvcNAQELBQADggEBAJMRdcQh3ayy
csVVT4TYwxV7MKWRfhDRz6X+MM9frB+Z7sI4+ZoZbXKOoZI2hSjmbdLpkNR/m9eJ
+1Uk0JKmpSY7Q+1rRrvcHsWNysGf4z+zDJXYECTrtSnXKBXtb9SJ8JAfoZOQD0lA
zmKuJjQMLTdiYMHOBR6ZWnaKaRvrQwGHcQrheJm4a90XgZF6jcRR8CPrBzkmsbCp
IU/Ux3E17wDGYPxjJs5otyQG8rN/88RGyaSeXK8rjKr9D4KFGJeasXBKmTG2afAr
yfBvS4h6s42FCOR/eLpmMllVoO9up71Fa3EtV+aK+FNNY9uMbgUHeLQE7z9nn06q
PTmvExZLkLQ=
-----END CERTIFICATE-----

The following credentials are required to start edge micro
  key: 27ee39567c75e4567a66236cbd4e86d1cc93df6481454301bd5fac4d3497fcbb
  secret: 4618b0008a6185d7327ebf53bee3c50282ccf45a3cceb1ed9828bfbcf1148b47
    

Apigee Private Cloud-Konfigurationsschritte

Führen Sie die folgenden Schritte aus, um Edge Microgateway mit Apigee Private Cloud zu verwenden:

  1. Initialisieren Sie Edge Microgateway (Sie müssen diesen Schritt nur einmal ausführen):
    edgemicro init
    
  2. Drucken Sie Hilfeinformationen für den Befehl edgemicro private config. Sie können auf diese Weise Hilfe für alle Edge Microgateway-Befehlszeilenbefehle oder -Befehlsoptionen ausgeben.
    edgemicro private configure -h
    
  3. Führen Sie folgenden Befehl aus: Er erfordert Standardinformationen zu Ihrem Apigee Edge Private Cloud-Konto: Organisationsname, Umgebungsname, Nutzername (E-Mail-Adresse), Passwort, IP-Adresse des Verwaltungsservers und Router-IP-Adresse. Sie müssen ein Edge-Organisationsadministrator sein, um diesen Befehl verwenden zu können:
    edgemicro private configure -o [org] -e [env] -u [username] -r [runtime_url] -m [mgmt_url] -v [virtual_host]
    

    Wobei:

    • org ist der Name Ihrer Edge-Organisation (Sie müssen ein Organisationsadministrator sein).
    • env ist eine Umgebung in Ihrer Organisation (z. B. „test“ oder „prod“).
    • runtime_url ist die Laufzeit-URL für Ihre private Cloud-Instanz.
    • mgmt_url ist die URL des Verwaltungsservers für Ihre private Cloud-Instanz.
    • username ist die mit Ihrem Apigee-Konto verknüpfte E-Mail-Adresse.
    • virtual_host ist eine durch Kommas getrennte Liste virtueller Hostnamen. Die Standardwerte sind default,secure.

Beispiel

edgemicro private configure -o docs -e test -u jdoe@example.com -r http://192.162.52.106:9001 -m http://192.162.52.106:8080 -v default

Wenn Sie den virtuellen Hostalias myorg-test.mycompany.com haben, verwenden Sie einen Befehl wie diesen:

edgemicro private configure -o docs -e test -u jdoe@example.com -r myorg-test.mycompany.com -m http://192.162.52.106:8080 -v default

Ausgabe

delete cache config
checking for previously deployed proxies
configuring edgemicro internal proxy
deploying edgemicro internal proxy
deploying  edgemicro-auth  app
copy auth app into tmp dir
copy config into tmp deer
Give me a minute or two... this can take a while...
App edgemicro-auth added to your org. Now adding resources.

checking org for existing KVM
error checking for cert. Installing new cert.
creating KVM
adding private_key
adding public_key
configuring host http://192.168.52.106:9001 for region dc-1

saving configuration information to: $HOME/.edgemicro/jdoe-test-config.yaml
vault info: 
-----BEGIN CERTIFICATE----- 
MIICpDCCAYwCCQDpIvWlpaZJGDANBgkqhkiG9w0BAQFADAUMRIwEAYDVQQDEwls 
b2NhbGhvc3QwHhcNMTYwNDA3MTcxNTM5WhcNMTYwND4MTcxNTM5WjAUMRIwEAYD 
VQQDEwlsb2NhbGhvc3QwggEiMA0GCSqGSIb3DQEBAUAA4IBDwAwggEKAoIBAQD3 
OAQ+kf5FH0S0yuj05ITqUODuUJspBPberRMbqOZYHcFswhB0Yvg6JKWsKWBDP9o
Xl96dtgH7xPFRqIU0zI452jkMQ1fPz2mSaGwik245yfBku7olooXKRKTRKOUoXa 
q3Hld/RPxGSsWtiyyYtKex7tuFdq0Knm1EhowdTRGIgjNvudeYMka/XPRXuykhd 
xIDxWj4rdX+4GPx9qT2eTQC5nOAC7XHVL7ys4KqsAiv28vw10u400KstFFS8Qho 
7FaE0bOKLolKKadKyA60ha1XIw/uSTD6ZQFWQ+XM3OaRbXePWXnSZioSxXcZT7L 
hMUKbsRXw/TCvRB51LgNAgMBAAEwDQYJKoZIhvcNAQELBQADgEBAOuR1OmE/W6j 
gRAarJB5EQuTEpI/9Zpg5c5RAGjzLhkazsycn7pal+IymUjCV7D0oIxTVuTM8ZZ 
57kR5hF/C1ZypDN9i+KGP2ovX8WOCCXYtIQECgZPB/L/7/k7BDuKN4vFBvWUe3X 
s2oyjnVWy+ASqsW8gHfj8ekhe22bP240Oqkbyg9SZP9ol1tvJX6+M0thYwcTwAd 
ft929Icey/MOTQC0jB2qm0gnIx/7KInFXfS5KoFRJoGrWDeckr3RdBo2LhnPaeZ 
1gPYIqphZ3HfisF5KlBXoR8oT/Ilym/nq5COlv+3L4tMIk18F7BQZB60SRazifz 
pFkIxepyr/0= 
-----END CERTIFICATE----- 

The following credentials are required to start edge micro 
   key: a3f8f3dfe39158fc3c50b274f0af2234246e0d5f6ea4ad09389b645147151ba3
   secret: 3e9904802fb3c0e8ca408128a11119cf13546d54dac10ace944c097a726a1263

edgemicro configuration complete!
    

Installation überprüfen

Führen Sie den folgenden Befehl aus, um die Installation zu überprüfen. Wenn keine Fehler gemeldet werden, ist alles korrekt eingerichtet und Sie können das Edge Microgateway erfolgreich starten.

edgemicro verify -o [org] -e [env] -k [key] -s [secret]

Wobei:

  • org ist der Name Ihrer Edge-Organisation (Sie müssen ein Organisationsadministrator sein).
  • env ist eine Umgebung in Ihrer Organisation (z. B. „test“ oder „prod“).
  • key ist der zuvor vom Befehl „config“ zurückgegebene Schlüssel.
  • secret ist der zuvor vom Befehl „config“ zurückgegebene Schlüssel.

Beispiel

edgemicro verify -o docs -e test -k 93b01fd21d86331459ae52f624ae9aeb13eb94767ce40a4f621d172cdfb7e8e6 -s c8c755be97cf56c21f8b0156d7132afbd03625bbd85dc34ebfefae4f23fbcb3c

Informationen zur Konfiguration

Die gesamte bisher durchgeführte Konfiguration ermöglicht Edge Microgateway das Bootstrapping an Apigee Edge. Nachdem das Bootstrapping erfolgreich war, ruft Edge Microgateway eine Nutzlast zusätzlicher Konfigurationsinformationen von Apigee Edge ab.

Wofür werden diese Konfigurationsinformationen verwendet? Wie im nächsten Teil dieser Anleitung erfahren wird, muss Edge Microgateway beim Start eine Liste spezieller, Edge Microgateway-kompatibler API-Proxys von Apigee Edge erhalten. Im nächsten Teil dieser Anleitung erstellen Sie einen Microgateway-fähigen Proxy. Edge Microgateway beschränkt Clients darauf, nur die APIs aufzurufen, vor denen diese Microgateway-fähigen API-Proxys stehen. Clients müssen standardmäßig für jeden Aufruf ein gültiges Sicherheitstoken vorlegen. Weitere Informationen zu diesen Proxys finden Sie in der Übersicht zu Edge Microgateway unter Wissenswertes über Edge Microgateway-fähige Proxys.

Als Edge-Organisationsadministrator wird es für Sie interessant sein, dass Edge-Microgateway-fähige Proxys wie alle anderen Proxys zu Edge-Produkten hinzugefügt werden können. Mithilfe von Produkten und Entwickleranwendungen können Sie clientspezifische Sicherheitstokens generieren, um den Zugriff auf APIs zu steuern, die über Edge Microgateway aufgerufen werden. Auch hier sind die beteiligten Muster identisch mit der Arbeit mit API-Proxys, Produkten und Entwickleranwendungen in Apigee Edge. Wenn Sie sich über Produkte informieren möchten, beginnen Sie mit Was ist ein API-Produkt? in der Edge-Dokumentation.

Als Nächstes erfahren Sie, wie Sie Edge Microgateway-fähige Proxys erstellen. Danach starten wir Edge Microgateway und testen die Einrichtung.

Teil 2: Entitäten in Apigee Edge erstellen

In diesem Teil erstellen Sie diese Entitäten in Edge:

  • Ein Microgateway-kompatibler Proxy – ein spezieller Proxy, den Edge Microgateway beim Start erkennen kann. Microgateway-fähige Proxys haben eine Namenskonvention, die Sie befolgen müssen: Der Name muss edgemicro_ enthalten. Beispiel: edgemicro_hello oder edgemicro_userinfo. Beim Start von Edge Microgateway wird von Edge eine Liste von Microgateway-fähigen Proxys aus derselben Edge-Organisation und -Umgebung abgerufen, die Sie beim Start von Edge Microgateway angegeben haben.

    Für jeden Microgateway-fähigen Proxy ruft Edge Microgatway die Ziel-URL des Proxys und dessen Basispfad ab. Microgateway-fähige Proxys bieten auch eine bequeme Möglichkeit, von Edge Microgateway generierte Analysedaten einem Proxy auf der Edge-Plattform zuzuordnen. Da das Microgateway API-Aufrufe verarbeitet, überträgt es Analysedaten asynchron an Edge. Analysedaten werden in der Edge Analytics-Benutzeroberfläche wie bei jedem anderen Proxy unter den Microgateway-fähigen Proxy-Namen angezeigt.
  • Eine Produkt-, Entwickler- und Entwickleranwendung: Edge Microgateway verwendet Produkte, Entwickler und Entwickleranwendungen, um die Sicherheit von OAuth2-Zugriffstoken oder API-Schlüsseln zu aktivieren. Beim Start von Edge Microgateway werden alle Produktkonfigurationen aus Ihrer Apigee Edge-Organisation heruntergeladen. Anhand dieser Informationen werden API-Aufrufe über Edge Microgateway mit API-Schlüsseln oder OAuth2-Zugriffstoken geprüft.

1. Edge Microgateway-fähigen API-Proxy in Edge erstellen

  1. Melden Sie sich in Apigee Edge in Ihrer Organisation an.
  2. Wählen Sie im seitlichen Navigationsmenü Develop > API Proxies aus.
  3. Klicken Sie auf + Proxy. Der Assistent zum Erstellen eines Proxys wird aufgerufen.
  4. Wählen Sie auf der ersten Seite des Assistenten die Option Umgekehrter Proxy (am häufigsten verwendet) aus.
  5. Klicken Sie auf Weiter.
  6. Konfigurieren Sie im Assistenten auf der Seite „Details“ die folgenden Einstellungen. Achten Sie darauf, den Assistenten genau wie hier angegeben auszufüllen:
    • Proxy-Name: edgemicro_hello
    • Proxy-Basispfad: /hello
    • Vorhandene API: http://mocktarget.apigee.net/
  7. Klicken Sie auf Weiter.
  8. Wählen Sie auf der Seite „Sicherheit“ des Assistenten die Option Pass through (none) (Pass durch (keine)) aus.
  9. Klicken Sie auf Weiter.
  10. Übernehmen Sie auf der Seite „Virtuelle Hosts“ des Assistenten die Standardwerte.
  11. Klicken Sie auf Weiter.
  12. Überprüfen Sie auf der Build-Seite des Assistenten Ihre Proxy-Einstellungen. Achten Sie darauf, dass die test-Umgebung ausgewählt ist.
  13. Klicken Sie auf Build and Deploy (Erstellen und bereitstellen).

2. Produkt erstellen

  1. Wählen Sie im seitlichen Navigationsmenü Veröffentlichen > API-Produkte aus.
  2. Klicken Sie auf + API Product. Die Seite „Produktdetails“ wird angezeigt.
  3. Füllen Sie die Seite mit den Produktdetails so aus:
    • Name:EdgeMicroTestProduct
    • Anzeigename:EdgeMicroTestProduct
    • Umgebung: Test und Produktion
    • Zugriff: Öffentlich
    • Schlüsselgenehmigungstyp:Automatisch
  4. Klicken Sie unter „Resources“ (Ressourcen) auf +API Proxy (+ API-Proxy).
  5. Wählen Sie edgemicro-auth aus.
  6. Klicken Sie noch einmal auf +API-Proxy.
  7. Wählen Sie edgemicro_hello aus.
  8. Wählen Sie + Benutzerdefinierte Ressource aus.
  9. Geben Sie /** ein.
  10. Wählen Sie noch einmal + Benutzerdefinierte Ressource aus.
  11. Geben Sie / ein.
  12. Klicken Sie auf Speichern.

3. (Optional) Testentwickler erstellen

Für diese Anleitung können Sie einen beliebigen vorhandenen Entwickler für den nächsten Schritt verwenden und eine Entwickler-App erstellen. Sie können aber auch jetzt einen Testentwickler erstellen:

  1. Klicken Sie im seitlichen Navigationsmenü auf Veröffentlichen > Entwickler.
  2. Klicken Sie auf + Entwickler.
  3. Füllen Sie das Dialogfeld aus, um einen Testentwickler zu erstellen.

4. Entwickler-App erstellen

Sie verwenden die Clientanmeldedaten aus dieser Anwendung, um sichere API-Aufrufe über Edge Microgateway durchzuführen:

  1. Klicken Sie im seitlichen Navigationsmenü auf Veröffentlichen > Apps.
  2. Klicken Sie auf + App. Die Seite mit den Entwickler-App-Details wird angezeigt.
  3. Füllen Sie die Entwickler-App-Seite so aus:
    1. Name:EdgeMicroTestApp
    2. Anzeigename:EdgeMicroTestApp
    3. Entwickler:Wenn Sie einen Testentwickler erstellt haben, wählen Sie ihn aus. Alternativ können Sie für diese Anleitung einen beliebigen vorhandenen Entwickler verwenden.
    4. Anmeldedaten:
      1. Wählen Sie für das Ablaufdatum Nie aus.
      2. Klicken Sie auf + Produkt und wählen Sie EdgeMicroTestProduct aus (das soeben erstellte Produkt).
  4. Klicken Sie auf Speichern.
  5. Sie befinden sich wieder auf der Seite mit der Apps-Liste.
  6. Wählen Sie die soeben erstellte App EdgeMicroTestApp aus.
  7. Klicken Sie neben Consumer Key (Consumer-Schlüssel) und Consumer Secret (Consumer-Secret) auf Show (Anzeigen).

Teil 3: Edge Microgateway ausführen

Nachdem Sie nun ein Edge Microgateway und mindestens einen Edge Microgateway-fähigen Proxy in Edge konfiguriert haben, können Sie Edge Microgateway starten. Ein Edge Microgateway-HTTP-Server wird auf Ihrem lokalen Computer ausgeführt und Sie senden API-Aufrufe direkt an diesen Server.

1. Edge Microgateway starten

Verwenden Sie den Befehl edgemicro start, um Edge Microgateway zu starten.

  1. Achten Sie darauf, dass Sie die Schlüssel haben, die zuvor mit dem Befehl edgemicro configure zurückgegeben wurden. Die Ausgabe sieht in etwa so aus:
    You need key and secret while starting edgemicro instance
    
    key: da4778e7c240a5d4585fc559eaba5083328828bc9f3a7f583e8b73e
    secret: 3aad7439708b4aeb38ee08e82189921ad00e6fc1ba8a8ae9f929ee2
    
  2. (Optional) Geben Sie Hilfeinformationen für den Befehl edgemicro start aus.
    edgemicro start -h
    
  3. Führen Sie den folgenden Befehl aus, um Edge Microgateway zu starten:
    edgemicro start -o [org] -e [env] -k [key] -s [secret]
    

    Wobei:

    • org ist der Name Ihrer Edge-Organisation (Sie müssen ein Organisationsadministrator sein).
    • env ist eine Umgebung in Ihrer Organisation (z. B. „test“ oder „prod“).
    • key ist der zuvor vom Befehl „config“ zurückgegebene Schlüssel.
    • secret ist der zuvor vom Befehl „config“ zurückgegebene Schlüssel.

    Beispiel

    edgemicro start -o docs -e test -k 701e70e718ce6dc1880616b3c39177d64a88754d615c7a4e1f78b6181d000723 -s 05c14356e42d136b83dd135cf8a18531ff52d7299134677e30ef4e34ab0cc824
    

    Ausgabe

    Der Startbefehl ruft viele Konfigurationsinformationen von Apigee Edge ab (das in das Terminalfenster scrollt). In der Ausgabe wird eine Liste der erkannten Proxys und Produkte angezeigt, die Microgateway-kompatibel sind. Am Ende der Ausgabe sollten Sie in etwa Folgendes sehen:

    ...
    
    current nodejs version is v12.5.0
    current edgemicro version is 3.1.0
    info: jwk_public_keys download from null returned 200 undefined
    info: jwt_public_key download from https://docs-test.apigee.net/edgemicro-auth/publicKey returned 200 OK
    info: products download from https://docs-test.apigee.net/edgemicro-auth/products returned 200 OK
    info: config download from https://edgemicroservices-us-east-1.apigee.net/edgemicro/bootstrap/organization/docs/environment/test returned 200 OK
    PROCESS PID : 17991
    
  4. Prüfen Sie den Status des Mikrogateways. Wechseln Sie in einem anderen Terminalfenster in das Verzeichnis, in dem Sie Edge Micro gestartet haben, und geben Sie den folgenden Befehl ein:
    edgemicro status
    current nodejs version is v12.5.0
    current edgemicro version is 3.1.0
    edgemicro is running with 8 workers
    

Was ist passiert?

Eine Nutzlast mit Edge Microgateway-Konfigurationsinformationen wird von Apigee Edge heruntergeladen und lokal im Cache gespeichert. Zu diesen Informationen gehören:

  • Den öffentlichen Schlüssel, den wir zuvor erstellt und in einer verschlüsselten Schlüssel/Wert-Zuordnung (KVM) gespeichert haben.
  • Eine Darstellung aller Edge Microgateway-fähigen Proxys, die in der Organisation/Umgebung vorhanden sind. Dies sind alles Proxys, die mit dem Präfix edgemicro_ benannt sind.
  • Eine Darstellung aller API-Produkte, die in der Organisation/Umgebung vorhanden sind.

Mit diesen Informationen weiß Edge Microgateway, welche Proxys und Proxypfade verarbeitet werden dürfen. Es verwendet die Produktinformationen, um die Sicherheit zu erzwingen (genau wie jeder API-Proxy in Apigee Edge, bei dem Entwickler-App-Schlüssel eine Verbindung mit Produkten haben). Wir werden gleich die Schritte zum Sichern von Edge Microgateway durchgehen.

2. Edge Microgateway testen

Wenn Edge Microgateway ausgeführt wird, können Sie den Proxy aufrufen. Die Konfiguration für den Proxy edgemicro_hello wurde beim Start von Edge Microgateway von Edge heruntergeladen. Denken Sie daran, dass der Proxy-Basispfad /hello lautet.

Zum Testen von Edge Microgateway beginnen wir mit dem Basispfad und fügen den Ressourcenpfad /echo hinzu. Beachten Sie, dass alles nach dem Basispfad (einschließlich aller Abfrageparameter) einfach an das Back-End-Ziel übergeben wird:

curl -i http://localhost:8000/hello/echo
{"error":"missing_authorization","error_description":"Missing Authorization header"}

Der Fehler tritt auf, weil Sie mit der Anfrage keinen gültigen API-Schlüssel oder Zugriffstoken gesendet haben. Standardmäßig erfordert Edge Microgateway bei jedem API-Aufruf entweder einen API-Schlüssel oder ein Zugriffstoken. Im nächsten Schritt der Anleitung wird diese API ordnungsgemäß gesichert. Außerdem zeigen wir Ihnen, wie Sie ein gültiges Zugriffstoken abrufen und der Anfrage hinzufügen.

4. Edge Microgateway beenden

  1. Führen Sie in einem separaten Terminalfenster cd in demselben Verzeichnis aus, in dem Sie Edge Microgateway gestartet haben.
  2. Geben Sie den Befehl zum Beenden ein:
    edgemicro stop
    

Teil 4: Secure Edge Microgateway

Sie können API-Aufrufe, die über Edge Microgateway erfolgen, mit einem API-Schlüssel oder einem Zugriffstoken sichern.

API-Aufrufe mit einem OAuth2-Zugriffstoken schützen

Führen Sie die folgenden Schritte aus, wenn Sie API-Aufrufe mit einem OAuth2-Zugriffstoken authentifizieren möchten:

1. Erforderliche Schlüssel abrufen

  1. Gehen Sie in der Edge-Benutzeroberfläche zur Entwickler-App, die Sie zuvor erstellt haben. Der Name der App war EdgeMicroTestApp.
  2. Zeigen Sie auf der Seite der Entwickler-App den Consumer Key und das Consumer Secret an und kopieren Sie sie. Diese Werte sind erforderlich, um im nächsten Schritt ein Zugriffstoken abzurufen.

2. Zugriffstoken abrufen

Es gibt zwei Möglichkeiten, ein Zugriffstoken zu erhalten. Wir stellen Ihnen beide Methoden vor.

Zugriffstoken über die Befehlszeile abrufen

Die erste Methode ist praktisch und folgt dem Muster, das wir in dieser Anleitung verwendet haben. Die zweite Methode ist im Allgemeinen besser für Entwickler von Clientanwendungen geeignet, die Tokens anfordern müssen. Der tatsächliche Tokenendpunkt ist im Proxy edgemicro-auth implementiert, der bei der Konfiguration von Edge Microgateway bereitgestellt wurde.

  1. (Optional) Sehen Sie sich die Hilfe zum Befehl token get an:
    edgemicro token get -h
    
  2. Generieren Sie das Token und ersetzen Sie die Werte für Consumer Key und Consumer Secret aus der Entwickleranwendung, die Sie in Apigee Edge in den Parametern -i und -s erstellt haben:
    edgemicro token get -o [org] -e [env] -i [consumer_key] -s [consumer_secret]
    

    Wobei:

    • org ist der Name Ihrer Edge-Organisation (Sie müssen ein Organisationsadministrator sein).
    • env ist eine Umgebung in Ihrer Organisation (z. B. „test“ oder „prod“).
    • consumer_id ist die Nutzer-ID in der Entwickler-App, die Sie zuvor erstellt haben.
    • consumer_secret ist das Consumer Secret in der Entwickler-App, die Sie zuvor erstellt haben.

    Beispiel

    edgemicro token get -o docs -e test -i G0IAeU864EtBo99NvUbn6Z4CBwVcS2 -s uzHTbwNWvoSmOy
    

    Ausgabe (Stichprobe)

    current nodejs version is v12.5.0
    { token: 'eyJ0eXAiOiJKV1QiLCJhbGciSUzI1NiJ9.eyJhcHBsaWNhdGl
    vbl9uYW1lIjoiNWNiMGY0tOWMzOC00YmJjLWIzNzEtZGMxZTQzOGYxZGMxI
    iwiY2xpZW50X2lkIjoiNVVdBWEdvSU9lbzYwYWV3OTRQN0c1TUFaRTNhSnA
    iLCJzY29wZXMiOltdLCJhcGlfcHJvjdF9saXN0IjpbIsVkZ2VNaWNyb1Rlc
    3RQcm9kdWN0IlmlhdCI6MTQ3ODIwODMzMiwiZXhwIjoxNDc4MjEwMTMxfQ.
    v3Q8Rs0W9FO_XpERwIAMMXhjGamRmmmWgrAy1wJv0-99oajx5ASI5qjNubM
    nCF14xxwlVXHcz1VfedA8Nx7Ih145zhWWuPKL9muzhXXnVBRFeBMeeLqJk4
    QQ7Bhst7xH_68nJSTE20Egu95DHOCUemfrepDFH0VggY4BmzvwLkBNfz_te
    E_YqwKZbpGOLMdKK1vMk0fk0x19SieIMS_aJYeOAklrzUhnFxWJFrsAWsax
    NLx_BbQcZzYfK1JSDUrhRNVBuPHMnGjNA_oHw2J4qa6Hsp62PfchG-DIW_t
    -0BFnYf3rYXmqyNORqFrOMdl4VxqQ' }
    

Optional: Token über die API abrufen

Wenn Sie es gewohnt sind, Edge-Proxys mit curl oder einem anderen HTTP-Client aufzurufen, ist es interessant zu wissen, dass Sie den Token-Endpunkt direkt aufrufen können, anstatt den Befehl edgemicro token zu verwenden. Hier ein curl-Beispiel. Ersetzen Sie einfach die Organisations- und Umgebungsnamen in der URL und übergeben Sie die durch Doppelpunkt getrennten Werte vom Typ „Consumer Key:Consumer Secret“ in einem Header für die Basisauthentifizierung:

curl -i -X POST "http://[org]-[env].apigee.net/edgemicro-auth/token" -d '{ "client_id": "your consumer key", "client_secret": "your consumer secret", "grant_type": "client_credentials" }' -H "Content-Type: application/json"

Wobei:

  • org ist der Name Ihrer Edge-Organisation (Sie müssen ein Organisationsadministrator sein).
  • env ist eine Umgebung in Ihrer Organisation (z. B. „test“ oder „prod“).
  • client_id ist die Nutzer-ID in der Entwickler-App, die Sie zuvor erstellt haben.
  • client_secret ist das Consumer Secret in der Entwickler-App, die Sie zuvor erstellt haben.

Ausgabe (Beispiel)

Unabhängig davon, ob Sie den CLI-Befehl edgemicro token verwendet oder den Endpunkt mit curl aufgerufen haben, gibt der Befehl ein signiertes Zugriffstoken zurück, das für Clientaufrufe verwendet werden kann. Beispiel:

MIICpDCCAYwCCQDpIvWlpaZJGDANBgkqhkiG9w0BAQFADAUMRIwEAYDVQQDEwls 
b2NhbGhvc3QwHhcNMTYwNDA3MTcxNTM5WhcNMTYwND4MTcxNTM5WjAUMRIwEAYD 
VQQDEwlsb2NhbGhvc3QwggEiMA0GCSqGSIb3DQEBAUAA4IBDwAwggEKAoIBAQD3 
OAQ+kf5FH0S0yuj05ITqUODuUJspBPberRMbqOZYHcFsnhB0Yvg6JKWxKWBDP9o
Xl96dtgH7xPFRqIU0zI452jkMQ1fPz2mSaGwik241yfBku7olooXKRKTRKOUoXa
q3Hld/RPxGSsWtiyyYtKex7tuFdq0Knm1EhowdTRGIgjNvudeYMka/XPRXuykhd 
xIDxWj4rdX+4GPx9qT2eTQC5nOAC7XHVL7ys4KqsAiv28vw10u400KstFFS8Qho 
7FaE0bOKLolKKadKyA60ha1XIw/uSTD6ZQFWQ+XM3OaRbXePWXnSZioSxXcZT7L 
hMUKbsRXw/TCvRB51LgNAgMBAAEwDQYJKoZIhvcNAQELBQADgEBAOuR1OmE/W6j 
gRAarJB5EQuTEpI/9Zpg5c5RAGjzLhkazsycn7pal+IymUjCV7D0oIxTVuTM8ZZ 
57kR5hF/C1ZypDN9i+KGP2ovX8WOCCXYtIQECgZPB/L/7/k7BDuKN4vFBvWUe3X 
s2oyjnVWy+ASqsW8gHfj8ekhe22bP240Oqkbyg9SZP9ol1tvJX6+M0thYwcTwAd 
ft929Icey/MOTQC0jB2qm0gnIx/7KInFXfS5KoFRJoGrWDeckr3RdBo2LhnPaeZ 
1gPYIqphZ3HfisF5KlBXoR8oT/Ilym/nq5COlv+3L4tMIk18F7BQZB60SRazifz 
pFkIxepyr/0=
      

3. Konfiguration in Edge Microgateway prüfen

  1. Öffnen Sie die Datei $HOME/.edgemicro/org-env-config.yaml. Wenn Sie diese Datei nicht finden können, lesen Sie den Abschnitt Wo ist Edge Microgateway installiert?.
  2. Achten Sie darauf, dass die Attribute des OAuth-Plug-ins auf false festgelegt sind. Der Standardwert ist „false“, aber es empfiehlt sich, Folgendes noch einmal zu überprüfen:
    oauth:
       allowNoAuthorization: false
       allowInvalidAuthorization: false
    
  3. Achten Sie außerdem in der Datei org-env-config.yaml darauf, dass das OAuth-Plug-in dem plugins:sequence-Element hinzugefügt wird:
    plugins:
       dir: ../plugins
       sequence:
       - oauth
    
  4. Wenn Sie Änderungen an der Datei vornehmen, laden Sie die Änderungen neu in die ausgeführte Edge Microgateway-Instanz. Mit diesem Befehl wird Edge Microgateway ohne Ausfallzeiten neu konfiguriert:
    edgemicro reload -o [org] -e [env] -k [key] -s [secret]
    

    Wobei:

    • org ist der Name Ihrer Edge-Organisation (Sie müssen ein Organisationsadministrator sein).
    • env ist eine Umgebung in Ihrer Organisation (z. B. „test“ oder „prod“).
    • key ist der zuvor vom Befehl „config“ zurückgegebene Schlüssel.
    • secret ist der zuvor vom Befehl „config“ zurückgegebene Schlüssel.

    Beispiel

    edgemicro reload -o docs -e test -k 701e70ee718ce6dc188016b3c39177d64a88754d615c74e1f78b6181d
    

4. API sicher aufrufen

Nachdem Sie das Zugriffstoken erhalten haben, können Sie den API-Aufruf sicher ausführen. Beispiel:

  curl -i -H "Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.eyJhcHBsaWNhdGlvbl
9uYW1lIjoiYmU2YmZjYjAtMWQ0Ni00Y2IxLWFiNGQtZTMxNzRlNTAyMDZkIiwiY2xpZW50X2lkIjoiOGxTTTVIRHdyM
VhIT1ZwbmhURExhYW9FVG5STVpwWk0iLCJzY29wZXMiOltdLCJhcGlfcHJvZHVjdF9saXN0IjpbIk1pY3JvZ2F0ZXdh
eVRlQcm9kdWN0Il0sImCI6MTQzNTM0NzY5MiwiZXhwIjoxNDM1MzQ5NDkxfQ.PL30Y6uK1W1f2ONPEsBDB_BT31c6
IsjWGfwpz-p6Vak8r767tAT4mQAjuBpQYv7_IU4DxSrnxXQ_q536QYCP4p4YKfBvyqbnW0Rb2CsPFziy_n8HIczsWO
s0p4czcK63SjONaUpxV9DbfGVJ_-WrSdqrqJB5syorD2YYJPSfrCcgKm-LpJc6HCylElFDW8dHuwApaWcGRSV3l5Wx
4A8Rr-WhTIxDTX7TxkrfI4THgXAo37p3au3_7DPB_Gla5dWTzV4j93xLbXPUbwTHzpaUCFzmPnVuYM44FW5KgvBrV0
64RgPmIFUxSqBWGQU7Z1w2qFmWuaDljrMDoLEreI2g" http://localhost:8000/hello/echo

Die API gibt Header und andere Informationen vom Testserver zurück.

API mit einem API-Schlüssel sichern

Wenn Sie einen API-Schlüssel für die Autorisierung verwenden möchten, gehen Sie so vor:

1. API-Schlüssel anfordern

  1. Gehen Sie in der Edge-Benutzeroberfläche zur Entwickler-App, die Sie zuvor erstellt haben. Der Name der App war EdgeMicroTestApp.
  2. Zeigen Sie auf der Seite der Entwickler-App den Consumer-Key an und kopieren Sie ihn. Dieser Wert ist der API-Schlüssel. Mit diesem Schlüssel führen Sie authentifizierte API-Aufrufe aus.

2. Konfiguration in Edge Microgateway prüfen

  1. Öffnen Sie die Datei. $HOME/.edgemicro/org-env-config.yaml. Wenn Sie diese Datei nicht finden können, finden Sie weitere Informationen unter Wo ist Edge Microgateway installiert?.
  2. Achten Sie darauf, dass die Attribute des OAuth-Plug-ins auf false festgelegt sind. Die Standardeinstellung ist „false“, aber Sie können sie bei Bedarf noch einmal prüfen:
    oauth:
       allowNoAuthorization: false
       allowInvalidAuthorization: false
    
  3. Achten Sie außerdem in der Datei org-env-config.yaml darauf, dass das OAuth-Plug-in dem plugins:sequence-Element hinzugefügt wird:
    plugins:
       dir: ../plugins
       sequence:
       - oauth
        
    
  4. Wenn Sie Änderungen an der Datei vornehmen, laden Sie die Änderungen neu in die ausgeführte Edge Microgateway-Instanz. Mit diesem Befehl wird Edge Microgateway ohne Ausfallzeiten neu konfiguriert:
    edgemicro reload -o [org] -e [env] -k [key] -s [secret]
    

    Wobei:

    • org ist der Name Ihrer Edge-Organisation (Sie müssen ein Organisationsadministrator sein).
    • env ist eine Umgebung in Ihrer Organisation (z. B. „test“ oder „prod“).
    • key ist der zuvor vom Befehl „config“ zurückgegebene Schlüssel.
    • secret ist der zuvor vom Befehl „config“ zurückgegebene Schlüssel.

    Beispiel

    edgemicro reload -o docs -e test -k 701e70ee718ce6dc188016b3c30177d64a88754d615c74e1f78b6181d
    

3. API mit einem API-Schlüssel sicher aufrufen

Rufen Sie die API mit dem Header x-api-key wie folgt auf. Der Consumer-Key-Wert, den Sie aus der Entwickler-App kopiert haben, ist der API-Schlüssel. Edge Microgateway erwartet standardmäßig, dass Sie den Schlüssel in einem Header namens x-api-key so übergeben:

curl -i http://localhost:8000/hello/echo -H "x-api-key: [apikey]"

Wobei:

  • apikey ist der Consumer-Schlüsselwert, der von EdgeMicroTestApp übernommen wurde.

Beispiel:


curl -i http://localhost:8000/hello/echo -H 'x-api-key: XsU1R4zGXz2ERxd0ilYQ5szwuljr5bB'

Sie haben jetzt ein voll funktionsfähiges und sicheres Edge Microgateway. Im nächsten Teil der Anleitung schauen wir uns Plug-ins an, die Edge Microgateway Funktionen hinzufügen.

Teil 5: Spike Arrest-Plug-in hinzufügen

In diesem Teil fügen wir Ihrer Instanz von Edge Microgateway ein Feature zur Ratenbegrenzung mit dem Namen Spike Arrest hinzu.

Was sind Plug-ins?

Ein Plug-in ist ein Node.js-Modul, das Edge Microgateway Funktionen hinzufügt. Plug-in-Module folgen einem einheitlichen Muster und werden an einem Speicherort gespeichert, der Edge Microgateway bekannt ist, damit das Mikrogateway sie automatisch erkennen und laden kann. Weitere Informationen zu Plug-ins finden Sie unter Plug-ins verwenden.

Spike Arrest-Plug-in hinzufügen

Ein Spitze-Arrest-Plug-in schützt vor Trafficspitzen. Sie drosselt die Anzahl der Anfragen, die von einer Edge Microgateway-Instanz verarbeitet werden.

In Edge Microgateway ist Spike Arrest als Plug-in-Modul implementiert. Zum Aktivieren müssen Sie es der Konfigurationsdatei von Edge Microgateway hinzufügen.

  1. Öffnen Sie die Datei $HOME/.edgemicro/org-env-config.yaml., in der Edge Microgateway installiert ist, wenn Sie diese Datei nicht finden können.
  2. Fügen Sie das folgende Element hinzu. Sie können ihn an einer beliebigen Stelle in der Datei hinzufügen.
       spikearrest:
          timeUnit: minute   
          allow: 10   
          buffersize: 0   
    
  3. Fügen Sie dem edgemicro:sequence-Element spikearrest hinzu, wie unten gezeigt. Das Attribut für die Sequenzkonfiguration teilt Edge Microgateway die Reihenfolge mit, in der die Plug-in-Module ausgeführt werden.
    edgemicro:
      home: ../gateway
      port: 8000
      max_connections: -1
      max_connections_hard: -1
      logging:
        level: info
        dir: /var/tmp
        stats_log_interval: 60
      plugins:
        dir: ../plugins
      sequence:
        - oauth
        - spikearrest
    
  4. Speichern Sie die Konfigurationsdatei.
  5. Laden Sie Edge Microgateway mit dem Befehl reload neu. Sie müssen diesen Befehl in dem Verzeichnis ausführen, in dem Sie Edge Microgateway gestartet haben.
    edgemicro reload -o [org] -e [env] -k [key] -s [secret]
    

    Wobei:

    • org ist der Name Ihrer Edge-Organisation (Sie müssen ein Organisationsadministrator sein).
    • env ist eine Umgebung in Ihrer Organisation (z. B. „test“ oder „prod“).
    • key ist der zuvor vom Befehl „config“ zurückgegebene Schlüssel.
    • secret ist der Schlüssel, der zuvor vom Befehl „config“ zurückgegeben wurde.

    Beispiel

    edgemicro reload -o docs -e test -k 701e70ee718ce6dc188016b3c39177d64a88754d615c74e1f78b6181d
    
  6. Versuchen Sie, die API mehrmals schnell hintereinander aufzurufen. Nach dem zweiten Aufruf gibt Edge Microgateway folgenden Fehler zurück:
    {"message":"SpikeArrest engaged","status":503}
    

Der Grund dafür ist, dass der Spike Arrest die Anzahl der Aufrufe ausgleicht, die in der angegebenen Zeiteinheit erfolgen können. In diesem Fall können Sie also 10 Aufrufe pro Minute oder einen Aufruf alle 6 Sekunden ausführen.

Zusätzliches Guthaben: Kontingent-Plug-in hinzufügen

Nach dem Muster zum Konfigurieren des Spike Arrests können Sie weitere Plug-ins wie das Kontingent-Plug-in hinzufügen. Wie beim Spike Arrest ist das Kontingent-Plug-in in jeder Edge Microgateway-Installation enthalten. Ein Kontingent gibt die Anzahl der Anfragenachrichten an, die eine Anwendung in einem bestimmten Zeitintervall (Minuten oder Stunden) an eine API senden darf.

Teil 6: Analysen in Apigee Edge ansehen

Wir haben jetzt eine voll funktionsfähige Edge Microgateway-Instanz. Lassen Sie uns ansehen, was es so weit gebracht hat! Standardmäßig wird das Analyse-Plug-in-Modul Edge Micro hinzugefügt. Dieses Modul überträgt Analysedaten im Hintergrund von Edge Micro an Apigee Edge, wo sie vom Edge Analytics-System verarbeitet werden. Sehen wir uns Folgendes an:

  1. Melden Sie sich in Apigee Edge in Ihrer Organisation an.
  2. Wählen Sie Analytics > Proxy-Leistung aus.
  3. Wählen Sie im Proxy-Leistungs-Dashboard den Proxy edgemicro_hello aus.
  4. Das Diagramm zeigt Ihnen Informationen zu den Traffic-Mustern des Proxys, z. B. der gesamte Traffic, die durchschnittliche Antwortzeit, die durchschnittliche Zielantwortzeit und mehr.

Weitere Informationen zu Edge Analytics-Dashboards finden Sie auf der Startseite von Analytics-Dashboards in der Edge-Dokumentation. Weitere Informationen zu Plug-ins finden Sie unter Plug-ins verwenden.