Freigeben über


Konfigurieren von VMware Spring Cloud Gateway

Hinweis

Die Pläne Basic, Standard und Enterprise gelten ab Mitte März 2025 als veraltet und werden über einen Zeitraum von drei Jahren eingestellt. Es wird empfohlen, auf Azure Container Apps umzustellen. Weitere Informationen finden Sie in der Ankündigung zur Einstellung von Azure Spring Apps.

Der Plan Standardverbrauch und dediziert gilt ab dem 30. September 2024 als veraltet und wird nach sechs Monaten vollständig eingestellt. Es wird empfohlen, auf Azure Container Apps umzustellen. Weitere Informationen finden Sie unter Migrieren des Plans „Standardverbrauch und dediziert“ von Azure Spring Apps zu Azure Container Apps.

Dieser Artikel gilt für: ❎ Basic/Standard ✅ Enterprise

In diesem Artikel erfahren Sie, wie Sie VMware Spring Cloud Gateway für VMware Tanzu mit dem Azure Spring Apps Enterprise-Plan konfigurieren.

VMware Spring Cloud Gateway ist eine kommerzielle VMware Tanzu-Komponente, die auf dem Spring Cloud Gateway-Open-Source-Projekt basiert. VMware Spring Cloud Gateway für Tanzu erleichtert die Berücksichtigung übergreifender Aspekte durch API-Entwicklungsteams, z. B. einmaliges Anmelden (SSO), Zugriffssteuerung, Ratenbegrenzung, Resilienz und Sicherheit. Sie können die API-Bereitstellung beschleunigen, indem Sie moderne cloudeigene Muster der Programmiersprache in Ihrer Wahl für die API-Entwicklung verwenden.

Eine VMware Spring Cloud Gateway-Instanz leitet Datenverkehr anhand von Regeln weiter. Sowohl das horizontale Hoch-/Herunterskalieren als auch das zentrale Hoch-/Herunterskalieren werden unterstützt, um einer dynamischen Datenverkehrslast gerecht zu werden.

VMware Spring Cloud Gateway umfasst die folgenden Funktionen:

  • Dynamische Routingkonfiguration, unabhängig von einzelnen Anwendungen, die Sie ohne erneute Kompilierung anwenden und ändern können
  • Kommerzielle API-Routenfilter für den Transport von autorisierten JWT-Ansprüchen (JSON Web Token) an Anwendungsdienste
  • Clientzertifikatautorisierung
  • Ratenbegrenzungsansätze
  • Konfiguration des Trennschalters
  • Unterstützung für den Zugriff auf Anwendungsdienste über HTTP-Standardauthentifizierungsanmeldeinformationen

Für die Integration in das API-Portal für VMware Tanzu generiert VMware Spring Cloud Gateway automatisch eine OpenAPI-Dokumentation der Version 3, nachdem einer Routenkonfiguration etwas hinzugefügt oder darin etwas geändert wurde. Weitere Informationen finden Sie unter Verwenden des API-Portals für VMware Tanzu.

Voraussetzungen

Aktivieren oder Deaktivieren von VMware Spring Cloud Gateway

Sie können VMware Spring Cloud Gateway nach der Erstellung der Dienstinstanz mithilfe des Azure-Portals oder der Azure CLI aktivieren und deaktivieren. Bevor Sie VMware Spring Cloud Gateway deaktivieren, müssen Sie die Zuweisung des zugehörigen Endpunkts aufheben und alle Routenkonfigurationen entfernen.

Führen Sie die folgenden Schritte aus, um VMware Spring Cloud Gateway mithilfe des Azure-Portals zu aktivieren oder zu deaktivieren:

  1. Wechseln Sie zu Ihrer Dienstressource, und wählen Sie Spring Cloud Gateway aus.
  2. Wählen Sie Verwalten aus.
  3. Aktivieren oder deaktivieren Sie das Kontrollkästchen Spring Cloud Gateway aktivieren, und wählen Sie anschließend Speichern aus.

Sie können nun den Status von Spring Cloud Gateway auf der Seite Spring Cloud Gateway einsehen.

Screenshot: Azure-Portal mit der Seite „Spring Cloud Gateway“

Neustart von VMware Spring Cloud Gateway

Nachdem Sie die Neustartaktion abgeschlossen haben, werden VMware Spring Cloud Gateway-Instanzen auf rollierender Basis neu gestartet.

Führen Sie die folgenden Schritte durch, um VMware Spring Cloud Gateway mithilfe des Azure-Portals neu zu starten:

  1. Wechseln Sie zu Ihrer Dienstressource, und wählen Sie Spring Cloud Gateway aus.
  2. Wählen Sie Neu starten aus.
  3. Wählen Sie OK aus, um den Neustart zu bestätigen.

Screenshot: Azure-Portal, auf dem die Seite „Spring Cloud Gateway“ mit der Bestätigungsmeldung zum Neustart des Gateways angezeigt wird

Zuweisen eines öffentlichen Endpunkts zu VMware Spring Cloud Gateway

In diesem Abschnitt wird beschrieben, wie Sie VMware Spring Cloud Gateway einen öffentlichen Endpunkt zuweisen und dessen Eigenschaften konfigurieren.

Führen Sie die folgenden Schritte aus, um im Azure-Portal einen Endpunkt zuzuweisen:

  1. Öffnen Sie Ihre Azure Spring Apps-Instanz.
  2. Wählen Sie im Navigationsbereich Spring Cloud Gateway aus, und wählen Sie dann Übersicht aus.
  3. Legen Sie Endpunkt zuweisen auf Ja fest.

Nach wenigen Minuten wird der konfigurierte Endpunkt in URL angezeigt. Speichern Sie die URL zur späteren Verwendung.

Screenshot: Azure-Portal mit der Übersichtsseite „Spring Cloud Gateway“ mit der Umschaltfläche zum Zuweisen eines Endpunkts

Konfigurieren von VMware Spring Cloud Gateway-Metadaten

VMware Spring Cloud Gateway-Metadaten generieren automatisch eine Dokumentation für OpenAPI-Version 3. Sie können VMware Spring Cloud Gateway-Metadaten konfigurieren, sodass Routengruppen im API-Portal für VMware Tanzu angezeigt werden. Weitere Informationen finden Sie unter Verwenden des API-Portals für VMware Tanzu.

In der folgenden Tabelle werden die verfügbaren Metadatenoptionen beschrieben:

Eigenschaft Beschreibung
title Ein Titel, der den Kontext der APIs beschreibt, die in der VMware Spring Cloud Gateway-Instanz verfügbar sind Der Standardwert ist Spring Cloud Gateway for K8S.
description Eine detaillierte Beschreibung der APIs, die in der VMware Spring Cloud Gateway-Instanz verfügbar sind Der Standardwert ist Generated OpenAPI 3 document that describes the API routes configured for '[Gateway instance name]' Spring Cloud Gateway instance deployed under '[namespace]' namespace.*.
documentation Der Speicherort der API-Dokumentation, die in der VMware Spring Cloud Gateway-Instanz verfügbar ist
version Die Version der APIs, die in dieser VMware Spring Cloud Gateway-Instanz verfügbar sind Der Standardwert ist unspecified.
serverUrl Die Basis-URL für den Zugriff auf APIs in der VMware Spring Cloud Gateway-Instanz Diese Eigenschaft ist obligatorisch, wenn Sie eine Integration in das API-Portal erzielen möchten.

Sie können das Azure-Portal oder die Azure CLI zum Bearbeiten der Metadateneigenschaften verwenden.

Führen Sie die folgenden Schritte aus, um die Metadaten im Azure-Portal zu bearbeiten:

  1. Öffnen Sie Ihre Azure Spring Apps-Instanz.
  2. Wählen Sie im Navigationsbereich Spring Cloud Gateway und dann Konfiguration aus.
  3. Geben Sie Werte für die Eigenschaften, die für die API aufgeführt werden, an.
  4. Wählen Sie Speichern.

Screenshot: Azure-Portal, in dem die Registerkarte „Spring Cloud Gateway-Konfiguration“ angezeigt wird und der Abschnitt „API“ hervorgehoben ist.

Einmaliges Anmelden konfigurieren

VMware Spring Cloud Gateway unterstützt die Authentifizierung und Autorisierung über einmaliges Anmelden (SSO) mit einem OpenID-Identitätsanbieter. Der Anbieter unterstützt das OpenID Connect Discovery-Protokoll. In der folgenden Tabelle werden die SSO-Eigenschaften beschrieben:

Eigenschaft Erforderlich? BESCHREIBUNG
issuerUri Ja Der URI, der als Bezeichner des Ausstellers angegeben wird. Wenn issuerUri beispielsweise https://example.com lautet, wird eine OpenID-Anbieterkonfigurationsanforderung an https://example.com/.well-known/openid-configuration gesendet. Als Ergebnis wird eine OpenID-Anbieterkonfigurationsantwort erwartet.
clientId Ja Die OpenID Connect-Client-ID von Ihrem Identitätsanbieter
clientSecret Ja Der geheime OpenID Connect-Clientschlüssel ihres Identitätsanbieters
scope Ja Eine Liste der Bereiche, die in JWT-Identitätstoken eingeschlossen werden sollen. Diese Liste sollte auf den Bereichen basieren, die Ihr Identitätsanbieter zulässt.

Informationen zum Einrichten von SSO mit Microsoft Entra ID finden Sie unter Einrichten des einmaligen Anmeldens mit Microsoft Entra ID für Spring Cloud Gateway und API-Portal.

Zum Bearbeiten von SSO-Eigenschaften können Sie das Azure-Portal oder die Azure CLI verwenden.

Führen Sie die folgenden Schritte aus, um SSO-Eigenschaften im Azure-Portal zu bearbeiten:

  1. Öffnen Sie Ihre Azure Spring Apps-Instanz.
  2. Wählen Sie im Navigationsbereich Spring Cloud Gateway und dann Konfiguration aus.
  3. Geben Sie Werte für die für SSO aufgeführten Eigenschaften an.
  4. Wählen Sie Speichern.

Screenshot: Azure-Portal, in dem die Registerkarte „Spring Cloud Gateway-Konfiguration“ angezeigt wird und der Abschnitt für einmaliges Anmelden hervorgehobenen ist.

VMware Spring Cloud Gateway unterstützt nur Autorisierungsserver, die das OpenID Connect Discovery-Protokoll unterstützen. Stellen Sie außerdem sicher, dass Sie den externen Autorisierungsserver so konfigurieren, dass Umleitungen zurück an das Gateway zugelassen werden. Ziehen Sie die Dokumentation Ihres Autorisierungsservers zu Rate, und fügen Sie https://<gateway-external-url>/login/oauth2/code/sso der Liste der zulässigen Umleitungs-URIs hinzu.

Wenn Sie die falsche SSO-Eigenschaft konfigurieren, z. B. das falsche Kennwort, sollten Sie die gesamte SSO-Eigenschaft entfernen und dann die richtige Konfiguration hinzufügen.

Denken Sie nach der Konfiguration von SSO daran, ssoEnabled: true für die VMware Spring Cloud Gateway-Routen festzulegen.

Konfigurieren der SSO-Abmeldung

VMware Spring Cloud Gateway-Dienstinstanzen stellen einen Standard-API-Endpunkt zum Abmelden bei der aktuellen SSO-Sitzung bereit. Der Pfad zu diesem Endpunkt lautet /scg-logout. Die Abmeldung führt zu einem der folgenden Ergebnisse, je nachdem, wie der Abmeldeendpunkt aufgerufen wird:

  • Abmeldung bei der Sitzung und Weiterleitung zur Abmeldung beim Identitätsanbieter (IdP)
  • Abmeldung bei der Dienstinstanzsitzung

Abmeldung bei IdP- und SSO-Sitzung

Wenn Sie eine GET-Anforderung an den /scg-logout-Endpunkt senden, sendet der Endpunkt eine 302-Umleitungsantwort an die IdP-Abmelde-URL. Um den Endpunkt dazu zu bringen, den Benutzer oder die Benutzerin zu einem Pfad in der Gatewaydienstinstanz zurückzuleiten, fügen Sie der GET-Anforderung mit dem /scg-logout-Endpunkt einen Umleitungsparameter hinzu. Sie können beispielsweise ${server-url}/scg-logout?redirect=/home verwenden.

Bei dem Wert des Umleitungsparameters muss es sich um einen gültigen Pfad in der VMware Spring Cloud Gateway-Dienstinstanz handeln. Eine Umleitung zu einer externen URL ist nicht zulässig.

Die folgenden Schritte beschreiben ein Beispiel für die Implementierung der Funktion in Ihren Microservices:

  1. Rufen Sie eine Routenkonfiguration ab, um die Abmeldeanforderung an Ihre Anwendung weiterzuleiten. Ein Beispiel finden Sie in der Routenkonfiguration im Repository animal-rescue auf GitHub.

  2. Fügen Sie der Anwendung die gewünschte Abmeldelogik hinzu. Am Ende benötigen Sie eine GET-Anforderung an den /scg-logout-Endpunkt des Gateways, wie im return-Wert für die getActionButton-Methode im Repository animal-rescue gezeigt.

Abmelden nur von der SSO-Sitzung

Wenn Sie die GET-Anforderung unter Verwendung von XMLHttpRequestan den /scg-logout-Endpunkt senden, könnte die 302-Umleitung verschluckt und nicht im Antworthandler behandelt werden. In diesem Fall würde der Benutzer oder die Benutzerin nur von der SSO-Sitzung in der VMware Spring Cloud Gateway-Dienstinstanz abgemeldet. Der Benutzer oder die Benutzerin würde weiterhin über eine gültige IdP-Sitzung verfügen. Wenn der Benutzer oder die Benutzerin erneut versucht, sich anzumelden, wird er bzw. sie in der Regel automatisch vom IdP als authentifiziert an das Gateway zurückgesendet.

Sie müssen eine Routenkonfiguration haben, um die Abmeldeanforderung an Ihre Anwendung weiterleiten zu können, wie im folgenden Beispiel gezeigt. Mit diesem Code wird eine SSO-Sitzung nur für die Gatewayabmeldung erstellt.

const req = new XMLHttpRequest();
req.open("GET", "/scg-logout);
req.send();

Konfigurieren der Ressourcenfreigabe zwischen verschiedenen Ursprüngen

Die ressourcenübergreifende Ressourcenfreigabe (Cross-Origin Resource Sharing, CORS) ermöglicht es, dass eingeschränkte Ressourcen auf einer Webseite von einer anderen Domäne außerhalb der Domäne, von der aus die erste Ressource bereitgestellt wurde, angefordert werden können. In der folgenden Tabelle werden die verfügbaren CORS-Konfigurationsoptionen beschrieben.

Eigenschaft Beschreibung
allowedOrigins Zulässige Ursprünge für websiteübergreifende Anforderungen
allowedOriginPatterns Zulässige Ursprungsmuster für websiteübergreifende Anforderungen
allowedMethods Zulässige HTTP-Methoden für websiteübergreifende Anforderungen
allowedHeaders Zulässige Header in websiteübergreifenden Anforderungen
maxAge Dauer (in Sekunden), über die Clients die Antwort einer Vorabanforderung zwischenspeichern können
allowCredentials Ob Benutzeranmeldeinformationen für websiteübergreifende Anforderungen unterstützt werden
exposedHeaders HTTP-Antwortheader, die für websiteübergreifende Anforderungen verfügbar gemacht werden sollen

Vergewissern Sie sich, dass Sie über die richtige CORS-Konfiguration verfügen, wenn eine Integration in das API-Portal gewünscht ist. Weitere Informationen finden Sie im Abschnitt Zuweisen eines öffentlichen Endpunkts zu VMware Spring Cloud Gateway.

Verwenden der Dienstskalierung

Sie können die Ressourcenzuordnung für VMware Spring Cloud Gateway-Instanzen anpassen, einschließlich vCPU, Arbeitsspeicher und Instanzenanzahl.

Um Hochverfügbarkeit zu gewährleisten, wird die Verwendung eines einzelnen Replikats nicht empfohlen.

In der folgenden Tabelle wird die Standardressourcennutzung beschrieben.

Komponentenname Anzahl von Instanzen vCPU pro Instanz Arbeitsspeicher pro Instanz
VMware Spring Cloud Gateway 2 1 Kern 2 GiB
VMware Spring Cloud Gateway-Operator 2 1 Kern 2 GiB

Konfigurieren von TLS zwischen Gateway und Anwendungen

Um die Sicherheit zu erhöhen und sensible Informationen vor dem Abfangen durch Unbefugte zu schützen, können Sie Transport Layer Security (TLS) zwischen VMware Spring Cloud Gateway und Ihren Anwendungen aktivieren.

Bevor Sie TLS konfigurieren können, müssen Sie über eine TLS-fähige Anwendung und ein TLS-Zertifikat verfügen. Um ein TLS-Zertifikat vorzubereiten, generieren Sie ein Zertifikat von einer vertrauenswürdigen Zertifizierungsstelle (ZS). Das Zertifikat verifiziert die Identität des Servers und stellt eine sichere Verbindung her.

Nachdem Sie eine TLS-fähige Anwendung haben, die in Azure Spring Apps ausgeführt wird, laden Sie das Zertifikat in Azure Spring Apps hoch. Weitere Informationen finden Sie im Abschnitt Importieren eines Zertifikats von Verwendung von TLS/SSL-Zertifikaten in Ihrer Anwendung in Azure Spring Apps.

Nachdem das Zertifikat in Azure Spring Apps aktualisiert wurde, können Sie das TLS-Zertifikat für das Gateway konfigurieren und die Zertifikatüberprüfung aktivieren. Sie können das Zertifikat im Azure-Portal oder mithilfe der Azure CLI konfigurieren.

Führen Sie die folgenden Schritte aus, um das Zertifikat im Azure-Portal zu konfigurieren:

  1. Wählen Sie in Ihrer Azure Spring Apps-Instanz im Navigationsbereich Spring Cloud Gateway aus.
  2. Wählen Sie auf der Seite Spring Cloud Gateway die Option Zertifikatverwaltung aus.
  3. Wählen Sie Zertifikatüberprüfung aktivieren aus.
  4. Wählen Sie das TLS-Zertifikat in Zertifikate aus.
  5. Wählen Sie Speichern.

Die Aktualisierung der Konfiguration kann einige Minuten dauern. Sie sollten eine Benachrichtigung erhalten, wenn die Konfiguration abgeschlossen ist.

Vorbereiten der Routenkonfiguration

Sie müssen das Protokoll in der Routenkonfiguration als HTTPS angeben. Das folgende JSON-Objekt weist VMware Spring Cloud Gateway an, das HTTPS-Protokoll für den gesamten Datenverkehr zwischen dem Gateway und der App zu verwenden.

  1. Erstellen Sie eine Datei namens test-tls-route.json mit dem folgenden Inhalt:

    {
        "routes": [
          {
            "title": "Test TLS app",
            "predicates": [
              "Path=/path/to/your/app",
              "Method=GET"
            ]
          }
         ],
        "uri": "https://<app-custom-domain-name>"
    }
    
  2. Verwenden Sie den folgenden Befehl, um die Regel auf die Anwendung anzuwenden:

    az spring gateway route-config create \
        --resource-group <resource-group-name> \
        --service <Azure-Spring-Apps-instance-name> \
        --name test-tls-app \
        --routes-file test-tls-route.json
    

Sie können jetzt testen, ob die Anwendung mit dem Endpunkt des Gateways TLS-fähig ist. Weitere Informationen finden Sie im Abschnitt Konfigurieren von Routen von Verwenden von Spring Cloud Gateway.

Rotieren von Zertifikaten

Da Zertifikate ablaufen, müssen Sie Zertifikate in VMware Spring Cloud Gateway mithilfe der folgenden Schritte rotieren:

  1. Generieren Sie neue Zertifikate von einer vertrauenswürdigen Zertifizierungsstelle.
  2. Importieren Sie die Zertifikate in Azure Spring Apps. Weitere Informationen finden Sie im Abschnitt Importieren eines Zertifikats von Verwendung von TLS/SSL-Zertifikaten in Ihrer Anwendung in Azure Spring Apps.
  3. Synchronisieren Sie die Zertifikate mithilfe des Azure-Portals oder der Azure CLI.

VMware Spring Cloud Gateway wird neu gestartet, um sicherzustellen, dass das Gateway das neue Zertifikat für alle Verbindungen verwendet.

Führen Sie die folgenden Schritte aus, um Zertifikate zu synchronisieren:

  1. Wählen Sie in Ihrer Azure Spring Apps-Instanz im Navigationsbereich Spring Cloud Gateway aus.
  2. Wählen Sie auf der Seite Spring Cloud Gateway die Option Neu starten aus, und bestätigen Sie den Vorgang.

Einstellungen für die Autoskalierung festlegen

Sie können Autoskalierungsmodi für VMware Spring Cloud Gateway festlegen.

In der folgenden Liste sind die Optionen aufgeführt, die für die Verwaltung des Autoskalierungsbedarfs verfügbar sind:

  • Mit der Option Manuelle Skalierung wird eine feste Anzahl von Instanzen beibehalten. Sie können auf maximal 10 Instanzen aufskalieren. Dieser Wert ändert die Anzahl separat ausgeführter Instanzen von Spring Cloud Gateway.
  • Die Option Benutzerdefinierte Autoskalierung skaliert in jedem Zeitplan basierend auf allen Metriken.

Wählen Sie im Azure-Portal aus, wie Sie skalieren möchten. Im folgenden Screenshot sind die Option Benutzerdefinierte Autoskalierung und Moduseinstellungen dargestellt:

Screenshot: Azure-Portal mit der Seite „Autoskalierungseinstellung“ und der hervorgehobenen Option „Benutzerdefinierte Autoskalierung“

Weitere Informationen zu den verfügbaren Metriken finden Sie im Abschnitt Benutzermetrikoptionen unter Metriken für Azure Spring Apps.

Konfigurieren des Antwortcaches

Die Konfiguration des Antwortcaches bietet eine Möglichkeit, einen HTTP-Antwortcache zu definieren, der global oder auf Routenebene angewendet werden kann.

Globales Aktivieren des Antwortcaches

Nachdem Sie den Antwortcache global aktiviert haben, wird dieser automatisch für alle anwendbaren Routen aktiviert.

Führen Sie die folgenden Schritte aus, um den Antwortcache global zu aktivieren:

  1. Wählen Sie in Ihrer Azure Spring Apps-Instanz im Navigationsbereich Spring Cloud Gateway aus.
  2. Wählen Sie auf der Seite Spring Cloud Gateway die Option Konfiguration aus.
  3. Wählen Sie im Abschnitt Antwortcache die Option Antwortcache aktivieren aus, und legen Sie Bereich auf Instanz fest.
  4. Legen Sie Größe und Gültigkeitsdauer für den Antwortcache fest.
  5. Wählen Sie Speichern.

Führen Sie die folgenden Schritte aus, um den Antwortcache zu deaktivieren:

  1. Wählen Sie in Ihrer Azure Spring Apps-Instanz im Navigationsbereich Spring Cloud Gateway aus.
  2. Wählen Sie auf der Seite Spring Cloud Gateway die Option Konfiguration aus.
  3. Deaktivieren Sie im Abschnitt Antwortcache die Option Antwortcache aktivieren.
  4. Wählen Sie Speichern.

Aktivieren des Antwortcaches auf Routenebene

Um den Antwortcache für jede Route zu aktivieren, verwenden Sie den LocalResponseCache-Filter. Das folgende Beispiel zeigt, wie Sie den LocalResponseCache-Filter in der Routingregelkonfiguration verwenden:

{
   "filters": [
      "<other-app-level-filter-of-route>",
   ],
   "routes": [
      {
        "predicates": [
            "Path=/api/**",
            "Method=GET"
         ],
         "filters": [
            "<other-filter-of-route>",
            "LocalResponseCache=3m, 1MB"
         ],
      }
   ]
}

Weitere Informationen finden Sie im Abschnitt LocalResponseCache unter Verwendung von VMware Spring Cloud Gateway-Routenfiltern mit dem Azure Spring Apps Enterprise-Plan und LocalResponseCache in der VMware-Dokumentation.

Anstatt size und timeToLive für jeden LocalResponseCache-Filter einzeln zu konfigurieren, können Sie diese Parameter auf Spring Cloud Gateway-Ebene festlegen. Mit dieser Option können Sie den LocalResponseCache-Filter verwenden, ohne diese Werte anfangs anzugeben, und gleichzeitig die Flexibilität behalten, sie später außer Kraft zu setzen.

Führen Sie die folgenden Schritte aus, um den Antwortcache auf Routenebene zu aktivieren und size sowie timeToLive festzulegen:

  1. Wählen Sie in Ihrer Azure Spring Apps-Instanz im Navigationsbereich Spring Cloud Gateway aus.
  2. Wählen Sie auf der Seite Spring Cloud Gateway die Option Konfiguration aus.
  3. Wählen Sie im Abschnitt Antwortcache die Option Antwortcache aktivieren aus, und legen Sie Bereich auf Route fest.
  4. Legen Sie Größe und Gültigkeitsdauer für den Antwortcache fest.
  5. Wählen Sie Speichern.

Führen Sie die folgenden Schritte aus, um den Antwortcache auf Routenebene zu deaktivieren und dadurch size und timeToLive zu löschen:

  1. Wählen Sie in Ihrer Azure Spring Apps-Instanz im Navigationsbereich Spring Cloud Gateway aus.
  2. Wählen Sie auf der Seite Spring Cloud Gateway die Option Konfiguration aus.
  3. Deaktivieren Sie im Abschnitt Antwortcache die Option Antwortcache aktivieren.
  4. Wählen Sie Speichern.

Das folgende Beispiel zeigt, wie Sie den LocalResponseCache-Filter verwenden, wenn size und timeToLive auf der Spring Cloud Gateway-Ebene festgelegt werden:

{
   "filters": [
      "<other-app-level-filter-of-route>",
   ],
   "routes": [
      {
        "predicates": [
            "Path=/api/path1/**",
            "Method=GET"
         ],
         "filters": [
            "<other-filter-of-route>",
            "LocalResponseCache"
         ],
      },
      {
        "predicates": [
            "Path=/api/path2/**",
            "Method=GET"
         ],
         "filters": [
            "<other-filter-of-route>",
            "LocalResponseCache=3m, 1MB"
         ],
      }
   ]
}

Konfigurieren von Umgebungsvariablen

Der Azure Spring Apps-Dienst verwaltet und optimiert VMware Spring Cloud Gateway. Mit Ausnahme der Anwendungsfälle, in denen die Überwachung der Anwendungsleistung (Application Performance Monitoring, APM) und der Protokolliergrad konfiguriert werden, müssen Sie VMware Spring Cloud Gateway normalerweise nicht mit Umgebungsvariablen konfigurieren.

Wenn Sie über Anforderungen verfügen, die von anderen in diesem Artikel beschriebenen Konfigurationen nicht erfüllt werden können, können Sie versuchen, die in der Liste der allgemeinen Anwendungseigenschaften aufgeführten Umgebungsvariablen zu konfigurieren. Stellen Sie sicher, dass Sie Ihre Konfiguration in Ihrer Testumgebung überprüfen, bevor Sie sie in Ihrer Produktionsumgebung anwenden.

Führen Sie die folgenden Schritte aus, um Umgebungsvariablen im Azure-Portal zu konfigurieren:

  1. Wählen Sie in Ihrer Azure Spring Apps-Instanz im Navigationsbereich Spring Cloud Gateway und anschließend Konfiguration aus.
  2. Füllen Sie die Schlüssel-Wert-Paare für die Umgebungsvariablen in den Abschnitten Eigenschaften und Geheime Schlüssel aus. Sie können Variablen mit vertraulichen Informationen im Abschnitt Geheimnisse angeben.
  3. Wählen Sie Speichern aus, um die Änderungen zu speichern.

Nachdem Sie Umgebungsvariablen aktualisiert haben, wird VMware Spring Cloud Gateway neu gestartet.

Konfigurieren der Überwachung der Anwendungsleistung

Um VMware Spring Cloud Gateway zu überwachen, können Sie die APM konfigurieren. In der folgenden Tabelle sind die fünf von VMware Spring Cloud Gateway bereitgestellten Typen von APM-Java-Agents zusammen mit den jeweils erforderlichen Umgebungsvariablen aufgeführt.

Java-Agent Erforderliche Umgebungsvariablen
Application Insights APPLICATIONINSIGHTS_CONNECTION_STRING
Dynatrace DT_TENANT
DT_TENANTTOKEN
DT_CONNECTION_POINT
New Relic NEW_RELIC_LICENSE_KEY
NEW_RELIC_APP_NAME
AppDynamics APPDYNAMICS_AGENT_APPLICATION_NAME
APPDYNAMICS_AGENT_TIER_NAME
APPDYNAMICS_AGENT_NODE_NAME
APPDYNAMICS_AGENT_ACCOUNT_NAME
APPDYNAMICS_AGENT_ACCOUNT_ACCESS_KEY
APPDYNAMICS_CONTROLLER_HOST_NAME
APPDYNAMICS_CONTROLLER_SSL_ENABLED
APPDYNAMICS_CONTROLLER_PORT
Elastic APM ELASTIC_APM_SERVICE_NAME
ELASTIC_APM_APPLICATION_PACKAGES
ELASTIC_APM_SERVER_URL

Informationen zu weiteren unterstützten Umgebungsvariablen finden Sie in den folgenden Quellen:

Um die APM-Überwachung in Ihrer VMware Spring Cloud Gateway-Instanz zu aktivieren, können Sie eine APM-Konfiguration auf Dienstinstanzebene erstellen und an Spring Cloud Gateway binden. Auf diese Weise können Sie die APM nur einmal konfigurieren und dieselbe APM an Spring Cloud Gateway sowie an Ihre Apps binden.

Führen Sie die folgenden Schritte aus, um die APM mithilfe des Azure-Portals einzurichten:

  1. Konfigurieren Sie die APM auf Dienstinstanzebene mit dem Namen, dem Typ und den Eigenschaften der APM. Weitere Informationen finden Sie im Abschnitt Verwalten der APMS auf Dienstinstanzebene (empfohlen) unter Konfigurieren von APM-Integration und Zertifizierungsstellenzertifikaten.

    Screenshot: Azure-Portal mit dem Azure Spring Apps APM-Editor

  2. Wählen Sie im Navigationsbereich Spring Cloud Gateway und dann APM aus.

  3. Wählen Sie in der Liste APM-Referenznamen den APM-Namen aus. Die Liste enthält alle in Schritt 1 konfigurierten APM-Namen.

  4. Wählen Sie Speichern aus, um APM-Referenznamen an Spring Cloud Gateway zu binden. Ihr Gateway wird neu gestartet, um die APM-Überwachung zu aktivieren.

Verwalten der APM in VMware Spring Cloud Gateway (veraltet)

Sie können das Azure-Portal oder die Azure CLI verwenden, um die APM in VMware Spring Cloud Gateway einzurichten. Sie können auch die Typen von APM-Java-Agents angeben, die verwendet werden sollen, und die entsprechenden unterstützten APM-Umgebungsvariablen.

Führen Sie die folgenden Schritte aus, um die APM mithilfe des Azure-Portals einzurichten:

  1. Wählen Sie in Ihrer Azure Spring Apps-Instanz im Navigationsbereich Spring Cloud Gateway und anschließend Konfiguration aus.
  2. Wählen Sie den APM-Typ in der Liste APM aus, um ein Gateway zu überwachen.
  3. Füllen Sie die Schlüssel-Wert-Paare für die APM-Umgebungsvariablen in den Abschnitten Eigenschaften und Geheime Schlüssel aus. Sie können Variablen mit vertraulichen Informationen in geheime Schlüssel einfügen.
  4. Wählen Sie Speichern aus, um die Änderungen zu speichern.

Die Aktualisierung der Konfiguration kann einige Minuten dauern. Sie sollten eine Benachrichtigung erhalten, wenn die Konfiguration abgeschlossen ist.

Hinweis

Azure Spring Apps aktualisiert den APM-Agent und bereitgestellte Apps in der gleichen Kadenz, um die Kompatibilität der Agenten zwischen VMware Spring Cloud Gateway und Azure Spring Apps zu gewährleisten.

Standardmäßig gibt Azure Spring Apps die Protokolle des APM-Java-Agent an STDOUT aus. Diese Protokolle sind in den VMware Spring Cloud Gateway-Protokollen enthalten. Sie können die Version des in den Protokollen verwendeten APM-Agent überprüfen. Zur Problembehandlung können Sie diese Protokolle in Log Analytics abfragen.

Damit die APM-Agents ordnungsgemäß funktionieren, erhöhen Sie die CPU und den Arbeitsspeicher von VMware Spring Cloud Gateway.

Konfigurieren von Protokollstufen

Sie können die Protokolliergrade von VMware Spring Cloud Gateway wie folgt konfigurieren, um mehr Details zu erhalten oder die Protokollierung zu reduzieren:

  • Sie können die Protokollgrade auf TRACE, DEBUG, INFO, WARN, ERROR oder OFF festlegen. Der Standardprotokolliergrad für VMware Spring Cloud Gateway lautet INFO.
  • Sie können die Protokollierung deaktivieren, indem Sie die Protokolliergrade auf OFF festlegen.
  • Wenn der Protokolliergrad auf WARN, ERROR oder OFF festgelegt ist, müssen Sie ihn möglicherweise in INFO ändern, wenn Sie Support vom Azure Spring Apps-Team anfordern. Diese Änderung bewirkt einen Neustart von VMware Spring Cloud Gateway.
  • Wenn der Protokolliergrad auf TRACE oder DEBUG festgelegt ist, kann sich dies auf die Leistung von VMware Spring Cloud Gateway auswirken. Versuchen Sie, diese Einstellungen in Ihrer Produktionsumgebung zu vermeiden.
  • Sie können Protokolliergrade für die root-Protokollierung oder bestimmte Protokollierungen wie io.pivotal.spring.cloud.gateway festlegen.

Die folgenden Protokollierungen können wertvolle Informationen zur Problembehandlung auf den Ebenen TRACE und DEBUG enthalten:

Logger Beschreibung
io.pivotal.spring.cloud.gateway Filter und Prädikate, einschließlich benutzerdefinierter Erweiterungen
org.springframework.cloud.gateway API-Gateway
org.springframework.http.server.reactive HTTP-Serverinteraktionen
org.springframework.web.reactive Reaktive API-Gatewayflows
org.springframework.boot.autoconfigure.web Automatische API-Gatewaykonfiguration
org.springframework.security.web Authentifizierungs- und Autorisierungsinformationen
reactor.netty Reactor Netty

Zum Abrufen von Umgebungsvariablenschlüsseln fügen Sie das Präfix logging.level. hinzu, und legen Sie dann den Protokolliergrad fest, indem Sie die Umgebung logging.level.{loggerName}={logLevel}konfigurieren. In den folgenden Beispielen werden die Schritte für das Azure-Portal und die Azure CLI gezeigt.

Führen Sie die folgenden Schritte aus, um Protokolliergrade im Azure-Portal zu konfigurieren:

  1. Wählen Sie in Ihrer Azure Spring Apps-Instanz im Navigationsbereich Spring Cloud Gateway und anschließend Konfiguration aus.
  2. Füllen Sie die Schlüssel-Wert-Paare für die Umgebungsvariablen der Protokolliergrade in den Abschnitten Eigenschaften und Geheime Schlüssel aus. Wenn es sich in Ihrem Fall bei dem Protokolliergrad um eine vertrauliche Information handelt, können Sie diese in den Abschnitt Geheime Schlüssel aufnehmen.
  3. Wählen Sie Speichern aus, um die Änderungen zu speichern.

Screenshot: Azure-Portal mit den Umgebungsvariablen von Spring Cloud Gateway zum Konfigurieren von Protokolliergraden

Update der Add-On-Konfiguration

Mit dem Add-On-Konfigurationsfeature können Sie bestimmte Eigenschaften von VMware Spring Cloud Gateway mithilfe einer JSON-Formatzeichenfolge anpassen. Das Feature ist nützlich, wenn Sie Eigenschaften, die nicht über die REST-API verfügbar gemacht werden, konfigurieren müssen.

Die Add-On-Konfiguration ist ein JSON-Objekt mit Schlüssel-Wert-Paaren, die die gewünschte Konfiguration darstellen. Das folgende Beispiel zeigt die Struktur des JSON-Formats:

{
    "<addon-key-name>": {
        "<addon-key-name>": "<addon-value>"
        ...
    },
    "<addon-key-name>": "<addon-value>",
    ...
}

Die folgende Liste enthält die unterstützten Add-On-Konfigurationen für die Add-On-Schlüsselnamen und Werttypen. Diese Liste kann sich ändern, wenn die VMware Spring Cloud Gateway-Version aktualisiert wird.

  • SSO-Konfiguration:

    • Schlüsselname: sso

    • Werttyp: Objekt

    • Eigenschaften:

      • RolesAttributeName (Zeichenfolge): Gibt den Namen des Attributs an, das die Rollen enthält, die der SSO-Sitzung zugeordnet sind.
      • InactiveSessionExpirationInMinutes (Integer): Gibt die Ablaufzeit für inaktive SSO-Sitzungen in Minuten an. Ein Wert 0 bedeutet, dass die Sitzung nie abläuft.
    • Beispiel:

      {
          "sso": {
              "rolesAttributeName": "roles",
              "inactiveSessionExpirationInMinutes": 1
          }
      }
      
  • Metadatenkonfiguration:

    • Schlüsselname: api

    • Werttyp: Objekt

    • Eigenschaften

      • groupId (Zeichenfolge): Ein eindeutiger Bezeichner für die Gruppe der APIs, die in der VMware Spring Cloud Gateway-Instanz verfügbar sind. Der Wert darf nur Kleinbuchstaben und Zahlen enthalten.
    • Beispiel:

      {
          "api": {
              "groupId": "id1"
          }
      }
      
  • Podkonfiguration

    • Schlüsselname: PodOverrides, der verwendet wird, um Außerkraftsetzungen für die Standardpodkonfiguration anzugeben.

    • Werttyp: Objekt

    • Eigenschaften

      • Containers: Dieses Array enthält die Konfiguration für einzelne Container innerhalb des Pods. Derzeit wird nur der Container gateway unterstützt.
        • Name: Gibt den Namen des Containers an. Der Container sollte gateway benannt werden.
        • Lifecycle: PreStop ist ein Lebenszyklushook, der ausgeführt wird, wenn das Beenden des Containers bevorsteht. Mit diesem Hook können Sie alle erforderlichen Bereinigungen durchführen, bevor der Container beendet wird.
      • TerminationGracePeriodSeconds: Gibt die Zeit an, die Kubernetes wartet, bis ein Pod ordnungsgemäß beendet wird, bevor das Beenden erzwungen wird.
    • Beispiel:

      {
          "PodOverrides": {
              "Containers": [
                  {
                      "Name": "gateway",
                      "Lifecycle": {
                          "PreStop": {
                              "Exec": {
                                  "Command": [
                                      "/bin/sh",
                                      "-c",
                                      "sleep 20"
                                  ]
                              }
                          }
                      }
                  }
              ],
              "TerminationGracePeriodSeconds": 120
          }
      }
      

      Wenn ein Pod, der diesen Container enthält, beendet wird, führt der PreStop-Hook den Befehl /bin/sh -c 'sleep 20' aus, wodurch der Container für 20 Sekunden in den Ruhezustand versetzt wird. Durch diese Pause hat der Container Zeit, um laufende Tasks abzuschließen oder zu bereinigen, bevor er tatsächlich beendet wird.

      Die Einstellung TerminationGracePeriodSeconds gewährt insgesamt 120 Sekunden, damit der Pod ordnungsgemäß beendet wird, einschließlich der Zeit, die von Lebenszyklushooks wie PreStop benötigt wird.

Führen Sie die folgenden Schritte aus, um die Add-On-Konfiguration zu aktualisieren.

  1. Wählen Sie in Ihrer Azure Spring Apps-Instanz im Navigationsbereich Spring Cloud Gateway und anschließend Konfiguration aus.
  2. Geben Sie den JSON-Wert für Add-On-Konfigurationen an.
  3. Wählen Sie Speichern.

Nächste Schritte