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
- Już aprowizowane wystąpienie usługi azure Spring Apps Enterprise z włączoną usługą VMware Spring Cloud Gateway. Aby uzyskać więcej informacji, zobacz Szybki start: tworzenie i wdrażanie aplikacji w usłudze Azure Spring Apps przy użyciu planu Enterprise.
- Interfejs wiersza polecenia platformy Azure w wersji 2.0.67 lub nowszej. Użyj następującego polecenia, aby zainstalować rozszerzenie Azure Spring Apps:
az extension add --name spring
.
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:
- Przejdź do zasobu usługi, a następnie wybierz pozycję Spring Cloud Gateway.
- Zaznacz Zarządzaj.
- 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 .
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:
- Przejdź do zasobu usługi, a następnie wybierz pozycję Spring Cloud Gateway.
- Wybierz Uruchom ponownie.
- Wybierz przycisk OK , aby potwierdzić ponowne uruchomienie.
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:
- Otwórz wystąpienie usługi Azure Spring Apps.
- Wybierz pozycję Spring Cloud Gateway w okienku nawigacji, a następnie wybierz pozycję Przegląd.
- 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.
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:
- Otwórz wystąpienie usługi Azure Spring Apps.
- Wybierz pozycję Spring Cloud Gateway w okienku nawigacji, a następnie wybierz pozycję Konfiguracja.
- Określ wartości właściwości wymienionych dla interfejsu API.
- Wybierz pozycję Zapisz.
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:
- Otwórz wystąpienie usługi Azure Spring Apps.
- Wybierz pozycję Spring Cloud Gateway w okienku nawigacji, a następnie wybierz pozycję Konfiguracja.
- Określ wartości właściwości wymienionych dla logowania jednokrotnego.
- Wybierz pozycję Zapisz.
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:
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.
Dodaj dowolną logikę wylogowywanie do aplikacji. Na końcu potrzebne jest
GET
żądanie do punktu końcowego bramy/scg-logout
, jak pokazano wreturn
wartościgetActionButton
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:
- W wystąpieniu usługi Azure Spring Apps wybierz pozycję Spring Cloud Gateway w okienku nawigacji.
- Na stronie Spring Cloud Gateway wybierz pozycję Zarządzanie certyfikatami.
- Wybierz pozycję Włącz weryfikację certyfikatu.
- Wybierz certyfikat TLS w obszarze Certyfikaty.
- 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ą.
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>" }
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:
- Wygeneruj nowe certyfikaty na podstawie zaufanego urzędu certyfikacji.
- 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.
- 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:
- W wystąpieniu usługi Azure Spring Apps wybierz pozycję Spring Cloud Gateway w okienku nawigacji.
- 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:
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:
- W wystąpieniu usługi Azure Spring Apps wybierz pozycję Spring Cloud Gateway w okienku nawigacji.
- Na stronie Spring Cloud Gateway wybierz pozycję Konfiguracja.
- W sekcji Pamięć podręczna odpowiedzi wybierz pozycję Włącz pamięć podręczną odpowiedzi, a następnie ustaw pozycję Zakres na Wystąpienie.
- Ustaw rozmiar i czas wygaśnięcia pamięci podręcznej odpowiedzi.
- Wybierz pozycję Zapisz.
Aby wyłączyć pamięć podręczną odpowiedzi, wykonaj następujące czynności:
- W wystąpieniu usługi Azure Spring Apps wybierz pozycję Spring Cloud Gateway w okienku nawigacji.
- Na stronie Spring Cloud Gateway wybierz pozycję Konfiguracja.
- W sekcji Pamięć podręczna odpowiedzi wyczyść pole Włącz pamięć podręczną odpowiedzi.
- 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
:
- W wystąpieniu usługi Azure Spring Apps wybierz pozycję Spring Cloud Gateway w okienku nawigacji.
- Na stronie Spring Cloud Gateway wybierz pozycję Konfiguracja.
- W sekcji Pamięć podręczna odpowiedzi wybierz pozycję Włącz pamięć podręczną odpowiedzi, a następnie ustaw pozycję Zakres na Trasę.
- Ustaw rozmiar i czas wygaśnięcia pamięci podręcznej odpowiedzi.
- Wybierz pozycję Zapisz.
Wykonaj następujące kroki, aby wyłączyć pamięć podręczną odpowiedzi na poziomie trasy, co powoduje wyczyszczenie size
i timeToLive
:
- W wystąpieniu usługi Azure Spring Apps wybierz pozycję Spring Cloud Gateway w okienku nawigacji.
- Na stronie Spring Cloud Gateway wybierz pozycję Konfiguracja.
- W sekcji Pamięć podręczna odpowiedzi wyczyść pole Włącz pamięć podręczną odpowiedzi.
- 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:
- W wystąpieniu usługi Azure Spring Apps wybierz pozycję Spring Cloud Gateway w okienku nawigacji, a następnie wybierz pozycję Konfiguracja.
- 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 .
- 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:
- Omówienie usługi Application Insights
- Zmienne środowiskowe Dynatrace
- Nowe zmienne środowiskowe Relic
- Zmienne środowiskowe AppDynamics
- Elastyczne zmienne środowiskowe
Konfigurowanie integracji APM na poziomie wystąpienia usługi (zalecane)
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:
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).
Wybierz pozycję Spring Cloud Gateway w okienku nawigacji, a następnie wybierz pozycję APM.
Wybierz nazwę APM na liście nazw odwołań APM. Lista zawiera wszystkie nazwy APM skonfigurowane w kroku 1.
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:
- W wystąpieniu usługi Azure Spring Apps wybierz pozycję Spring Cloud Gateway w okienku nawigacji, a następnie wybierz pozycję Konfiguracja.
- Wybierz typ APM na liście APM , aby monitorować bramę.
- 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.
- 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
,WARN
INFO
,ERROR
, lubOFF
. Domyślnym poziomem dziennika bramy VMware Spring Cloud Gateway jestINFO
. - Dzienniki można wyłączyć, ustawiając poziomy dziennika na
OFF
. - Jeśli poziom dziennika jest ustawiony na
WARN
,ERROR
lubOFF
, może być konieczne dostosowanie go doINFO
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
lubDEBUG
, 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 jakio.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:
- W wystąpieniu usługi Azure Spring Apps wybierz pozycję Spring Cloud Gateway w okienku nawigacji, a następnie wybierz pozycję Konfiguracja.
- 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 .
- Wybierz Zapisz, aby zapisać zmiany.
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 nazwiegateway
.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 jakPreStop
.
Aby zaktualizować konfigurację dodatku, wykonaj następujące kroki.
- W wystąpieniu usługi Azure Spring Apps wybierz pozycję Spring Cloud Gateway w okienku nawigacji, a następnie wybierz pozycję Konfiguracja.
- Określ wartość JSON dla opcji Addon Configs.
- Wybierz pozycję Zapisz.