Führen Sie ein privates Jitterbit-API -Gateway auf Docker aus
Einführung
Dieser Abschnitt enthält Beispiele für verschiedene Möglichkeiten zum Ausführen eines privaten API Gateways auf Docker mithilfe des Docker-Image von Jitterbit.
Voraussetzungen
Bevor Sie beginnen, benötigen Sie Folgendes:
-
Docker installiert und ausgeführt.
-
Ein Harmony-Konto sowie dessen Benutzernamen, Passwort und Organisations-ID.
-
Ein gültiger API-Manager API in der Organisation, die mit dem privaten API -Gateway verknüpft ist.
-
Wenn Sie hinter einem Forward-Proxy arbeiten, konfigurieren Sie die Firewall Ihres Hosts so, dass Ausnahmen vom Proxyserver zugelassen werden.
-
(Optional) Für die automatische Generierung von TLS-Zertifikaten eine registrierte benutzerdefinierte Gateway-Domäne und deren vollqualifizierter Domänenname (FQDN) in der Form
mygateway.mydomain.com
.
Interaktiv starten und konfigurieren
Führen Sie Folgendes aus, um den Container zu starten, und reagieren Sie dann auf die Eingabeaufforderungen (die der Linux Installationskonfiguration folgen) Schritte):
docker run --interactive --tty --name=jb-gateway \
--hostname=jb-gateway -p 80:80 -p 443:443 \
jitterbit/private-gateway
Interaktiv starten und konfigurieren mit Bridge-Netzwerk
Führen Sie Folgendes aus, um ein Bridge-Netzwerk zu erstellen und den mit diesem Netzwerk verbundenen Container zu starten. Befolgen Sie dann die Eingabeaufforderungen:
docker network create -d bridge jitterbit
docker run --interactive -tty --name=jb-gateway \
--hostname=jb-gateway -p 80:80 -p 443:443 \
--network=jitterbit \
jitterbit/private-gateway
Ein Bridge-Netzwerk bietet die folgenden Vorteile:
-
Container Discovery: Ermöglicht die direkte Kommunikation über Containernamen und vermeidet die Abhängigkeit von IP-Adressen. Dies vereinfacht die Kommunikation zwischen Containern und ermöglicht privaten Agenten kommunizieren frei mit privaten Gateways.
-
Bessere Isolierung: Bietet eine verbesserte Isolierung und verringert das Risiko versehentlicher Interaktionen zwischen nicht verbundenen Containern.
-
Benutzerdefinierte Konfigurationen: Ermöglicht bestimmte Netzwerkeinstellungen, wie z. B. die Anpassung von Subnetz und Gateway.
-
Netzwerksegmentierung: Erleichtert die Segmentierung des Netzwerkverkehrs und stellt sicher, dass sich Container in verschiedenen Bridge-Netzwerken nicht gegenseitig stören.
-
Netzwerkrichtlinien: Ermöglicht die Anwendung unterschiedlicher Netzwerkregeln oder -richtlinien und bietet eine verbesserte Kontrolle über die Containerkommunikation.
Tipp
Verwenden Sie dasselbe Netzwerk, um Ihre Docker-basierten privaten Agenten auszuführen.
Unbeaufsichtigter Start mit Bridge-Netzwerk und Konfiguration mit Umfeld
Führen Sie Folgendes aus, um ein Bridge-Netzwerk zu erstellen und den Container im getrennten Modus mit über Umfeld bereitgestellten Werten zu starten:
docker network create -d bridge jitterbit
docker run --detach --name=jb-gateway \
--hostname=jb-gateway -p 80:80 -p 443:443 \
--network=jitterbit \
--env "HARMONY_USERNAME=<USERNAME>" \
--env "HARMONY_PASSWORD=<PASSWORD>" \
--env "ORGANIZATION_ID=<ORG_ID>" \
--env "SERVICE_URL=<SERVICE_URL>" \
--env "PROXY_ENABLED=true|false" \
--env "PROXY_HOSTNAME=<PROXY_HOSTNAME>"
--env "PROXY_USERNAME=<PROXY_SERVER_USERNAME>" \
--env "PROXY_PASSWORD=<PROXY_SERVER_PASSWORD>" \
--env "LETS_ENCRYPT_ENABLED=true|false" \
--env "LETS_ENCRYPT_DOMAIN=<DOMAIN>" \
--env "LETS_ENCRYPT_EMAIL=<EMAIL>" \
jitterbit/private-gateway
Legen Sie die Variablenwerte wie folgt fest:
Variable | Beschreibung | Beispiel |
---|---|---|
HARMONY_USERNAME | Anmeldung zum Harmony-Konto. | name@example.com |
HARMONY_PASSWORD | Passwort für Harmony-Konto. | P@5$w0rd |
ORGANIZATION_ID | Harmony Organisations-ID-Nummer. | 12345 |
SERVICE_URL | Jitterbit-Dienst URL für Ihre Region:
| https://services.jitterbit.eu/apis |
PROXY_ENABLED | Proxy aktivieren (true oder false ). | true |
PROXY_HOSTNAME | Proxy-Hostname und Port. | host.docker.internal:12121 |
PROXY_USERNAME | Benutzername des Proxyservers. | $(PROXY_SERVER_USERNAME) |
PROXY_PASSWORD | Proxyserver-Passwort. | $(PROXY_SERVER_PASSWORD) |
LETS_ENCRYPT_ENABLED | Aktivieren[Let's Encrypt ](trueoder false). | true |
LETS_ENCRYPT_DOMAIN | Lassen Sie uns den Domänennamen verschlüsseln. | gateway.mydomain.com |
LETS_ENCRYPT_EMAIL | Lassen Sie uns die Konto-Email verschlüsseln. | youremail@<mydomain>.com |
Unbeaufsichtigter Start und Konfiguration mit einer Umfeld
Führen Sie die folgenden Schritte aus, um den Container im getrennten Modus mit in einer Datei festgelegten Umfeld zu starten:
-
Erstellen Sie im Verzeichnis, in dem Docker ausgeführt wird, ein Unterverzeichnis
conf
. Erstellen Sie darin eine Dateigateway.conf
mit den folgenden Umfeld:conf/gateway.conf## # Jitterbit Private API Gateway Docker configuration # For more information, see https://docs.jitterbit.com/api-gateways/private-api-gateway/docker/ ## ## Jitterbit API Gateway Configuration # # Your Harmony account username. (Usually your email address.) HARMONY_USERNAME= # Your Harmony account password. # IMPORTANT: Follow your shell's quoting and escape rules for passwords with special characters. # Example: 'P@5$w0rD' HARMONY_PASSWORD= # Your Harmony account organization ID. # Example: 12345 ORGANIZATION_ID= # The Jitterbit service URL for your Harmony account region, one of the following: # - For NA: https://services.jitterbit.net/apis # - For EMEA: https://services.jitterbit.eu/apis # - For APAC: https://services.jitterbit.cc/apis SERVICE_URL= ## Proxy Configuration (Optional) # # When true, enable proxy. PROXY_ENABLED=false ## When PROXY_ENABLED=true, uncomment and set the following: # # Proxy server URL, as http://your_proxy_server:port # PROXY_HOSTNAME= # Proxy server username # PROXY_USERNAME= # Proxy server password # PROXY_PASSWORD= ## Let's Encrypt certificates # When true, enable automatic generation of TLS certificate. # IMPORTANT: You must first create a DNS record pointing to the public IP address of your server. LETS_ENCRYPT_ENABLED=true # Fully-qualified domain name of your server, matching the A record or CNAME of the DNS record. # Example: gateway.mydomain.com LETS_ENCRYPT_DOMAIN= # Used by Lets Encrypt to issue the certificate. (Usually your email address.) LETS_ENCRYPT_EMAIL=
-
Legen Sie die Variablenwerte wie im vorherigen Beispiel fest.
-
Führen Sie den folgenden Befehl aus:
docker run --detach --name=jb-gateway -p 80:80 -p 443:443 \ -v "$(pwd)/conf:/conf" \ jitterbit/private-gateway
-
(Optional) Test das Gateway.
Prüfen
Sie können ein laufendes privates Docker API Gateway mit einem Integritätscheck testen oder das Selbsttest-Dienstprogramm.
Gesundheitscheck
Um sicherzustellen, dass ein privates API Gateway wie erwartet funktioniert, testen Sie zuerst die Service URL einer API-Manager API mithilfe des Cloud-Gateways und testen Sie dann die URL des privaten API Gateways für denselben Endpoint:
-
Erstellen und veröffentlichen Sie im API-Manager in der Organisation, die mit dem privaten API -Gateway verknüpft ist, eine API.
-
Senden Sie mithilfe eines API Testtools oder-Befehls eine HTTPS-GET-Anfrage an die Service-URL der API.
Zum Beispiel für den Namen der Organisation
JBExample
, Organisations-ID123456
, Umfeld URL Präfixdevelopment
, API Versionsnummer 1 undhealthProbe
Service-Root, die Service-URL der API wärehttps://JBExample123456.jitterbit.net/development/v1/healthProbe
in der NA Region. -
Führen Sie den Anruf erneut durch, ersetzen Sie jedoch den Namen und die ID Ihrer Organisation sowie den Domänennamen der Harmony-Region (
jitterbit.net
,jitterbit.cc
, oderjitterbit.eu
) mit der Subdomäne und Domäne Ihres Gateways.Verwenden Sie das vorherige Beispiel mit einer Gatewaydomäne von
mysubdomain.example.com
ergibt eine private API Gateway-URL vonhttps://mysubdomain.example.com/development/v1/healthProbe
.
Selbsttest-Dienstprogramm
Das integrierte Selbsttestprogramm des Gateways führt eine Reihe automatischer Tests durch, darunter das Importieren eines integrierten Projekts und einer API und das anschließende Aufrufen der API über das Gateway, um eine ordnungsgemäße Konfiguration sicherzustellen.
Die API wird mit aktivierter Option Nur SSL erstellt. Dies bedeutet, dass der Zugriff auf die private API Gateway URL nur über HTTPS getestet wird. Um den Zugriff über HTTP zuzulassen, können Sie die Option Nur SSL in der API Konfiguration deaktivieren, nachdem die Test-API erstellt wurde.
Damit der Selbsttest erfolgreich ist, muss in Ihrem Abonnement eine API URL verfügbar sein.
Um das Selbsttestprogramm auszuführen, führen Sie diese Schritte aus:
-
Öffnen Sie eine Shell-Sitzung auf einem laufenden Container:
docker exec -it jitterbit-gateway bash
-
Führen Sie das Selbsttestprogramm aus:
/usr/bin/jitterbit-api-gateway-config --test