Zum Inhalt springen

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:
  • NA: https://services.jitterbit.net/apis
  • EMEA: https://services.jitterbit.eu/apis
  • Asien-Pazifik: https://services.jitterbit.cc/apis
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](trueoderfalse). 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:

  1. Erstellen Sie im Verzeichnis, in dem Docker ausgeführt wird, ein Unterverzeichnis conf. Erstellen Sie darin eine Datei gateway.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=
    
  2. Legen Sie die Variablenwerte wie im vorherigen Beispiel fest.

  3. 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
    
  4. (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:

  1. Erstellen und veröffentlichen Sie im API-Manager in der Organisation, die mit dem privaten API -Gateway verknüpft ist, eine API.

  2. 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-ID 123456, Umfeld URL Präfix development, API Versionsnummer 1 und healthProbe Service-Root, die Service-URL der API wäre https://JBExample123456.jitterbit.net/development/v1/healthProbe in der NA Region.

  3. 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, oder jitterbit.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 von https://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:

  1. Öffnen Sie eine Shell-Sitzung auf einem laufenden Container:

    docker exec -it jitterbit-gateway bash
    
  2. Führen Sie das Selbsttestprogramm aus:

    /usr/bin/jitterbit-api-gateway-config --test