Installa Apigee SSO per l'alta disponibilità

Puoi installare più istanze di SSO Apigee per l'alta affidabilità in due scenari:

  • In un ambiente con un singolo data center, installa due istanze SSO Apigee per creare un ambiente ad alta affidabilità, in modo che il sistema continui a funzionare se uno dei moduli SSO Apigee non è disponibile.
  • In un ambiente con due data center, installa SSO Apigee in entrambi i data center in modo che il sistema continui a funzionare se uno dei moduli SSO Apigee non è disponibile.

Installa due moduli SSO Apigee nello stesso data center

Esegui il deployment di due istanze di SSO Apigee, su nodi diversi, in un unico data center per supportare l'alta affidabilità. In questo caso:

  • Entrambe le istanze di SSO Apigee devono essere connesse allo stesso server Postgres. Apigee consiglia di utilizzare un server Postgres dedicato per l'SSO Apigee e non lo stesso server Postgres che hai installato con Edge.
  • Entrambe le istanze di SSO Apigee devono utilizzare la stessa coppia di chiavi JWT specificata dalle proprietà SSO_JWT_SIGNING_KEY_FILEPATH e SSO_JWT_VERIFICATION_KEY_FILEPATH nel file di configurazione. Per saperne di più sull'impostazione di queste proprietà, consulta Installa e configura l'SSO Apigee.
  • È necessario un bilanciatore del carico davanti alle due istanze di SSO Apigee:
    • Il bilanciatore del carico deve supportare la persistenza dei cookie generati dall'applicazione e il cookie di sessione deve essere denominato JSESSIONID.
    • Configura il bilanciatore del carico in modo che esegua un controllo di integrità TCP o HTTP su SSO Apigee. Per TCP, utilizza l'URL di SSO Apigee:
      http_or_https://edge_sso_IP_DNS:9099

      Specifica la porta impostata da SSO Apigee. La porta 9099 è quella predefinita.

      Per HTTP, includi /healthz:

      http_or_https://edge_sso_IP_DNS:9099/healthz
    • Alcune impostazioni del bilanciatore del carico dipendono dall'abilitazione o meno di HTTPS su SSO Apigee. Per ulteriori informazioni, consulta le sezioni seguenti.

Accesso HTTP a SSO Apigee

Se utilizzi l'accesso HTTP a SSO Apigee, configura il bilanciatore del carico in modo da:

  • Utilizza la modalità HTTP per connetterti a SSO Apigee.
  • Ascolta sulla stessa porta dell'SSO Apigee.

    Per impostazione predefinita, l'SSO Apigee rimane in ascolto delle richieste HTTP sulla porta 9099. Facoltativamente, puoi utilizzare SSO_TOMCAT_PORT per impostare la porta SSO Apigee. Se hai utilizzato SSO_TOMCAT_PORT per modificare la porta SSO Apigee rispetto a quella predefinita, assicurati che il bilanciatore del carico sia in ascolto su quella porta.

Ad esempio, su ogni istanza SSO Apigee imposti la porta su 9033 aggiungendo quanto segue al file di configurazione:

SSO_TOMCAT_PORT=9033

Quindi, configura il bilanciatore del carico in modo che rimanga in ascolto sulla porta 9033 e inoltri le richieste a un'istanza Edge SSO sulla porta 9033. L'URL pubblico di SSO Apigee in questo scenario è:

http://LB_DNS_NAME:9033

Accesso HTTPS a SSO Apigee

Puoi configurare le istanze SSO Apigee in modo che utilizzino HTTPS per comunicazioni sicure. In questo scenario, segui i passaggi descritti in Configura l'SSO Apigee per l'accesso HTTPS. Nell'ambito del processo di attivazione di HTTPS, imposta SSO_TOMCAT_PROFILE nel file di configurazione SSO Apigee come mostrato di seguito:

SSO_TOMCAT_PROFILE=SSL_TERMINATION

(Facoltativo) Imposta la porta utilizzata da SSO Apigee per l'accesso HTTPS:

SSO_TOMCAT_PORT=9443

Per garantire una comunicazione corretta tra il bilanciatore del carico e l'SSO Apigee, configura il bilanciatore del carico come segue:

  • Utilizza la modalità TCP, non la modalità HTTP, per connetterti a SSO Apigee. In questo modo, le connessioni SSL possono passare senza terminazione nel bilanciatore del carico.
  • Ascolta sulla stessa porta dell'SSO Apigee definita da SSO_TOMCAT_PORT (ad es. 9443).
  • Inoltra le richieste a un'istanza SSO Apigee sulla stessa porta (9443).

Assicurati che l'URL pubblico rifletta le impostazioni DNS e della porta del bilanciatore del carico. L'URL pubblico di SSO Apigee in questo scenario è:

https://LB_DNS_NAME:9443

Installa l'SSO Apigee in più data center

In un ambiente con più data center, installi un'istanza SSO Apigee in ogni data center. Un'istanza SSO Apigee gestisce quindi tutto il traffico. Se l'istanza SSO Apigee non è disponibile, puoi passare alla seconda istanza SSO Apigee.

Prima di installare l'SSO Apigee in due data center, devi disporre di quanto segue:

  • L'indirizzo IP o il nome di dominio del server Postgres principale.

    In un ambiente con più data center, in genere installi un server Postgres in ogni data center e li configuri in modalità di replica Master-Standby. In questo esempio, il data center 1 contiene il server Postgres principale e il data center 2 contiene il server di standby. Per saperne di più, consulta Configura la replica master-standby per Postgres.

  • Una singola voce DNS che punta a un'istanza SSO Apigee. Ad esempio, crei una voce DNS nel modulo seguente che punta all'istanza SSO Apigee nel data center 1:
    my-sso.domain.com => apigee-sso-dc1-ip-or-lb
  • Entrambe le istanze di SSO Apigee devono utilizzare la stessa coppia di chiavi JWT specificata dalle proprietà SSO_JWT_SIGNING_KEY_FILEPATH e SSO_JWT_VERIFICATION_KEY_FILEPATH nel file di configurazione. Per saperne di più sull'impostazione di queste proprietà, consulta Installa e configura l'SSO Apigee.

Quando installi l'SSO Apigee in ogni data center, configuri entrambi in modo che utilizzino il master Postgres nel data center 1:

## Postgres configuration
PG_HOST=IP_or_DNS_of_PG_Master_in_DC1
PG_PORT=5432

Inoltre, configuri entrambi i data center in modo che utilizzino la voce DNS come URL accessibile pubblicamente:

# Externally accessible URL of Apigee SSO
SSO_PUBLIC_URL_HOSTNAME=my-sso.domain.com
# Default port is 9099.
SSO_PUBLIC_URL_PORT=9099

Se l'SSO Apigee nel data center 1 non funziona, puoi passare all'istanza SSO Apigee nel data center 2:

  1. Converti il server Postgres in standby nel data center 2 in Master come descritto in Gestione di un failover del database PostgreSQL.
  2. Aggiorna il record DNS in modo che punti my-sso.domain.com all'istanza SSO Apigee nel data center 2:
    my-sso.domain.com => apigee-sso-dc2-ip-or-lb
  3. Aggiorna il file di configurazione per l'SSO Apigee nel data center 2 in modo che punti al nuovo server master Postgres nel data center 2:
    ## Postgres configuration
    PG_HOST=IP_or_DNS_of_PG_Master_in_DC2
  4. Riavvia l'SSO Apigee nel data center 2 per aggiornare la configurazione:
    /opt/apigee/apigee-service/bin/apigee-service apigee-sso restart