Możesz zainstalować wiele instancji SSO w Apigee, aby zapewnić wysoką dostępność w 2 scenariuszach:
- W środowisku z jednym centrum danych zainstaluj 2 instancje SSO w Apigee, aby utworzyć środowisko o wysokiej dostępności, co oznacza, że system będzie nadal działać, jeśli jeden z modułów SSO w Apigee ulegnie awarii.
- W środowisku z 2 centrami danych zainstaluj SSO w Apigee w obu centrach danych, aby system działał dalej, jeśli jeden z modułów SSO w Apigee przestanie działać.
Zainstaluj 2 moduły SSO w Apigee w tym samym centrum danych
Aby zapewnić wysoką dostępność, wdrażasz 2 instancje SSO w Apigee na różnych węzłach w jednym centrum danych. W tym scenariuszu:
- Obie instancje SSO w Apigee muszą być połączone z tym samym serwerem Postgres. Apigee zaleca używanie dedykowanego serwera Postgres na potrzeby SSO w Apigee, a nie tego samego serwera Postgres, który został zainstalowany z Edge.
- Obie instancje SSO w Apigee muszą używać tej samej pary kluczy JWT określonej przez właściwości
SSO_JWT_SIGNING_KEY_FILEPATHiSSO_JWT_VERIFICATION_KEY_FILEPATHw pliku konfiguracji. Więcej informacji o ustawianiu tych właściwości znajdziesz w artykule Instalowanie i konfigurowanie SSO w Apigee. - Przed 2 instancjami SSO w Apigee musisz mieć system równoważenia obciążenia:
- System równoważenia obciążenia musi obsługiwać trwałość plików cookie generowanych przez aplikację, a plik cookie sesji musi mieć nazwę
JSESSIONID. - Skonfiguruj system równoważenia obciążenia, aby przeprowadzał kontrolę stanu TCP lub HTTP w SSO w Apigee. W przypadku TCP użyj adresu URL SSO w Apigee:
http_or_https://edge_sso_IP_DNS:9099
Podaj port ustawiony przez SSO w Apigee. Domyślny port to 9099.
W przypadku protokołu HTTP dodaj
/healthz:http_or_https://edge_sso_IP_DNS:9099/healthz
- Niektóre ustawienia systemu równoważenia obciążenia zależą od tego, czy włączono HTTPS w SSO w Apigee. Więcej informacji znajdziesz w sekcjach poniżej.
- System równoważenia obciążenia musi obsługiwać trwałość plików cookie generowanych przez aplikację, a plik cookie sesji musi mieć nazwę
Dostęp HTTP do SSO w Apigee
Jeśli używasz dostępu HTTP do SSO w Apigee, skonfiguruj system równoważenia obciążenia, aby:
- Użyj trybu HTTP, aby połączyć się z SSO w Apigee.
nasłuchiwać na tym samym porcie co SSO w Apigee,
Domyślnie SSO w Apigee nasłuchuje żądań HTTP na porcie 9099. Opcjonalnie możesz użyć
SSO_TOMCAT_PORT, aby ustawić port SSO w Apigee. Jeśli do zmiany domyślnego portu SSO w Apigee użytoSSO_TOMCAT_PORT, upewnij się, że system równoważenia obciążenia nasłuchuje na tym porcie.
Na przykład w każdej instancji SSO w Apigee ustawiasz port na 9033, dodając do pliku konfiguracji ten wpis:
SSO_TOMCAT_PORT=9033
Następnie skonfiguruj system równoważenia obciążenia, aby nasłuchiwał na porcie 9033 i przekazywał żądania do instancji Edge SSO na porcie 9033. Publiczny adres URL SSO w Apigee w tym scenariuszu to:
http://LB_DNS_NAME:9033
Dostęp HTTPS do SSO w Apigee
Możesz skonfigurować instancje SSO w Apigee tak, aby używały protokołu HTTPS do bezpiecznej komunikacji. W takim przypadku wykonaj czynności opisane w artykule Konfigurowanie SSO w Apigee na potrzeby dostępu przez HTTPS. W ramach procesu włączania HTTPS ustaw SSO_TOMCAT_PROFILE w pliku konfiguracji SSO w Apigee, jak pokazano poniżej:
SSO_TOMCAT_PROFILE=SSL_TERMINATION
Opcjonalnie ustaw port używany przez SSO w Apigee na potrzeby dostępu przez HTTPS:
SSO_TOMCAT_PORT=9443
Aby zapewnić prawidłową komunikację między systemem równoważenia obciążenia a SSO w Apigee, skonfiguruj system równoważenia obciążenia w następujący sposób:
- Do połączenia z SSO w Apigee użyj trybu TCP, a nie HTTP. Dzięki temu połączenia SSL mogą przechodzić bez zakończenia w systemie równoważenia obciążenia.
- Nasłuchuj na tym samym porcie co SSO w Apigee, zgodnie z definicją
SSO_TOMCAT_PORT(np. 9443). - Przekierowywanie żądań do instancji SSO w Apigee na tym samym porcie (9443).
Upewnij się, że publiczny adres URL odzwierciedla ustawienia DNS i portu systemu równoważenia obciążenia. Publiczny adres URL SSO w Apigee w tym scenariuszu to:
https://LB_DNS_NAME:9443
Instalowanie SSO w Apigee w wielu centrach danych
W środowisku z wieloma centrami danych instancję SSO w Apigee instaluje się w każdym centrum danych. Wtedy jedna instancja SSO w Apigee obsługuje cały ruch. Jeśli ta instancja SSO w Apigee przestanie działać, możesz przełączyć się na drugą instancję SSO w Apigee.
Zanim zainstalujesz SSO w Apigee w 2 centrach danych, musisz mieć:
Adres IP lub nazwa domeny głównego serwera Postgres.
W środowisku z wieloma centrami danych zwykle instaluje się po jednym serwerze Postgres w każdym centrum danych i konfiguruje się je w trybie replikacji Master-Standby. W tym przykładzie centrum danych 1 zawiera główny serwer Postgres, a centrum danych 2 zawiera serwer rezerwowy. Więcej informacji znajdziesz w artykule Konfigurowanie replikacji master-standby w Postgres.
- Pojedynczy wpis DNS wskazujący jedną instancję SSO w Apigee. Możesz na przykład utworzyć wpis DNS w poniższym formacie, który wskazuje instancję SSO w Apigee w centrum danych 1:
my-sso.domain.com => apigee-sso-dc1-ip-or-lb
- Obie instancje SSO w Apigee muszą używać tej samej pary kluczy JWT określonej przez właściwości
SSO_JWT_SIGNING_KEY_FILEPATHiSSO_JWT_VERIFICATION_KEY_FILEPATHw pliku konfiguracji. Więcej informacji o ustawianiu tych właściwości znajdziesz w artykule Instalowanie i konfigurowanie SSO w Apigee.
Podczas instalowania SSO w Apigee w każdym centrum danych skonfiguruj oba centra danych tak, aby korzystały z bazy danych Postgres Master w centrum danych 1:
## Postgres configuration
PG_HOST=IP_or_DNS_of_PG_Master_in_DC1
PG_PORT=5432Skonfigurujesz też oba centra danych tak, aby używały wpisu DNS jako publicznie dostępnego adresu URL:
# Externally accessible URL of Apigee SSO SSO_PUBLIC_URL_HOSTNAME=my-sso.domain.com # Default port is 9099. SSO_PUBLIC_URL_PORT=9099
Jeśli usługa SSO w Apigee w centrum danych 1 przestanie działać, możesz przełączyć się na instancję SSO w Apigee w centrum danych 2:
- Przekształć serwer Postgres Standby w centrum danych 2 w serwer główny zgodnie z opisem w artykule Obsługa przełączania awaryjnego bazy danych PostgreSQL.
- Zaktualizuj rekord DNS, aby wskazywał
my-sso.domain.comna instancję SSO w Apigee w centrum danych 2:my-sso.domain.com => apigee-sso-dc2-ip-or-lb
- Zaktualizuj plik konfiguracji SSO w Apigee w centrum danych 2, aby wskazywał nowy serwer główny Postgres w centrum danych 2:
## Postgres configuration PG_HOST=IP_or_DNS_of_PG_Master_in_DC2
- Uruchom ponownie SSO w Apigee w centrum danych 2, aby zaktualizować jego konfigurację:
/opt/apigee/apigee-service/bin/apigee-service apigee-sso restart