Umgebungen konfigurieren und bereitstellen

Diese Seite gilt für Apigee und Apigee Hybrid.

Apigee Edge-Dokumentation aufrufen

Eine Umgebung ist ein Laufzeitausführungskontext für die API-Proxys und freigegebenen Abläufe, die Sie bereitstellen möchten. Sie müssen Ihre API-Proxys und freigegebenen Abläufe in einer oder mehreren Umgebungen bereitstellen, bevor auf sie zugegriffen werden kann. Weitere Informationen zu Umgebungen finden Sie unter Umgebungen und Umgebungsgruppen.

Konfigurieren und stellen Sie Umgebungen bereit, wie in den folgenden Abschnitten beschrieben. Weitere Informationen finden Sie unter Ordner und Dateien in einem Apigee-Arbeitsbereich verwalten.

Umgebung konfigurieren

Bevor Sie eine Umgebung bereitstellen, müssen Sie sie so konfigurieren, dass die API-Proxys und freigegebenen Abläufe angegeben werden, die Sie bereitstellen möchten, und dabei nach Bedarf gemeinsam genutzte Hooks oder Zielserver konfigurieren.

Zum Konfigurieren einer Umgebung erstellen Sie die Umgebung und bearbeiten Sie die in der folgenden Tabelle definierte Konfiguration.

Konfiguration Beschreibung
Fehler in Masken beheben (debugmasks.json) Definieren Sie Maskenkonfigurationen, um bestimmte Daten in Trace- und Debug-Sitzungen zu maskieren.
Deployments (deployments.json) API-Proxys und freigegebene Abläufe in Ihrer Bereitstellung definieren
Ablauf-Hooks (flowhooks.json) Sie können freigegebene Abläufe an Flow-Hooks anhängen, damit sie für alle in der Umgebung bereitgestellten API-Proxys an derselben Stelle ausgeführt werden.
Zielserver (targetservers.json) Trennen Sie Ihre konkreten Endpunkte von den Zielendpunkten, um Load-Balancing und Failover über mehrere Backend-Serverinstanzen hinweg zu ermöglichen.
Schlüsselspeicher (keystores.json) Fügen Sie Ihren Zielendpunkten und Zielservern TLS-Unterstützung hinzu.

Wenn Sie Richtlinien verwenden, die Ressourcen erfordern, können Sie nach Bedarf Ressourcen auf der Umgebung verwalten.

Umgebung erstellen

So erstellen Sie eine Umgebung in Apigee in Cloud Code:

  1. Führen Sie eine der folgenden Aktionen aus:

    • Bewegen Sie den Mauszeiger über den Ordner environments im Apigee-Bereich und klicken Sie auf Symbol "Erstellen".

      + wird angezeigt, wenn Sie den Mauszeiger über den Ordner "environments" halten.

    • Klicken Sie auf Ansicht > Befehlspalette, um die Befehlspalette zu öffnen, und wählen Sie Cloud Code: Create Apigee environment aus.

    Der Assistent zum Erstellen einer Umgebung wird geöffnet.

  2. Geben Sie einen Namen für die Umgebung ein und drücken Sie die Eingabetaste.

Die Umgebung wird zum Ordner environments im Apigee-Bereich hinzugefügt, wie in der folgenden Abbildung dargestellt.

Umgebungsordner mit deployments.json, flowhooks.json und targetservers.json

Konfigurieren Sie die Umgebung wie in den folgenden Abschnitten beschrieben.

Debugging-Masken konfigurieren (debugmask.json)

Mit Apigee können Sie Maskenkonfigurationen definieren, um bestimmte Daten in Trace- und Debug-Sitzungen zu maskieren. Wenn Daten maskiert werden, werden sie in der Trace-Ausgabe durch Sternchen ersetzt. Beispiel:

<description>**********</description>

Weitere Informationen finden Sie unter Vertrauliche Daten maskieren.

Um die Masken zu konfigurieren, aktualisieren Sie die Datei debugmask.json, indem Sie die Datei direkt bearbeiten.

Im Folgenden finden Sie ein Beispiel für die grundlegende Struktur einer Maskenkonfiguration im JSON-Format. Weitere Informationen zu den im Beispiel gezeigten Maskenkonfigurationsfeldern finden Sie unter DebugMask.

{
  "namespaces": {
    "myco": "https://example.com"
  },
  "requestXPaths": [
    "/myco:Greeting/myco:User"
  ],
  "responseXPaths": [
    "/myco:Greeting/myco:User"
  ],
  "faultXPaths": [
    "/myco:Greeting/myco:User"
  ],
  "requestJSONPaths": [
    "$.store.book[].author"
  ],
  "responseJSONPaths": [
    "$.store.book[].author"
  ],
  "faultJSONPaths": [
    "$.store.book[*].author"
  ],
  "variables": [
    "request.header.user-agent",
    "request.formparam.password"
  ]
}

Bereitstellungen konfigurieren (deployments.json)

Konfigurieren Sie die API-Proxys und freigegebenen Abläufe, die in die Bereitstellung einbezogen werden sollen.

Wenn Sie die Bereitstellungen konfigurieren möchten, aktualisieren Sie die Datei deployments.json mit dem unten beschriebenen Konfigurationsassistenten oder bearbeiten Sie die Datei direkt.

So konfigurieren Sie die Bereitstellungen mit dem Konfigurationsassistenten:

  1. Bewegen Sie den Mauszeiger auf die Datei deployments.json für die Umgebung und klicken Sie auf Assistentensymbol.

    Einstellungssymbol wird angezeigt, wenn Sie den Cursor auf den Ordner &quot;deployments.json&quot; positionieren.

  2. Führen Sie die Schritte des Konfigurationsassistenten aus, um in der Datei deployments.json die Bereitstellungen auszuwählen und Felder automatisch auszufüllen.
    Die Datei deployments.json wird im Dateieditor geöffnet.

  3. Bearbeiten Sie die Konfiguration nach Bedarf.

  4. Wählen Sie Datei > Speichern oder ⌘S aus, um Ihre Änderungen zu speichern.

Im folgenden Beispiel wird die Bereitstellung so konfiguriert, dass sie den API-Proxy helloworld und die freigegebenen Abläufe mysharedflow und hw-sharedflow enthält:

{
  "proxies" : [
     "helloworld"
  ],
  "sharedflows" : [
     "mysharedflow",
     "hw-sharedflow"
  ]
}

Dienstkonten mit Bereitstellungen mit Proxy bzw. freigegebenem Ablauf konfigurieren

API-Proxys, die von einem Google-Dienst als Backend abhängen, erfordern möglicherweise ein Google Cloud-Dienstkonto, um mit der Bereitstellung verknüpft zu werden. Siehe Google-Authentifizierung verwenden.

Beim Bearbeiten der Datei deployments.json können Sie den API-Proxy oder den freigegebenen Ablauf mit einem Google Cloud-Dienstkonto verknüpfen. Beispiel:

{
  "name": "proxy-name",
  "serviceAccount": "associated-service-account"
}

Das folgende Beispiel zeigt eine Bereitstellungskonfiguration, bei der Dienstkonten mit dem API-Proxy helloworld und dem freigegebenen Ablauf mysharedflow verknüpft sind. Der Proxy healthcheck und der freigegebene Ablauf hw-sharedflow sind jedoch nicht mit einem Dienstkonto verknüpft:

{
  "proxies": [
    {
      "name": "helloworld",
      "serviceAccount": "myserviceaccount@myorg.iam.gserviceaccount.com"
    },
    "healthcheck"
  ],
  "sharedflows": [
    {
      "name": "mysharedflow",
      "serviceAccount": "myserviceaccount@myorg.iam.gserviceaccount.com"
    },
    "hw-sharedflow"
  ]
}

Sehen Sie sich Apigee Emulator konfigurieren an, um die Authentifizierungsfeatures von Dienstkonten in Ihrem API-Proxy zu testen.

Freigegebene Abläufe mit Ablauf-Hooks (flowhooks.json) anhängen

Mit einem Ablauf-Hook hängen Sie einen freigegebenen Ablauf an, sodass dieser für alle API-Proxys, die in einer bestimmten Umgebung bereitgestellt werden, zentral ausgeführt wird. Dadurch erhalten Sie eine separate implementierte und bereitgestellte Abfolge von Logik, die nicht Teil des Implementierungscodes eines Proxys ist. Insbesondere können Sie einen freigegebenen Ablauf an den folgenden Stellen im API-Proxy-Flow anhängen:

  • Vor der Ausführung eines API-Proxy-Endpunkts (PreProxyFlowHook)
  • Nach der Ausführung des API-Proxy-Endpunkts und unmittelbar vor dem Senden der Antwort an den Client (PostProxyFlowHook)
  • Bevor ein Zielendpunkt ausgeführt wird (PreTargetFlowHook)
  • Nach der Ausführung der Zielantwort (PostTargetFlowHook)

Weitere Informationen zu Fluss-Hooks finden Sie unter Freigegebene Abläufe mit Ablauf-Hooks anhängen.

Wenn Sie freigegebene Abläufe mit Ablauf-Hooks anhängen möchten, aktualisieren Sie die Datei flowhooks.json mit dem Konfigurationsassistenten (siehe unten) oder bearbeiten Sie die Datei direkt.

So konfigurieren Sie die Bereitstellungen mit dem Konfigurationsassistenten:

  1. Bewegen Sie den Mauszeiger über die Datei flowhooks.json für die Umgebung und klicken Sie auf Assistentensymbol.
  2. Führen Sie die Schritte des Konfigurationsassistenten aus, um die freigegebenen Abläufe auszuwählen, die an bestimmten Stellen im API-Proxy-Ablauf angehängt werden sollen, und legen Sie fest, dass die Felder in der Datei flowhooks.json automatisch ausgefüllt werden sollen.
    Die flowhooks.json-Datei wird im Dateieditor geöffnet.
  3. Bearbeiten Sie die Konfiguration nach Bedarf.
  4. Wählen Sie Datei > Speichern oder ⌘S aus, um Ihre Änderungen zu speichern.

Im folgenden Beispiel wird mysharedflow an PreProxyFlowHook angehängt, sodass es vor der Ausführung eines API-Proxy-Endpunkts ausgeführt wird:

{
  "PreProxyFlowHook": {
    "continueOnError": true,
    "sharedFlow": "mysharedflow",
    "description": "Shared enforced before a proxy endpoint executes."
  }  
}

Zielserver (targetservers.json) konfigurieren

Zielserver (TargetServer) entkoppeln Endpunkt-URLs von Zielendpunkten (TargetEndpoint). Anstatt eine konkrete URL in der Konfiguration zu definieren, können Sie einen oder mehrere benannte TargetServer konfigurieren. Verweisen Sie dann in einem TargetEndpoint-HTTPConnection auf den jeweiligen Zielserver.

Weitere Informationen zu Zielservern finden Sie in den folgenden Themen:

Um Zielserver zu konfigurieren, aktualisieren Sie die Datei targetservers.json mit dem unten beschriebenen Konfigurationsassistenten oder bearbeiten Sie die Datei direkt. Eine Beschreibung der Felder in der Datei targetservers.json finden Sie unter Ressource: TargetServer.

So konfigurieren Sie die Zielserver mit dem Konfigurationsassistenten:

  1. Bewegen Sie den Mauszeiger auf die Datei targetservers.json für die Umgebung und klicken Sie auf Assistentensymbol.
  2. Führen Sie die Schritte des Konfigurationsassistenten aus, um den Zielserver zu konfigurieren und Felder in der Datei targetservers.json automatisch auszufüllen. Die Datei targetservers.jsonwird im Dateieditor geöffnet.
  3. Bearbeiten Sie die Konfiguration nach Bedarf.
  4. Wählen Sie Datei > Speichern oder ⌘S aus, um Ihre Änderungen zu speichern.

Im folgenden Beispiel wird ein neuer Zielserver in der Umgebung hinzugefügt:

[
  {
    "enabled": true,
    "description": "My first target server",
    "name": "mytargetserver",
    "host": "localhost",
    "port": 80
  }
]

Im folgenden Beispiel wird ein Zielserver mit gegenseitigem TLS mithilfe von Schlüsselspeichern konfiguriert:

[
    {
        "name": "mtlsserver",
        "host": "mytargetserver.mydomain",
        "port": 443,
        "enabled": true,
        "protocol": "HTTP",
        "tlsInfo": {
            "enabled": true,
            "clientAuthEnabled": true,
            "keyStore": "mykeystore",
            "keyAlias": "mykeyandcert",
            "trustStore": "mytruststore"
        }
    }
]

Schlüsselspeicher (keystores.json) konfigurieren

Schlüsselspeicher definieren Repositories von Sicherheitszertifikaten für die TLS-Verschlüsselung in Zielendpunkten und Zielservern.

Weitere Informationen zur TLS-Konfiguration finden Sie unter Optionen zum Konfigurieren von TLS.

So konfigurieren Sie Schlüsselspeicher:

  1. Öffnen Sie im Editor die Datei keystores.json für die Umgebung. Die Datei enthält zwei Hauptelemente:
    • stores: Eine Zuordnung des Schlüsselspeichernamens und der hinzugefügten Aliasse.
    • references: Eine Zuordnung aller Schlüsselspeicher-Referenznamen und des zugehörigen Schlüsselspeichernamens.
  2. Bearbeiten Sie die Konfiguration nach Bedarf.
  3. Wählen Sie Datei > Speichern oder ⌘S aus, um Ihre Änderungen zu speichern.

Das folgende Beispiel zeigt einen Schlüsselspeicher mykeystore mit zwei Aliassen, mycert-alias und mykeycert-alias:

{
    "stores": {
      "mykeystore": {
        "my-cert-alias": {
          "cert": "/Users/jdoe/testkeys/cert1.pem"
        },
        "my-keycert-alias": {
          "key": "/Users/jdoe/testkeys/key1.pem",
          "cert": "/Users/jdoe/testkeys/cert1.pem"
        }
      }
    }
  }

Umgebung bereitstellen

Stellen Sie die API-Proxys und freigegebenen Abläufe bereit, die für eine Umgebung konfiguriert sind, damit sie für Tests verfügbar sind.

So stellen Sie eine Umgebung bereit:

  1. Positionieren Sie den Cursor im Apigee-Bereich über dem Ordner der Umgebung, die Sie bereitstellen möchten.
  2. Klicken Sie auf Symbol &quot;Bereitstellen&quot;.

    Symbol &quot;Bereitstellen&quot; wird angezeigt, wenn Sie den Mauszeiger über dem Ordner der Entwicklungsumgebung platzieren

  3. Wenn mehrere Container für den ApigeeEmulator ausgeführt werden, wählen Sie den Container aus, in dem Sie die Umgebung bereitstellen möchten.
  4. Wählen Sie das Test-Bundle aus, das Sie mit der Bereitstellung exportieren möchten, oder wählen Sie Ohne Test-Bundle bereitstellen aus.

    Grafik: Aufforderung zum Exportieren des Test-Bundles

    Sie können Testressourcen später exportieren, wie unter Testressourcen in den Apigee Emulator exportieren beschrieben.

Die Umgebung wird bereitgestellt und auf dem Tab Output werden folgende Informationen angezeigt:

Environment dev deployed successfully with revision 7

Die bereitgestellten Anwendungen werden wie unten dargestellt im Apigee Emulator angezeigt.

Apigee Emulator mit der bereitgestellten helloworld-Anwendung und aktiven Testressourcen

Tipp

Nun ist es an der Zeit, Ihre API zu testen.