Udostępnij za pośrednictwem


Konfigurowanie bramy VMware Spring Cloud Gateway

Uwaga

Plany Podstawowa, Standardowa i Enterprise zostaną wycofane od połowy marca 2025 r. z 3-letnim okresem emerytalnym. Zalecamy przejście do usługi Azure Container Apps. Aby uzyskać więcej informacji, zobacz ogłoszenie o wycofaniu usługi Azure Spring Apps.

Zużycie standardowe i dedykowany plan zostaną wycofane od 30 września 2024 r. z całkowitym zamknięciem po sześciu miesiącach. Zalecamy przejście do usługi Azure Container Apps. Aby uzyskać więcej informacji, zobacz Migrowanie użycia usługi Azure Spring Apps w warstwie Standardowa i dedykowanego planu do usługi Azure Container Apps.

Ten artykuł dotyczy:❌ Podstawowa/Standardowa ✔️ Enterprise

W tym artykule pokazano, jak skonfigurować bramę VMware Spring Cloud Gateway dla programu VMware Tanzu przy użyciu planu Usługi Azure Spring Apps Enterprise.

VMware Spring Cloud Gateway to komercyjny składnik VMware Tanzu oparty na projekcie Spring Cloud Gateway typu open source. Usługa VMware Spring Cloud Gateway for Tanzu obsługuje wielociągowe problemy dotyczące zespołów programistycznych interfejsów API, takich jak logowanie jednokrotne, kontrola dostępu, ograniczanie szybkości, odporność i zabezpieczenia. Możesz przyspieszyć dostarczanie interfejsu API przy użyciu nowoczesnych wzorców natywnych dla chmury w wybranym języku programowania na potrzeby tworzenia interfejsu API.

Wystąpienie usługi VMware Spring Cloud Gateway kieruje ruch zgodnie z regułami. Obsługuje skalowanie w/wy i w górę/w dół w celu spełnienia dynamicznego obciążenia ruchu.

Usługa VMware Spring Cloud Gateway obejmuje następujące funkcje:

  • Konfiguracja routingu dynamicznego, niezależna od poszczególnych aplikacji, którą można zastosować i zmienić bez konieczności ponownego komplikowania
  • Filtry tras komercyjnego interfejsu API do transportu autoryzowanych oświadczeń tokenu internetowego JSON (JWT) do usług aplikacji
  • Autoryzacja certyfikatu klienta
  • Podejścia ograniczające szybkość
  • Konfiguracja wyłącznika
  • Obsługa uzyskiwania dostępu do usług aplikacji za pośrednictwem poświadczeń uwierzytelniania podstawowego HTTP

Aby zintegrować się z portalem interfejsu API dla oprogramowania VMware Tanzu, brama VMware Spring Cloud Gateway automatycznie generuje dokumentację interfejsu OpenAPI w wersji 3 po dodaniu lub zmianie konfiguracji trasy. Aby uzyskać więcej informacji, zobacz Use API portal for VMware Tanzu (Korzystanie z portalu interfejsu API dla programu VMware Tanzu).

Wymagania wstępne

Włączanie lub wyłączanie bramy VMware Spring Cloud Gateway

Bramę VMware Spring Cloud Gateway można włączyć lub wyłączyć po utworzeniu wystąpienia usługi przy użyciu witryny Azure Portal lub interfejsu wiersza polecenia platformy Azure. Przed wyłączeniem usługi VMware Spring Cloud Gateway należy cofnąć przypisanie punktu końcowego i usunąć wszystkie konfiguracje tras.

Wykonaj następujące kroki, aby włączyć lub wyłączyć bramę VMware Spring Cloud Gateway przy użyciu witryny Azure Portal:

  1. Przejdź do zasobu usługi, a następnie wybierz pozycję Spring Cloud Gateway.
  2. Zaznacz Zarządzaj.
  3. Zaznacz lub wyczyść pole wyboru Włącz usługę Spring Cloud Gateway , a następnie wybierz pozycję Zapisz.

Teraz możesz wyświetlić stan bramy Spring Cloud Gateway na stronie bramy Spring Cloud Gateway .

Zrzut ekranu witryny Azure Portal przedstawiający stronę Spring Cloud Gateway.

Uruchom ponownie bramę VMware Spring Cloud Gateway

Po zakończeniu akcji ponownego uruchomienia wystąpienia usługi VMware Spring Cloud Gateway są uruchamiane w sposób ciągły.

Wykonaj następujące kroki, aby ponownie uruchomić usługę VMware Spring Cloud Gateway przy użyciu witryny Azure Portal:

  1. Przejdź do zasobu usługi, a następnie wybierz pozycję Spring Cloud Gateway.
  2. Wybierz Uruchom ponownie.
  3. Wybierz przycisk OK , aby potwierdzić ponowne uruchomienie.

Zrzut ekranu witryny Azure Portal przedstawiający stronę Spring Cloud Gateway z komunikatem potwierdzającym o ponownym uruchomieniu bramy.

Przypisywanie publicznego punktu końcowego do bramy VMware Spring Cloud Gateway

W tej sekcji opisano sposób przypisywania publicznego punktu końcowego do bramy VMware Spring Cloud Gateway i konfigurowania jego właściwości.

Aby przypisać punkt końcowy w witrynie Azure Portal, wykonaj następujące czynności:

  1. Otwórz wystąpienie usługi Azure Spring Apps.
  2. Wybierz pozycję Spring Cloud Gateway w okienku nawigacji, a następnie wybierz pozycję Przegląd.
  3. Ustaw pozycję Przypisz punkt końcowy na Wartość Tak.

Po kilku minutach adres URL pokazuje skonfigurowany adres URL punktu końcowego. Zapisz adres URL do późniejszego użycia.

Zrzut ekranu witryny Azure Portal przedstawiający stronę przeglądu usługi Spring Cloud Gateway z przełącznikiem umożliwiającym przypisanie punktu końcowego.

Konfigurowanie metadanych usługi VMware Spring Cloud Gateway

Metadane usługi VMware Spring Cloud Gateway automatycznie generują dokumentację interfejsu OpenAPI w wersji 3. Metadane usługi VMware Spring Cloud Gateway można skonfigurować do wyświetlania grup tras w portalu interfejsu API dla programu VMware Tanzu. Aby uzyskać więcej informacji, zobacz Use API portal for VMware Tanzu (Korzystanie z portalu interfejsu API dla programu VMware Tanzu).

W poniższej tabeli opisano dostępne opcje metadanych:

Właściwości opis
title Tytuł opisujący kontekst interfejsów API dostępnych w wystąpieniu usługi VMware Spring Cloud Gateway. Domyślna wartość to Spring Cloud Gateway for K8S.
description Szczegółowy opis interfejsów API dostępnych w wystąpieniu usługi VMware Spring Cloud Gateway. Domyślna wartość to Generated OpenAPI 3 document that describes the API routes configured for '[Gateway instance name]' Spring Cloud Gateway instance deployed under '[namespace]' namespace.*.
documentation Lokalizacja dokumentacji interfejsu API dostępna w wystąpieniu usługi VMware Spring Cloud Gateway.
version Wersja interfejsów API dostępnych w tym wystąpieniu usługi VMware Spring Cloud Gateway. Domyślna wartość to unspecified.
serverUrl Podstawowy adres URL umożliwiający dostęp do interfejsów API w wystąpieniu usługi VMware Spring Cloud Gateway. Ta właściwość jest obowiązkowa, jeśli chcesz zintegrować z portalem interfejsu API.

Aby edytować właściwości metadanych, możesz użyć witryny Azure Portal lub interfejsu wiersza polecenia platformy Azure.

Aby edytować metadane w witrynie Azure Portal, wykonaj następujące czynności:

  1. Otwórz wystąpienie usługi Azure Spring Apps.
  2. Wybierz pozycję Spring Cloud Gateway w okienku nawigacji, a następnie wybierz pozycję Konfiguracja.
  3. Określ wartości właściwości wymienionych dla interfejsu API.
  4. Wybierz pozycję Zapisz.

Zrzut ekranu witryny Azure Portal przedstawiający kartę Konfiguracji usługi Spring Cloud Gateway z wyróżnioną sekcją interfejsu API.

Konfigurowanie logowania jednokrotnego

Usługa VMware Spring Cloud Gateway obsługuje uwierzytelnianie i autoryzację za pośrednictwem logowania jednokrotnego (SSO) przy użyciu dostawcy tożsamości OpenID. Dostawca obsługuje protokół OpenID Connect Discovery. W poniższej tabeli opisano właściwości logowania jednokrotnego:

Właściwości Wymagany? opis
issuerUri Tak Identyfikator URI, który jest potwierdzany jako jego identyfikator wystawcy. Jeśli na przykład issuerUri to https://example.com, żądanie konfiguracji dostawcy OpenID zostanie wykonane do https://example.com/.well-known/openid-configuration. Oczekuje się, że wynikiem będzie odpowiedź konfiguracji dostawcy OpenID.
clientId Tak Identyfikator klienta OpenID Connect od dostawcy tożsamości.
clientSecret Tak Wpis tajny klienta OpenID Connect od dostawcy tożsamości.
scope Tak Lista zakresów do uwzględnienia w tokenach tożsamości JWT. Ta lista powinna być oparta na zakresach dozwolonych przez dostawcę tożsamości.

Aby skonfigurować logowanie jednokrotne przy użyciu identyfikatora Microsoft Entra ID, zobacz Konfigurowanie logowania jednokrotnego przy użyciu identyfikatora Microsoft Entra ID dla usługi Spring Cloud Gateway i portalu interfejsu API.

Aby edytować właściwości logowania jednokrotnego, możesz użyć witryny Azure Portal lub interfejsu wiersza polecenia platformy Azure.

Aby edytować właściwości logowania jednokrotnego w witrynie Azure Portal, wykonaj następujące kroki:

  1. Otwórz wystąpienie usługi Azure Spring Apps.
  2. Wybierz pozycję Spring Cloud Gateway w okienku nawigacji, a następnie wybierz pozycję Konfiguracja.
  3. Określ wartości właściwości wymienionych dla logowania jednokrotnego.
  4. Wybierz pozycję Zapisz.

Zrzut ekranu witryny Azure Portal przedstawiający kartę Konfiguracji usługi Spring Cloud Gateway z wyróżnioną sekcją dotyczącą logowania jednokrotnego.

Usługa VMware Spring Cloud Gateway obsługuje tylko serwery autoryzacji obsługujące protokół OpenID Connect Discovery. Ponadto należy skonfigurować zewnętrzny serwer autoryzacji, aby zezwolić na przekierowania z powrotem do bramy. Zapoznaj się z dokumentacją serwera autoryzacji i dodaj https://<gateway-external-url>/login/oauth2/code/sso do listy dozwolonych identyfikatorów URI przekierowania.

Jeśli skonfigurujesz nieprawidłową właściwość logowania jednokrotnego, taką jak nieprawidłowe hasło, usuń całą właściwość logowania jednokrotnego, a następnie dodaj poprawną konfigurację.

Po skonfigurowaniu logowania jednokrotnego pamiętaj, aby ustawić ssoEnabled: true trasy bramy VMware Spring Cloud Gateway.

Konfigurowanie logowania jednokrotnego

Wystąpienia usługi VMware Spring Cloud Gateway zapewniają domyślny punkt końcowy interfejsu API do wylogowania się z bieżącej sesji logowania jednokrotnego. Ścieżka do tego punktu końcowego to /scg-logout. Wylogowywanie powoduje jedno z następujących wyników, w zależności od sposobu wywoływania punktu końcowego wylogowywanie:

  • Wyloguj się z sesji i przekieruj do wylogowania dostawcy tożsamości.
  • Wyloguj się z sesji wystąpienia usługi.

Wyloguj się z sesji dostawcy tożsamości i logowania jednokrotnego

Jeśli wyślesz GET żądanie do punktu końcowego /scg-logout , punkt końcowy wyśle odpowiedź przekierowania do adresu URL wylogowywania dostawcy 302 tożsamości. Aby uzyskać punkt końcowy, aby zwrócić użytkownika do ścieżki w wystąpieniu usługi bramy, dodaj parametr przekierowania do GET żądania z /scg-logout punktem końcowym. Możesz na przykład użyć ${server-url}/scg-logout?redirect=/home.

Wartość parametru przekierowania musi być prawidłową ścieżką w wystąpieniu usługi VMware Spring Cloud Gateway. Nie można przekierować do zewnętrznego adresu URL.

W poniższych krokach opisano przykład implementacji funkcji w mikrousługach:

  1. Uzyskaj konfigurację trasy, aby skierować żądanie wylogowania do aplikacji. Aby zapoznać się z przykładem, zobacz konfigurację trasy w repozytorium ratownictwa zwierząt w witrynie GitHub.

  2. Dodaj dowolną logikę wylogowywanie do aplikacji. Na końcu potrzebne jest GET żądanie do punktu końcowego bramy /scg-logout , jak pokazano w return wartości getActionButton metody w repozytorium animal-rescue .

Wyloguj się tylko z sesji logowania jednokrotnego

Jeśli wyślesz GET żądanie do punktu końcowego /scg-logout przy użyciu polecenia XMLHttpRequest, 302 przekierowanie może zostać połykane i nie jest obsługiwane w procedurze obsługi odpowiedzi. W takim przypadku użytkownik zostanie wylogowany tylko z sesji logowania jednokrotnego w wystąpieniu usługi VMware Spring Cloud Gateway. Użytkownik nadal będzie miał prawidłową sesję dostawcy tożsamości. Zazwyczaj jeśli użytkownik spróbuje zalogować się ponownie, jest on automatycznie wysyłany z powrotem do bramy jako uwierzytelniony z dostawcy tożsamości.

Musisz mieć konfigurację trasy, aby skierować żądanie wylogowania do aplikacji, jak pokazano w poniższym przykładzie. Ten kod sprawia, że sesja logowania jednokrotnego tylko dla bramy.

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

Konfigurowanie współużytkowania zasobów między źródłami

Współużytkowanie zasobów między źródłami (CORS) umożliwia zażądanie zasobów ograniczonych na stronie internetowej z innej domeny spoza domeny, z której był obsługiwany pierwszy zasób. W poniższej tabeli opisano dostępne opcje konfiguracji mechanizmu CORS.

Właściwości opis
allowedOrigins Dozwolone źródła do tworzenia żądań między witrynami
allowedOriginPatterns Dozwolone wzorce pochodzenia do tworzenia żądań między witrynami
allowedMethods Dozwolone metody HTTP w żądaniach obejmujących wiele witryn
allowedHeaders Dozwolone nagłówki w żądaniach obejmujących wiele witryn
maxAge Jak długo w sekundach klienci buforuje odpowiedź z żądania wstępnego
allowCredentials Czy poświadczenia użytkownika są obsługiwane w żądaniach obejmujących wiele witryn
exposedHeaders Nagłówki odpowiedzi HTTP do uwidocznienia dla żądań obejmujących wiele witryn

Upewnij się, że masz poprawną konfigurację mechanizmu CORS, jeśli chcesz zintegrować z portalem interfejsu API. Aby uzyskać więcej informacji, zobacz sekcję Przypisywanie publicznego punktu końcowego do usługi VMware Spring Cloud Gateway .

Korzystanie ze skalowania usługi

Możesz dostosować alokację zasobów dla wystąpień usługi VMware Spring Cloud Gateway, w tym procesorów wirtualnych, pamięci i liczby wystąpień.

W celu zapewnienia wysokiej dostępności nie zalecamy używania pojedynczej repliki.

W poniższej tabeli opisano domyślne użycie zasobów.

Nazwa składnika Liczba wystąpień Procesor wirtualny na wystąpienie Pamięć na wystąpienie
VMware Spring Cloud Gateway 2 1 rdzeń 2 GiB
Operator bramy VMware Spring Cloud Gateway 2 1 rdzeń 2 GiB

Konfigurowanie protokołu TLS między bramą a aplikacjami

Aby zwiększyć bezpieczeństwo i chronić poufne informacje przed przechwyceniem przez nieautoryzowane strony, możesz włączyć protokół Transport Layer Security (TLS) między usługą VMware Spring Cloud Gateway i aplikacjami.

Przed skonfigurowaniem protokołu TLS należy mieć aplikację z obsługą protokołu TLS i certyfikat TLS. Aby przygotować certyfikat TLS, wygeneruj certyfikat z zaufanego urzędu certyfikacji. Certyfikat weryfikuje tożsamość serwera i ustanawia bezpieczne połączenie.

Po uruchomieniu aplikacji z obsługą protokołu TLS w usłudze Azure Spring Apps przekaż certyfikat do usługi Azure Spring Apps. Aby uzyskać więcej informacji, zobacz sekcję Importowanie certyfikatu w sekcji Używanie certyfikatów TLS/SSL w aplikacji w usłudze Azure Spring Apps.

Po zaktualizowaniu certyfikatu do usługi Azure Spring Apps można skonfigurować certyfikat TLS dla bramy i włączyć weryfikację certyfikatu. Certyfikat można skonfigurować w witrynie Azure Portal lub przy użyciu interfejsu wiersza polecenia platformy Azure.

Aby skonfigurować certyfikat w witrynie Azure Portal, wykonaj następujące czynności:

  1. W wystąpieniu usługi Azure Spring Apps wybierz pozycję Spring Cloud Gateway w okienku nawigacji.
  2. Na stronie Spring Cloud Gateway wybierz pozycję Zarządzanie certyfikatami.
  3. Wybierz pozycję Włącz weryfikację certyfikatu.
  4. Wybierz certyfikat TLS w obszarze Certyfikaty.
  5. Wybierz pozycję Zapisz.

Aktualizowanie konfiguracji może potrwać kilka minut. Po zakończeniu konfiguracji powinno zostać wyświetlone powiadomienie.

Przygotowywanie konfiguracji trasy

Należy określić protokół jako HTTPS w konfiguracji trasy. Poniższy obiekt JSON instruuje bramę VMware Spring Cloud Gateway, aby używała protokołu HTTPS dla całego ruchu między bramą a aplikacją.

  1. Utwórz plik o nazwie test-tls-route.json o następującej zawartości:

    {
        "routes": [
          {
            "title": "Test TLS app",
            "predicates": [
              "Path=/path/to/your/app",
              "Method=GET"
            ]
          }
         ],
        "uri": "https://<app-custom-domain-name>"
    }
    
  2. Użyj następującego polecenia, aby zastosować regułę do aplikacji:

    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
    

Teraz możesz sprawdzić, czy aplikacja jest włączona przy użyciu protokołu TLS z punktem końcowym bramy. Aby uzyskać więcej informacji, zobacz sekcję Konfigurowanie tras w temacie Używanie bramy Spring Cloud Gateway.

Wymiana certyfikatów

Po wygaśnięciu certyfikatów należy wymienić certyfikaty w usłudze VMware Spring Cloud Gateway, wykonując następujące czynności:

  1. Wygeneruj nowe certyfikaty na podstawie zaufanego urzędu certyfikacji.
  2. Zaimportuj certyfikaty do usługi Azure Spring Apps. Aby uzyskać więcej informacji, zobacz sekcję Importowanie certyfikatu w sekcji Używanie certyfikatów TLS/SSL w aplikacji w usłudze Azure Spring Apps.
  3. Zsynchronizuj certyfikaty przy użyciu witryny Azure Portal lub interfejsu wiersza polecenia platformy Azure.

Brama VMware Spring Cloud Gateway zostanie uruchomiona ponownie, aby upewnić się, że brama używa nowego certyfikatu dla wszystkich połączeń.

Aby zsynchronizować certyfikaty, wykonaj następujące czynności:

  1. W wystąpieniu usługi Azure Spring Apps wybierz pozycję Spring Cloud Gateway w okienku nawigacji.
  2. Na stronie Spring Cloud Gateway wybierz pozycję Uruchom ponownie, a następnie potwierdź operację.

Konfigurowanie ustawień automatycznego skalowania

Tryby skalowania automatycznego można ustawić dla bramy VMware Spring Cloud Gateway.

Na poniższej liście przedstawiono opcje dostępne dla zarządzania zapotrzebowaniem na skalowanie automatyczne:

  • Opcja Skalowanie ręczne utrzymuje stałą liczbę wystąpień. Można skalować w poziomie do maksymalnie 10 wystąpień. Ta wartość zmienia liczbę oddzielnych uruchomionych wystąpień bramy Spring Cloud Gateway.
  • Opcja Niestandardowe skalowanie automatyczne jest skalowana zgodnie z dowolnym harmonogramem na podstawie dowolnych metryk.

W witrynie Azure Portal wybierz sposób skalowania. Poniższy zrzut ekranu przedstawia opcję Niestandardowe autoskalowanie i ustawienia trybu:

Zrzut ekranu witryny Azure Portal przedstawiający stronę ustawienia Autoskalowania z wyróżnioną opcją Autoskalowania niestandardowego.

Aby uzyskać więcej informacji na temat dostępnych metryk, zobacz sekcję Opcje metryk użytkownika w temacie Metryki dla usługi Azure Spring Apps.

Konfigurowanie pamięci podręcznej odpowiedzi

Konfiguracja pamięci podręcznej odpowiedzi umożliwia zdefiniowanie pamięci podręcznej odpowiedzi HTTP, którą można zastosować globalnie lub na poziomie trasy.

Włączanie globalnej pamięci podręcznej odpowiedzi

Po globalnej włączeniu pamięci podręcznej odpowiedzi pamięć podręczna odpowiedzi zostanie automatycznie włączona dla wszystkich odpowiednich tras.

Aby włączyć globalnie pamięć podręczną odpowiedzi, wykonaj następujące kroki:

  1. W wystąpieniu usługi Azure Spring Apps wybierz pozycję Spring Cloud Gateway w okienku nawigacji.
  2. Na stronie Spring Cloud Gateway wybierz pozycję Konfiguracja.
  3. W sekcji Pamięć podręczna odpowiedzi wybierz pozycję Włącz pamięć podręczną odpowiedzi, a następnie ustaw pozycję Zakres na Wystąpienie.
  4. Ustaw rozmiar i czas wygaśnięcia pamięci podręcznej odpowiedzi.
  5. Wybierz pozycję Zapisz.

Aby wyłączyć pamięć podręczną odpowiedzi, wykonaj następujące czynności:

  1. W wystąpieniu usługi Azure Spring Apps wybierz pozycję Spring Cloud Gateway w okienku nawigacji.
  2. Na stronie Spring Cloud Gateway wybierz pozycję Konfiguracja.
  3. W sekcji Pamięć podręczna odpowiedzi wyczyść pole Włącz pamięć podręczną odpowiedzi.
  4. Wybierz pozycję Zapisz.

Włączanie pamięci podręcznej odpowiedzi na poziomie trasy

Aby włączyć pamięć podręczną odpowiedzi dla dowolnej trasy, użyj filtru LocalResponseCache . W poniższym przykładzie pokazano, jak używać filtru LocalResponseCache w konfiguracji reguły routingu:

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

Aby uzyskać więcej informacji, zobacz sekcję LocalResponseCache w temacie How to use VMware Spring Cloud Gateway route filters with the Azure Spring Apps Enterprise plan and LocalResponseCache w dokumentacji programu VMware.

Zamiast konfigurować size i timeToLive dla każdego LocalResponseCache filtru osobno, można ustawić te parametry na poziomie bramy Spring Cloud Gateway. Ta opcja umożliwia używanie filtru LocalResponseCache bez uprzedniego określenia tych wartości, zachowując jednocześnie elastyczność ich późniejszego zastąpienia.

Wykonaj następujące kroki, aby włączyć pamięć podręczną odpowiedzi na poziomie trasy i ustawić size i timeToLive:

  1. W wystąpieniu usługi Azure Spring Apps wybierz pozycję Spring Cloud Gateway w okienku nawigacji.
  2. Na stronie Spring Cloud Gateway wybierz pozycję Konfiguracja.
  3. W sekcji Pamięć podręczna odpowiedzi wybierz pozycję Włącz pamięć podręczną odpowiedzi, a następnie ustaw pozycję Zakres na Trasę.
  4. Ustaw rozmiar i czas wygaśnięcia pamięci podręcznej odpowiedzi.
  5. Wybierz pozycję Zapisz.

Wykonaj następujące kroki, aby wyłączyć pamięć podręczną odpowiedzi na poziomie trasy, co powoduje wyczyszczenie size i timeToLive:

  1. W wystąpieniu usługi Azure Spring Apps wybierz pozycję Spring Cloud Gateway w okienku nawigacji.
  2. Na stronie Spring Cloud Gateway wybierz pozycję Konfiguracja.
  3. W sekcji Pamięć podręczna odpowiedzi wyczyść pole Włącz pamięć podręczną odpowiedzi.
  4. Wybierz pozycję Zapisz.

W poniższym przykładzie pokazano, jak używać filtru LocalResponseCache w przypadku size ustawienia i timeToLive na poziomie usługi Spring Cloud Gateway:

{
   "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"
         ],
      }
   ]
}

Skonfiguruj zmienne środowiskowe

Usługa Azure Spring Apps zarządza bramą VMware Spring Cloud Gateway i zarządza nią. Z wyjątkiem przypadków użycia, które konfigurują monitorowanie wydajności aplikacji (APM) i poziom dziennika, zwykle nie trzeba konfigurować bramy VMware Spring Cloud Gateway ze zmiennymi środowiskowymi.

Jeśli masz wymagania, których nie można spełnić w innych konfiguracjach opisanych w tym artykule, możesz spróbować skonfigurować zmienne środowiskowe wyświetlane na liście Wspólnych właściwości aplikacji. Przed zastosowaniem konfiguracji do środowiska produkcyjnego upewnij się, że konfiguracja jest weryfikowana.

Aby skonfigurować zmienne środowiskowe w witrynie Azure Portal, wykonaj następujące kroki:

  1. W wystąpieniu usługi Azure Spring Apps wybierz pozycję Spring Cloud Gateway w okienku nawigacji, a następnie wybierz pozycję Konfiguracja.
  2. Wypełnij pary klucz/wartość dla zmiennych środowiskowych w sekcjach Właściwości i Wpisy tajne. Zmienne można uwzględnić z poufnymi informacjami w sekcji Wpisy tajne .
  3. Wybierz Zapisz, aby zapisać zmiany.

Po zaktualizowaniu zmiennych środowiskowych usługa VMware Spring Cloud Gateway zostanie ponownie uruchomiona.

Konfigurowanie monitorowania wydajności aplikacji

Aby monitorować bramę VMware Spring Cloud Gateway, możesz skonfigurować usługę APM. W poniższej tabeli wymieniono pięć typów agentów języka Java APM dostępnych przez usługę VMware Spring Cloud Gateway wraz z wymaganymi zmiennymi środowiskowymi.

Agent środowiska Java Wymagane zmienne środowiskowe
Szczegółowe dane dotyczące aplikacji APPLICATIONINSIGHTS_CONNECTION_STRING
Dynatrace DT_TENANT
DT_TENANTTOKEN
DT_CONNECTION_POINT
Nowy 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
Elastyczny APM ELASTIC_APM_SERVICE_NAME
ELASTIC_APM_APPLICATION_PACKAGES
ELASTIC_APM_SERVER_URL

Aby uzyskać informacje o innych obsługiwanych zmiennych środowiskowych, zobacz następujące źródła:

Aby włączyć monitorowanie APM w bramie VMware Spring Cloud Gateway, możesz utworzyć konfigurację APM na poziomie wystąpienia usługi i powiązać ją z usługą Spring Cloud Gateway. W ten sposób można wygodnie skonfigurować APM tylko raz i powiązać ten sam APM z usługą Spring Cloud Gateway i aplikacjami.

Wykonaj następujące kroki, aby skonfigurować usługę APM przy użyciu witryny Azure Portal:

  1. Skonfiguruj usługę APM na poziomie wystąpienia usługi przy użyciu nazwy, typu i właściwości APM. Aby uzyskać więcej informacji, zobacz sekcję Zarządzanie usługami APM na poziomie wystąpienia usługi (zalecane) w temacie How to configure APM integration and CA certificates (Jak skonfigurować integrację z usługą APM i certyfikaty urzędu certyfikacji).

    Zrzut ekranu witryny Azure Portal przedstawiający stronę edytora APM usługi Azure Spring Apps.

  2. Wybierz pozycję Spring Cloud Gateway w okienku nawigacji, a następnie wybierz pozycję APM.

  3. Wybierz nazwę APM na liście nazw odwołań APM. Lista zawiera wszystkie nazwy APM skonfigurowane w kroku 1.

  4. Wybierz pozycję Zapisz , aby powiązać nazwy odwołań APM z usługą Spring Cloud Gateway. Brama zostanie uruchomiona ponownie, aby włączyć monitorowanie APM.

Zarządzanie usługą APM w usłudze VMware Spring Cloud Gateway (przestarzałe)

Możesz użyć witryny Azure Portal lub interfejsu wiersza polecenia platformy Azure, aby skonfigurować aplikację APM w usłudze VMware Spring Cloud Gateway. Można również określić typy agentów języka Java APM do użycia i odpowiednie zmienne środowiskowe APM, które obsługują.

Wykonaj następujące kroki, aby skonfigurować usługę APM przy użyciu witryny Azure Portal:

  1. W wystąpieniu usługi Azure Spring Apps wybierz pozycję Spring Cloud Gateway w okienku nawigacji, a następnie wybierz pozycję Konfiguracja.
  2. Wybierz typ APM na liście APM , aby monitorować bramę.
  3. Wypełnij pary klucz/wartość zmiennych środowiskowych APM w sekcjach Właściwości i Wpisy tajne. Zmienne można umieszczać z poufnymi informacjami w wpisach tajnych.
  4. Wybierz Zapisz, aby zapisać zmiany.

Aktualizowanie konfiguracji może potrwać kilka minut. Po zakończeniu konfiguracji powinno zostać wyświetlone powiadomienie.

Uwaga

Usługa Azure Spring Apps uaktualnia agenta APM i wdraża aplikacje z taką samą cyklu, aby zachować zgodność agentów między usługą VMware Spring Cloud Gateway i usługą Azure Spring Apps.

Domyślnie usługa Azure Spring Apps drukuje dzienniki agenta języka Java APM na STDOUT. Te dzienniki są dołączane do dzienników usługi VMware Spring Cloud Gateway. Możesz sprawdzić wersję agenta APM używanego w dziennikach. Aby rozwiązać problemy, możesz wykonywać zapytania dotyczące tych dzienników w usłudze Log Analytics.

Aby zapewnić poprawne działanie agentów APM, zwiększ procesor i pamięć bramy VMware Spring Cloud Gateway.

Konfigurowanie poziomów dziennika

Możesz skonfigurować poziomy dzienników usługi VMware Spring Cloud Gateway w następujący sposób, aby uzyskać więcej szczegółów lub zmniejszyć dzienniki:

  • Możesz ustawić poziomy dziennika na TRACE, , DEBUG, WARNINFO, ERROR, lub OFF. Domyślnym poziomem dziennika bramy VMware Spring Cloud Gateway jest INFO.
  • Dzienniki można wyłączyć, ustawiając poziomy dziennika na OFF.
  • Jeśli poziom dziennika jest ustawiony na WARN, ERRORlub OFF, może być konieczne dostosowanie go do INFO podczas żądania pomocy technicznej od zespołu usługi Azure Spring Apps. Ta zmiana powoduje ponowne uruchomienie bramy VMware Spring Cloud Gateway.
  • Gdy poziom dziennika jest ustawiony na TRACE lub DEBUG, może to mieć wpływ na wydajność usługi VMware Spring Cloud Gateway. Spróbuj uniknąć tych ustawień w środowisku produkcyjnym.
  • Możesz ustawić poziomy dziennika dla rejestratora root lub dla określonych rejestratorów, takich jak io.pivotal.spring.cloud.gateway.

Następujące rejestratory mogą zawierać cenne informacje dotyczące rozwiązywania problemów na TRACE poziomach i DEBUG :

Rejestratora opis
io.pivotal.spring.cloud.gateway Filtry i predykaty, w tym rozszerzenia niestandardowe
org.springframework.cloud.gateway Brama interfejsu API
org.springframework.http.server.reactive Interakcje serwera HTTP
org.springframework.web.reactive Reaktywne przepływy bramy interfejsu API
org.springframework.boot.autoconfigure.web Automatyczna konfiguracja bramy interfejsu API
org.springframework.security.web Informacje o uwierzytelnianiu i autoryzacji
reactor.netty Reactor Netty

Aby uzyskać klucze zmiennych środowiskowych, dodaj logging.level. prefiks, a następnie ustaw poziom dziennika, konfigurując środowisko logging.level.{loggerName}={logLevel}. W poniższych przykładach przedstawiono kroki witryny Azure Portal i interfejsu wiersza polecenia platformy Azure.

Aby skonfigurować poziomy dzienników w witrynie Azure Portal, wykonaj następujące kroki:

  1. W wystąpieniu usługi Azure Spring Apps wybierz pozycję Spring Cloud Gateway w okienku nawigacji, a następnie wybierz pozycję Konfiguracja.
  2. Wypełnij pary klucz/wartość zmiennych środowiskowych poziomów dziennika w sekcjach Właściwości i Wpisy tajne. Jeśli poziom dziennika jest poufnymi informacjami w Twoim przypadku, możesz je uwzględnić, korzystając z sekcji Wpisy tajne .
  3. Wybierz Zapisz, aby zapisać zmiany.

Zrzut ekranu witryny Azure Portal przedstawiający zmienne środowiskowe usługi Spring Cloud Gateway w celu skonfigurowania poziomów dziennika.

Aktualizowanie konfiguracji dodatku

Funkcja konfiguracji dodatku umożliwia dostosowanie niektórych właściwości usługi VMware Spring Cloud Gateway przy użyciu ciągu formatu JSON. Ta funkcja jest przydatna, gdy trzeba skonfigurować właściwości, które nie są uwidocznione za pośrednictwem interfejsu API REST.

Konfiguracja dodatku jest obiektem JSON z parami klucz/wartość, które reprezentują żądaną konfigurację. Poniższy przykład przedstawia strukturę formatu JSON:

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

Na poniższej liście przedstawiono obsługiwane konfiguracje dodatków dla nazw kluczy i typów wartości dodatku. Ta lista może ulec zmianie podczas uaktualniania wersji usługi VMware Spring Cloud Gateway.

  • Konfiguracja logowania jednokrotnego:

    • Nazwa klucza: sso

    • Typ wartości: Obiekt

    • Właściwości:

      • RolesAttributeName (Ciąg): określa nazwę atrybutu, który zawiera role skojarzone z sesją logowania jednokrotnego.
      • InactiveSessionExpirationInMinutes (Liczba całkowita): określa czas wygaśnięcia (w minutach) dla nieaktywnych sesji logowania jednokrotnego. Wartość 0 oznacza, że sesja nigdy nie wygasa.
    • Przykład:

      {
          "sso": {
              "rolesAttributeName": "roles",
              "inactiveSessionExpirationInMinutes": 1
          }
      }
      
  • Konfiguracja metadanych:

    • Nazwa klucza: api

    • Typ wartości: Obiekt

    • Właściwości

      • groupId (Ciąg): unikatowy identyfikator grupy interfejsów API dostępnych w wystąpieniu usługi VMware Spring Cloud Gateway. Wartość może zawierać tylko małe litery i cyfry.
    • Przykład:

      {
          "api": {
              "groupId": "id1"
          }
      }
      
  • Konfiguracja zasobnika

    • Nazwa klucza: PodOverrides, która służy do określania przesłonięć domyślnej konfiguracji zasobnika.

    • Typ wartości: Obiekt

    • Właściwości

      • Containers: Ta tablica zawiera konfigurację poszczególnych kontenerów w zasobniku. Obecnie obsługiwany jest tylko kontener o nazwie gateway .
        • Name: określa nazwę kontenera. Kontener powinien mieć nazwę gateway.
        • Lifecycle: PreStop jest elementem zaczepienia cyklu życia, który jest wykonywany, gdy kontener ma zostać zakończony. Ten punkt zaczepienia umożliwia wykonanie wszelkiego niezbędnego czyszczenia przed zatrzymanie kontenera.
      • TerminationGracePeriodSeconds: określa czas oczekiwania na zakończenie zasobnika przez kubernetes przed przymusowym zabiciem go.
    • Przykład:

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

      Gdy zasobnik zawierający ten kontener zostanie zakończony, PreStop punkt zaczepienia wykonuje polecenie /bin/sh -c 'sleep 20', co powoduje uśpienie kontenera przez 20 sekund. To wstrzymanie daje kontenerowi trochę czasu na ukończenie wszelkich bieżących zadań lub oczyszczenie, zanim faktycznie zostanie zatrzymane.

      Ustawienie TerminationGracePeriodSeconds zapewnia łącznie 120 sekund, aby zasobnik został bezpiecznie zakończony, w tym czas potrzebny przez wszystkie zaczepienia cyklu życia, takie jak PreStop.

Aby zaktualizować konfigurację dodatku, wykonaj następujące kroki.

  1. W wystąpieniu usługi Azure Spring Apps wybierz pozycję Spring Cloud Gateway w okienku nawigacji, a następnie wybierz pozycję Konfiguracja.
  2. Określ wartość JSON dla opcji Addon Configs.
  3. Wybierz pozycję Zapisz.

Następne kroki