Instalowanie logowania jednokrotnego w Apigee dla wysokiej dostępności

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_FILEPATH i SSO_JWT_VERIFICATION_KEY_FILEPATH w 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.

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żyto SSO_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_FILEPATH i SSO_JWT_VERIFICATION_KEY_FILEPATH w 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=5432

Skonfigurujesz 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:

  1. 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.
  2. Zaktualizuj rekord DNS, aby wskazywał my-sso.domain.com na instancję SSO w Apigee w centrum danych 2:
    my-sso.domain.com => apigee-sso-dc2-ip-or-lb
  3. 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
  4. Uruchom ponownie SSO w Apigee w centrum danych 2, aby zaktualizować jego konfigurację:
    /opt/apigee/apigee-service/bin/apigee-service apigee-sso restart