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

Instalujesz wiele instancji logowania jednokrotnego w Apigee, aby zapewnić wysoką dostępność w 2 przypadkach:

  • W jednym środowisku centrum danych zainstaluj 2 instancje logowania jednokrotnego Apigee, aby utworzyć środowisko o wysokiej dostępności. Oznacza to, że system będzie nadal działać, jeśli jeden z modułów logowania jednokrotnego Apigee przestanie działać.
  • W środowisku z 2 centrami danych zainstaluj logowanie jednokrotne przez Apigee w obu centrach danych, aby system mógł nadal działać w przypadku awarii jednego z modułów logowania jednokrotnego Apigee.

Zainstaluj dwa moduły logowania jednokrotnego Apigee w tym samym centrum danych

Aby zapewnić wysoką dostępność, w jednym centrum danych wdrażasz 2 instancje logowania jednokrotnego w Apigee w różnych węzłach. W tym scenariuszu:

  • Obie instancje logowania jednokrotnego w Apigee muszą być połączone z tym samym serwerem Postgres. Apigee zaleca używanie dedykowanego serwera Postgres na potrzeby logowania jednokrotnego Apigee, a nie tego samego serwera Postgres, który został zainstalowany w Edge.
  • Obie instancje logowania jednokrotnego w Apigee muszą używać tej samej pary kluczy JWT określonej we właściwościach 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 logowania jednokrotnego w Apigee.
  • Musisz umieścić system równoważenia obciążenia przed 2 instancjami logowania jednokrotnego w Apigee:
    • System równoważenia obciążenia musi obsługiwać trwałość plików cookie wygenerowanych przez aplikację, a plik cookie sesji musi mieć nazwę JSESSIONID.
    • Skonfiguruj system równoważenia obciążenia, aby przeprowadzić kontrolę stanu TCP lub HTTP w przypadku logowania jednokrotnego w Apigee. W przypadku TCP użyj adresu URL logowania jednokrotnego Apigee:
      http_or_https://edge_sso_IP_DNS:9099

      Określ port ustawiony przez logowanie jednokrotne przez Apigee. Port 9099 jest portem domyślnym.

      W przypadku protokołu HTTP uwzględnij /healthz:

      http_or_https://edge_sso_IP_DNS:9099/healthz
    • Niektóre ustawienia systemu równoważenia obciążenia zależą od tego, czy w przypadku logowania jednokrotnego w Apigee został włączony protokół HTTPS. Więcej informacji znajdziesz w sekcjach poniżej.

Dostęp HTTP do logowania jednokrotnego Apigee

Jeśli używasz dostępu HTTP do logowania jednokrotnego Apigee, skonfiguruj system równoważenia obciążenia tak, aby:

  • Używaj trybu HTTP do łączenia się z logowaniem jednokrotnym w Apigee.
  • Nasłuchiwanie na tym samym porcie co w przypadku logowania jednokrotnego Apigee.

    Domyślnie logowanie jednokrotne w Apigee nasłuchuje żądań HTTP na porcie 9099. Opcjonalnie możesz użyć SSO_TOMCAT_PORT, aby ustawić port logowania jednokrotnego Apigee. Jeśli zmienisz domyślny port logowania jednokrotnego Apigee za pomocą SSO_TOMCAT_PORT, upewnij się, że system równoważenia obciążenia nasłuchuje na tym porcie.

Na przykład w każdej instancji logowania jednokrotnego Apigee ustaw port na 9033, dodając do pliku konfiguracji ten fragment:

SSO_TOMCAT_PORT=9033

Następnie należy skonfigurować system równoważenia obciążenia tak, aby nasłuchiwał na porcie 9033 i przekierowywał żądania do instancji logowania jednokrotnego brzegowego na porcie 9033. Publiczny adres URL logowania jednokrotnego w Apigee w tym scenariuszu to:

http://LB_DNS_NAME:9033

Dostęp HTTPS do logowania jednokrotnego w Apigee

Możesz skonfigurować instancje logowania jednokrotnego Apigee tak, aby korzystały z HTTPS. W tym scenariuszu wykonaj czynności opisane w artykule Konfigurowanie logowania jednokrotnego Apigee pod kątem dostępu do HTTPS. W ramach procesu włączania protokołu HTTPS ustawiasz SSO_TOMCAT_PROFILE w pliku konfiguracyjnym logowania jednokrotnego w Apigee w następujący sposób:

SSO_TOMCAT_PROFILE=SSL_TERMINATION

Możesz też opcjonalnie ustawić port używany przez funkcję logowania jednokrotnego Apigee do uzyskiwania dostępu przez HTTPS:

SSO_TOMCAT_PORT=9443

Następnie skonfiguruj system równoważenia obciążenia, aby:

  • Do łączenia się z logowaniem jednokrotnym z Apigee używaj trybu TCP, a nie HTTP.
  • Nasłuchiwanie na tym samym porcie co funkcja logowania jednokrotnego Apigee zgodnie z definicją w polu SSO_TOMCAT_PORT.

Następnie skonfigurujesz system równoważenia obciążenia tak, aby przekierowywał żądania do instancji logowania jednokrotnego Apigee na porcie 9433. Publiczny adres URL logowania jednokrotnego w Apigee w tym scenariuszu to:

https://LB_DNS_NAME:9443

Instalowanie logowania jednokrotnego w Apigee w wielu centrach danych

W środowisku wielu centrów danych instalujesz instancję logowania jednokrotnego Apigee w każdym centrum danych. 1 instancja logowania jednokrotnego Apigee obsługuje wtedy cały ruch. Jeśli ta instancja logowania jednokrotnego Apigee przestanie działać, możesz przełączyć się na drugą instancję logowania jednokrotnego Apigee.

Zanim zainstalujesz logowanie jednokrotne w Apigee w 2 centrach danych, musisz mieć:

  • Adres IP lub nazwa domeny głównego serwera Postgres.

    W środowisku wielu centrów danych zwykle instaluje się po jednym serwerze Postgres w każdym centrum danych i konfiguruje go w trybie replikacji głównej gotowości. W tym przykładzie centrum danych 1 zawiera główny serwer Postgres, a centrum danych 2 zawiera stan standby. Więcej informacji znajdziesz w artykule o konfigurowaniu replikacji master-Standby dla Postgres.

  • Pojedynczy wpis DNS wskazujący jedną instancję logowania jednokrotnego Apigee. Utwórz na przykład wpis DNS w poniższym formularzu, który wskazuje instancję logowania jednokrotnego Apigee w centrum danych 1:
    my-sso.domain.com => apigee-sso-dc1-ip-or-lb
  • Obie instancje logowania jednokrotnego w Apigee muszą używać tej samej pary kluczy JWT określonej we właściwościach 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 logowania jednokrotnego w Apigee.

Po zainstalowaniu logowania jednokrotnego Apigee w każdym centrum danych należy skonfigurować użycie Postgres Master w centrum danych 1:

## Postgres configuration
PG_HOST=IP_or_DNS_of_PG_Master_in_DC1
PG_PORT=5432

Możesz też skonfigurować oba centra danych, 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 logowanie jednokrotne Apigee w centrum danych 1 ulegnie awarii, możesz przełączyć się na instancję logowania jednokrotnego Apigee w centrum danych 2:

  1. Przekonwertuj serwer Postgres Standby w centrum danych 2 na serwer główny zgodnie z opisem w sekcji Obsługa przełączania awaryjnego bazy danych PostgreSQL.
  2. Zaktualizuj rekord DNS, aby wskazywał my-sso.domain.com instancję logowania jednokrotnego Apigee w centrum danych 2:
    my-sso.domain.com => apigee-sso-dc2-ip-or-lb
  3. Zaktualizuj plik konfiguracji logowania jednokrotnego w Apigee w centrum danych 2, aby wskazywał nowy serwer Postgres Master w centrum danych 2:
    ## Postgres configuration
    PG_HOST=IP_or_DNS_of_PG_Master_in_DC2
  4. Ponownie uruchom logowanie jednokrotne Apigee w centrum danych 2, aby zaktualizować jego konfigurację:
    /opt/apigee/apigee-service/bin/apigee-service apigee-sso restart