Edge Microgateway einrichten und konfigurieren

Sie lesen gerade die Dokumentation zu Apigee Edge.
Apigee X-Dokumentation aufrufen
info

Edge Microgateway v. 3.1.x

Übersicht

Nachdem Sie die Schritte in dieser Einrichtungsanleitung ausgeführt haben, 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 Backend-Ziel senden. Außerdem erfahren Sie, wie Sie dem Microgateway ein Spike-Arrest-Plug-in hinzufügen.

Dieser Leitfaden ist in folgende Abschnitte unterteilt:

Voraussetzung: Edge Microgateway installieren

Folgen Sie der Anleitung unter Edge Microgateway installieren. Nach Abschluss der Installation können Sie die Schritte in dieser Anleitung ausführen.

Teil 1: Edge Microgateway konfigurieren

In diesem Teil konfigurieren Sie Edge Microgateway mit einem Befehlszeilenbefehl (CLI) für die Kommunikation mit Apigee Edge.

Konfigurationsschritte für die Apigee Edge Cloud

So verwenden Sie Edge Microgateway mit Apigee Edge Cloud:

  1. Edge Microgateway initialisieren (dieser Schritt muss nur einmal ausgeführt werden):
    edgemicro init
  2. Eine Konfigurationsdatei mit dem Namen default.yaml wurde in Ihrem Basisverzeichnis in einem Unterverzeichnis mit dem Namen .edgemicro abgelegt. Prüfen Sie jetzt, ob diese Datei vorhanden ist:
    ls ~/.edgemicro
    default.yaml

    Hinweis : In der Edge Microgateway-Dokumentation verweisen wir mit der Tilde (~) auf das Basisverzeichnis. Das ist eine UNIX-Abkürzung. Wenn Sie Windows verwenden und eine Shell ausführen, die die Tilde nicht unterstützt, müssen Sie die entsprechende Umgebungsvariable für die Tilde in Befehlen verwenden, die auf das Home-Verzeichnis verweisen. Beispiel: %USERPROFILE%/.edgemicro.

  3. Alle CLI-Befehle haben eine Hilfefunktion. Geben Sie die Hilfe für den Befehl edgemicro configure aus:
    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: 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 „configure“ ermöglicht zusätzliche Parameter. 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
    

Konfigurationsschritte für Apigee Private Cloud

So verwenden Sie Edge Microgateway mit Apigee Private Cloud:

  1. Edge Microgateway initialisieren (dieser Schritt muss nur einmal ausgeführt werden):
    edgemicro init
  2. Gibt Hilfeinformationen für den Befehl edgemicro private configure aus. So können Sie Hilfe für jeden Edge Microgateway-Befehlszeilenbefehl oder jede Befehlsoption ausgeben.
    edgemicro private configure -h
  3. Führen Sie folgenden Befehl aus: Dazu sind Standardinformationen zu Ihrem Apigee Edge Private Cloud-Konto erforderlich: Organisationsname, Umgebungsname, Nutzername (E-Mail-Adresse), Passwort, IP-Adresse des Verwaltungsservers und IP-Adresse des Routers. 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 E-Mail-Adresse, die mit Ihrem Apigee-Konto verknüpft ist.
    • virtual_host ist eine durch Kommas getrennte Liste von Namen virtueller Hosts. 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 einen Alias für den virtuellen Host mit dem Namen 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 diesen Befehl aus, um die Installation zu überprüfen. Wenn keine Fehler gemeldet werden, ist alles richtig eingerichtet und Sie können Edge Microgateway 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 Schlüssel, der zuvor vom Befehl „configure“ zurückgegeben wurde.
  • secret ist der Schlüssel, der zuvor vom Befehl „configure“ zurückgegeben wurde.

Beispiel

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

Konfiguration

Mit der bisherigen Konfiguration kann Edge Microgateway sich selbst in Apigee Edge einrichten. Nachdem das Bootstrapping erfolgreich war, ruft Edge Microgateway eine Nutzlast mit zusätzlichen Konfigurationsinformationen von Apigee Edge ab.

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

Als Edge-Admin der Organisation sollten Sie wissen, dass Edge Microgateway-kompatible Proxys wie alle anderen Proxys zu Edge-Produkten hinzugefügt werden können. Mithilfe von Produkten und Entwickler-Apps können Sie clientspezifische Sicherheitstokens generieren, um den Zugriff auf APIs zu steuern, die über Edge Microgateway aufgerufen werden. Die verwendeten Muster sind identisch mit denen, die bei der Arbeit mit API-Proxys, Produkten und Entwickler-Apps in Apigee Edge verwendet werden. Wenn Sie mehr über Produkte erfahren möchten, lesen Sie zuerst den Abschnitt 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 die folgenden Entitäten auf Edge:

  • Ein Microgateway-fähiger Proxy: Dies ist ein spezieller Proxy, der von Edge Microgateway beim Start erkannt werden kann. Für Microgateway-kompatible Proxys gilt eine Namenskonvention, die Sie einhalten müssen: Der Name muss mit edgemicro_ beginnen. Beispiel: edgemicro_hello oder edgemicro_userinfo. Wenn Edge Microgateway gestartet wird, ruft es von Edge eine Liste der Microgateway-kompatiblen Proxys aus derselben Edge-Organisation und -Umgebung ab, die Sie beim Starten von Edge Microgateway angegeben haben.

    Für jeden Microgateway-fähigen Proxy ruft Edge Microgateway die Ziel-URL des Proxys und seinen Basispfad ab. Microgateway-fähige Proxys bieten auch eine praktische Möglichkeit, Analysedaten, die von Edge Microgateway generiert werden, einem Proxy auf der Edge-Plattform zuzuordnen. Da das Microgateway API-Aufrufe verarbeitet, werden Analysedaten asynchron an Edge gesendet. Analysedaten werden in der Edge Analytics-Benutzeroberfläche unter dem Namen des Microgateway-kompatiblen Proxys angezeigt, wie bei jedem anderen Proxy.
  • Produkt, Entwickler und Entwickler-App: Edge Microgateway verwendet Produkte, Entwickler und Entwickler-Apps, um die Sicherheit von OAuth2-Zugriffstokens oder API-Schlüsseln zu ermöglichen. Beim Start von Edge Microgateway werden alle Produktkonfigurationen aus Ihrer Apigee Edge-Organisation heruntergeladen. Anhand dieser Informationen werden API-Aufrufe, die über Edge Microgateway mit API-Schlüsseln oder OAuth2-Zugriffstokens erfolgen, überprüft.

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

  1. Melden Sie sich in Ihrer Organisation in Apigee Edge an.
  2. Wählen Sie im seitlichen Navigationsmenü Entwickeln > API-Proxys aus.
  3. Klicken Sie auf + Proxy. Der Assistent zum Erstellen eines Proxys wird aufgerufen.
  4. Wählen Sie auf der ersten Seite des Assistenten Reverse-Proxy (am häufigsten) aus.
  5. Klicken Sie auf Weiter.
  6. Konfigurieren Sie auf der Detailseite des Assistenten Folgendes. Füllen Sie den Assistenten genau wie dargestellt aus:
    • Proxyname: 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) aus.
  9. Klicken Sie auf Weiter.
  10. Übernehmen Sie auf der Seite „Virtuelle Hosts“ des Assistenten die Standardeinstellungen.
  11. Klicken Sie auf Weiter.
  12. Prüfen Sie auf der Seite „Build“ des Assistenten Ihre Proxy-Einstellungen. Achten Sie darauf, dass die Testumgebung 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 „Produktdetails“ so aus:
    • Name:EdgeMicroTestProduct
    • Anzeigename:EdgeMicroTestProduct
    • Umgebung:test und prod
    • Zugriff: Öffentlich
    • Schlüsselfreigabetyp:Automatisch
  4. Klicken Sie unter „Ressourcen“ auf + 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 im nächsten Schritt einen beliebigen vorhandenen Entwickler verwenden, um eine Entwickler-App zu erstellen. Wenn Sie möchten, können Sie 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 dieser App, um sichere API-Aufrufe über Edge Microgateway auszuführen:

  1. Klicken Sie im seitlichen Navigationsmenü auf Veröffentlichen > Apps.
  2. Klicken Sie auf + App. Die Developer App-Detailseite wird angezeigt.
  3. Füllen Sie die Seite „Entwickler-App“ wie unten beschrieben aus:
    1. Name:EdgeMicroTestApp
    2. Anzeigename:EdgeMicroTestApp
    3. Entwickler:Wählen Sie den Testentwickler aus, den Sie erstellt haben. Alternativ können Sie für diese Anleitung einen beliebigen vorhandenen Entwickler verwenden.
    4. Anmeldedaten:
      1. Wählen Sie „Ablaufdatum“ Nie aus.
      2. Klicken Sie auf + Produkt und wählen Sie EdgeMicroTestProduct aus (das Produkt, das Sie gerade erstellt haben).
  4. Klicken Sie auf Speichern.
  5. Sie kehren zur Seite „Liste der Apps“ zurück.
  6. Wählen Sie die gerade erstellte App EdgeMicroTestApp aus.
  7. Klicken Sie neben Consumer-Key und Consumer-Secret auf Anzeigen.

Teil 3: Edge Microgateway betreiben

Nachdem Sie Edge Microgateway konfiguriert und mindestens einen Edge Microgateway-fähigen Proxy in Edge haben, ist es an der Zeit, Edge Microgateway zu starten. Ein Edge Microgateway-HTTP-Server wird auf Ihrem lokalen Computer ausgeführt und Sie führen API-Aufrufe direkt an diesen Server aus.

1. Edge Microgateway starten

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

  1. Sie benötigen die Schlüssel, die zuvor bei der Ausführung des Befehls edgemicro configure zurückgegeben wurden. Die Ausgabe sah in etwa so aus:
    You need key and secret while starting edgemicro instance
    
    key: da4778e7c240a5d4585fc559eaba5083328828bc9f3a7f583e8b73e
    secret: 3aad7439708b4aeb38ee08e82189921ad00e6fc1ba8a8ae9f929ee2
  2. Optional: Hilfeinformationen für den Befehl edgemicro start ausgeben.
    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 Schlüssel, der zuvor vom Befehl „configure“ zurückgegeben wurde.
    • secret ist der Schlüssel, der zuvor vom Befehl „configure“ zurückgegeben wurde.

    Beispiel

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

    Ausgabe

    Mit dem Startbefehl werden viele Konfigurationsinformationen von Apigee Edge abgerufen, die im Terminalfenster angezeigt werden. In der Ausgabe sehen Sie eine Liste der erkannten Microgateway-kompatiblen Proxys und Produkte. Am Ende der Ausgabe sollte Folgendes angezeigt werden:

    ...
    
    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 Microgateways. Wechseln Sie in einem anderen Terminalfenster mit „cd“ in dasselbe Verzeichnis, in dem Sie Edge Micro gestartet haben, und geben Sie diesen 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 Konfigurationsinformationen für Edge Microgateway wird von Apigee Edge heruntergeladen und lokal im Cache gespeichert. Zu diesen Daten gehören:

  • Der öffentliche Schlüssel, den wir zuvor erstellt und in einer verschlüsselten Schlüssel/Wert-Zuordnung (KVM) gespeichert haben.
  • Eine Darstellung aller Edge Microgateway-kompatiblen Proxys, die in der Organisation/Umgebung vorhanden sind. Das sind alle Proxys mit dem Präfix edgemicro_.
  • Eine Darstellung aller API-Produkte, die in der Organisation/Umgebung vorhanden sind.

Anhand dieser Informationen weiß Edge Microgateway, welche Proxys und Proxy-Pfade verarbeitet werden dürfen. Die Produktinformationen werden verwendet, um die Sicherheit zu erzwingen (genau wie bei jedem API-Proxy in Apigee Edge, wo Entwickler-App-Schlüssel mit Produkten verknüpft sind). Die Schritte zum Sichern von Edge Microgateway werden weiter unten erläutert.

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 von Edge heruntergeladen, als Sie Edge Microgateway gestartet haben. Der Proxy-Basispfad ist /hello.

Um Edge Microgateway zu testen, beginnen wir mit dem Basispfad und fügen den Ressourcenpfad /echo hinzu. Alles nach dem Basispfad (einschließlich aller Abfrageparameter) wird einfach an das Backend-Ziel übergeben:

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 kein gültiges Zugriffstoken gesendet haben. Standardmäßig ist für jeden API-Aufruf in Edge Microgateway entweder ein API-Schlüssel oder ein Zugriffstoken erforderlich. Im nächsten Schritt der Anleitung schützen wir diese API richtig und zeigen Ihnen, wie Sie ein gültiges Zugriffstoken erhalten und in die Anfrage einfügen.

4. Edge Microgateway beenden

  1. cd Sie in einem separaten Terminalfenster in dasselbe Verzeichnis, in dem Sie Edge Microgateway gestartet haben.
  2. Geben Sie den Stoppbefehl ein:
    edgemicro stop

Teil 4: Edge Microgateway sichern

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 sichern

So authentifizieren Sie API-Aufrufe mit einem OAuth2-Zugriffstoken:

1. Erforderliche Schlüssel abrufen

  1. Rufen Sie in der Edge-Benutzeroberfläche die zuvor erstellte Entwickler-App auf. Der Name der App war EdgeMicroTestApp.
  2. Lassen Sie auf der Seite „Developer App“ den Consumer-Key und das Consumer-Secret anzeigen und kopieren Sie sie. Diese Werte sind erforderlich, um im nächsten Schritt ein Zugriffstoken zu erhalten.

2. Zugriffstoken anfordern

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

Zugriffstoken über die Befehlszeile abrufen

Die erste Methode ist praktisch und folgt dem Muster, das wir im gesamten Tutorial verwendet haben. Die zweite Methode ist in der Regel nützlicher für Entwickler von Client-Apps, die Tokens anfordern müssen. Der tatsächliche Token-Endpunkt wird im Proxy edgemicro-auth implementiert, der bei der Konfiguration von Edge Microgateway bereitgestellt wurde.

  1. Optional: Rufen Sie die Hilfe zum Befehl token get auf:
    edgemicro token get -h
  2. Generieren Sie das Token und ersetzen Sie die Werte für „Consumer Key“ und „Consumer Secret“ aus der Entwickler-App, die Sie in Apigee Edge erstellt haben, in den Parametern -i und -s:
    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 Verbraucher-ID in der Entwickler-App, die Sie zuvor erstellt haben.
    • consumer_secret ist der Consumerschlüssel in der Entwickler-App, die Sie zuvor erstellt haben.

    Beispiel

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

    Ausgabe (Beispiel)

    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 Edge-Proxys mit curl oder einem anderen HTTP-Client aufrufen, können Sie den Token-Endpunkt direkt aufrufen, anstatt den Befehl edgemicro token zu verwenden. Hier ein curl-Beispiel. Ersetzen Sie einfach die Namen Ihrer Organisation und Umgebung in der URL und übergeben Sie die durch Doppelpunkt getrennten Werte für Consumer-Key:Consumer-Secret in einem Basic-Authentifizierungsheader:

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 Verbraucher-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)

Der Befehl gibt ein signiertes Zugriffstoken zurück, das für Clientaufrufe verwendet werden kann. Das gilt unabhängig davon, ob Sie den CLI-Befehl edgemicro token verwendet oder den Endpunkt mit curl aufgerufen haben. 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, lesen Sie den Abschnitt Wo ist Edge Microgateway installiert?.
  2. Achten Sie darauf, dass diese OAuth-Plug-in-Properties auf false gesetzt sind. Sie sind standardmäßig „false“. Es empfiehlt sich jedoch, Folgendes zu überprüfen:
    oauth:
       allowNoAuthorization: false
       allowInvalidAuthorization: false
  3. Achten Sie auch in der Datei org-env-config.yaml darauf, dass das OAuth-Plug-in dem Element plugins:sequence hinzugefügt wird, wie hier gezeigt:
    plugins:
       dir: ../plugins
       sequence:
       - oauth
  4. Wenn Sie Änderungen an der Datei vornehmen, müssen Sie die Änderungen in die laufende Edge Microgateway-Instanz neu laden. 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 Schlüssel, der zuvor vom Befehl „configure“ zurückgegeben wurde.
    • secret ist der Schlüssel, der zuvor vom Befehl „configure“ zurückgegeben wurde.

    Beispiel

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

4. API sicher aufrufen

Mit einem Zugriffstoken können Sie den API-Aufruf jetzt 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 Mock-Server zurück.

API mit einem API-Schlüssel sichern

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

1. API-Schlüssel abrufen

  1. Rufen Sie in der Edge-Benutzeroberfläche die zuvor erstellte Entwickler-App auf. Der Name der App war EdgeMicroTestApp.
  2. Lassen Sie sich auf der Seite „Entwickler-App“ den Consumer-Key anzeigen und kopieren Sie ihn. Dieser Wert ist der API-Schlüssel. Sie verwenden diesen Schlüssel für authentifizierte API-Aufrufe.

2. Konfiguration in Edge Microgateway prüfen

  1. Öffnen Sie die Datei. $HOME/.edgemicro/org-env-config.yaml. Wenn Sie die Datei nicht finden können, lesen Sie den Abschnitt Wo ist Edge Microgateway installiert?.
  2. Achten Sie darauf, dass diese OAuth-Plug-in-Properties auf false gesetzt sind. Sie sind standardmäßig „false“. Sie können dies aber noch einmal überprüfen:
    oauth:
       allowNoAuthorization: false
       allowInvalidAuthorization: false
  3. Achten Sie auch in der Datei org-env-config.yaml darauf, dass das OAuth-Plug-in dem Element plugins:sequence hinzugefügt wird, wie hier gezeigt:
    plugins:
       dir: ../plugins
       sequence:
       - oauth
        
  4. Wenn Sie Änderungen an der Datei vornehmen, müssen Sie die Änderungen in die laufende Edge Microgateway-Instanz neu laden. 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 Schlüssel, der zuvor vom Befehl „configure“ zurückgegeben wurde.
    • secret ist der Schlüssel, der zuvor vom Befehl „configure“ zurückgegeben wurde.

    Beispiel

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

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

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

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

Wobei:

  • apikey ist der Consumer-Schlüsselwert aus EdgeMicroTestApp.

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 des Tutorials sehen wir uns Plug-ins an, die Edge Microgateway zusätzliche Funktionen hinzufügen.

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

In diesem Teil fügen wir Ihrer Edge Microgateway-Instanz eine Ratenbegrenzungsfunktion namens „Spike Arrest“ hinzu.

Was sind Plug-ins?

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

Spike Arrest-Plug-in hinzufügen

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

In Edge Microgateway wird die Spike-Arrest-Funktion als Plug-in-Modul implementiert. Dazu müssen Sie sie der Edge Microgateway-Konfigurationsdatei hinzufügen.

  1. Öffnen Sie die Datei $HOME/.edgemicro/org-env-config.yaml.Wo ist Edge Microgateway installiert?, wenn Sie diese Datei nicht finden können.
  2. Fügen Sie das folgende Element hinzu. Sie können sie an einer beliebigen Stelle in der Datei einfügen.
       spikearrest:
          timeUnit: minute   
          allow: 10   
          buffersize: 0   
  3. Fügen Sie spikearrest dem edgemicro:sequence-Element hinzu, wie unten dargestellt. Das Attribut „sequence“ gibt die Reihenfolge an, in der die Plug-in-Module von Edge Microgateway 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 Schlüssel, der zuvor vom Befehl „configure“ zurückgegeben wurde.
    • secret ist der Schlüssel, der zuvor vom Befehl „configure“ zurückgegeben wurde.

    Beispiel

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

Der Grund dafür ist, dass durch die Spike-Unterdrückung die Anzahl der Aufrufe, die in der angegebenen Zeiteinheit erfolgen können, geglättet wird. In diesem Fall können Sie also 10 Anrufe pro Minute oder einen Anruf alle 6 Sekunden starten.

Zusätzlicher Schritt: Kontingent-Plug-in hinzufügen

Sie können andere Plug-ins wie das Kontingent-Plug-in hinzufügen, indem Sie dasselbe Muster wie bei der Konfiguration der Spike-Unterdrückung verwenden. Wie bei der Spike-Arrest-Funktion ist das Kontingent-Plug-in in jeder Edge Microgateway-Installation enthalten. Ein Kontingent gibt die Anzahl der Anfragenachrichten an, die eine App in einem bestimmten Zeitintervall (Minuten oder Stunden) an eine API senden darf.

Teil 6: Analytics in Apigee Edge ansehen

Wir haben jetzt eine voll funktionsfähige Edge Microgateway-Instanz. Sehen wir uns an, was sie so macht. Standardmäßig wird das Analytics-Plug-in-Modul Edge Micro hinzugefügt. Dieses Modul überträgt Analysedaten von Edge Micro im Hintergrund an Apigee Edge, wo sie vom Edge Analytics-System verwendet werden. Sehen wir uns das mal an:

  1. Melden Sie sich in Ihrer Organisation in Apigee Edge an.
  2. Wählen Sie Analysen > Proxy-Leistung aus.
  3. Wählen Sie im Proxy-Dashboard zur Leistungsüberwachung den edgemicro_hello-Proxy aus.
  4. Das Diagramm enthält Informationen zu den Traffic-Mustern des Proxys, z. B. den Gesamttraffic, die durchschnittliche Antwortzeit und die durchschnittliche Zielantwortzeit.

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