Installa Apigee SSO per l'alta disponibilità

Installa più istanze di Apigee SSO per l'alta disponibilità in due scenari:

  • In un singolo ambiente di data center, installa due istanze SSO Apigee per creare un ambiente ad alta disponibilità, il che significa che il sistema continua a funzionare anche se uno dei moduli SSO Apigee non funziona.
  • In un ambiente con due data center, installa l'SSO Apigee in entrambi i data center, in modo che il sistema continui a funzionare anche se uno dei moduli SSO Apigee non funziona.

Installa due moduli SSO Apigee nello stesso data center

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

  • Entrambe le istanze dell'SSO Apigee devono essere connesse allo stesso server Postgres. Apigee consiglia di utilizzare un server Postgres dedicato per il servizio SSO di Apigee e non lo stesso server Postgres che hai installato con Edge.
  • Entrambe le istanze dell'SSO di 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. Consulta Installare e configurare il servizio SSO di Apigee per ulteriori informazioni sull'impostazione di queste proprietà.
  • È necessario un bilanciatore del carico davanti alle due istanze del servizio SSO di Apigee:
    • Il bilanciatore del carico deve supportare la fidelizzazione dei cookie generata dall'applicazione e il cookie della sessione deve essere denominato JSESSIONID.
    • Configura il bilanciatore del carico per eseguire un controllo di integrità TCP o HTTP su Apigee SSO. Per TCP, utilizza l'URL dell'accesso SSO di Apigee:
      http_or_https://edge_sso_IP_DNS:9099

      Specifica la porta impostata da Apigee SSO. 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 di HTTPS su Apigee SSO. Per saperne di più, consulta le sezioni seguenti.

Accesso HTTP all'SSO di Apigee

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

  • Utilizza la modalità HTTP per connetterti all'accesso SSO di Apigee.
  • Ascolta sulla stessa porta del servizio SSO di Apigee.

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

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

SSO_TOMCAT_PORT=9033

Successivamente, configurerai il bilanciatore del carico per l'ascolto sulla porta 9033 e l'inoltro delle richieste a un'istanza SSO perimetrale sulla porta 9033. L'URL pubblico del servizio SSO di Apigee in questo scenario è:

http://LB_DNS_NAME:9033

Accesso HTTPS all'accesso SSO di Apigee

Puoi configurare le istanze SSO di Apigee per l'utilizzo di HTTPS. In questo scenario, segui i passaggi descritti in Configurare il servizio SSO di Apigee per l'accesso HTTPS. Nell'ambito della procedura di abilitazione di HTTPS, imposti SSO_TOMCAT_PROFILE nel file di configurazione SSO Apigee come mostrato di seguito:

SSO_TOMCAT_PROFILE=SSL_TERMINATION

Facoltativamente, puoi anche impostare la porta utilizzata da Apigee SSO per l'accesso HTTPS:

SSO_TOMCAT_PORT=9443

Quindi, configura il bilanciatore del carico in modo da:

  • Utilizza la modalità TCP, non la modalità HTTP, per connetterti all'accesso SSO di Apigee.
  • Ascolta sulla stessa porta del servizio SSO di Apigee come definito da SSO_TOMCAT_PORT.

Successivamente, configurerai il bilanciatore del carico per inoltrare le richieste a un'istanza SSO Apigee sulla porta 9433. L'URL pubblico del servizio SSO di Apigee in questo scenario è:

https://LB_DNS_NAME:9443

Installa il servizio SSO di Apigee in più data center

In un ambiente con più data center, installi un'istanza SSO Apigee in ciascun data center. Quindi, un'istanza SSO Apigee gestisce tutto il traffico. Se l'istanza SSO di Apigee non funziona, puoi passare alla seconda istanza SSO Apigee.

Prima di installare Apigee SSO in due data center, è necessario quanto segue:

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

    In un ambiente con più data center, in genere si installa un server Postgres in ciascun data center e lo si configura in modalità di replica master-standby. Ad esempio, il data center 1 contiene il server Postgres Master, mentre il data center 2 contiene lo stato Standby. Per maggiori informazioni, consulta Configurare la replica master-in standby per Postgres.

  • Una singola voce DNS che rimanda a un'istanza SSO Apigee. Ad esempio, crei una voce DNS nel modulo seguente che indirizza all'istanza SSO di Apigee nel data center 1:
    my-sso.domain.com => apigee-sso-dc1-ip-or-lb
  • Entrambe le istanze dell'SSO di 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. Consulta Installare e configurare il servizio SSO di Apigee per ulteriori informazioni sull'impostazione di queste proprietà.

Quando installi l'accesso SSO Apigee in ciascun data center, devi configurare entrambi per l'utilizzo del master Postgres nel data center 1:

## Postgres configuration
PG_HOST=IP_or_DNS_of_PG_Master_in_DC1
PG_PORT=5432

Inoltre, configurerai 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'accesso SSO di Apigee nel data center 1 non funziona, puoi passare all'istanza SSO di Apigee nel data center 2:

  1. Converti il server Standby Postgres nel data center 2 in Master, come descritto in Gestione del failover di un 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 Apigee SSO nel data center 2 in modo che rimandi al nuovo server master Postgres nel data center 2:
    ## Postgres configuration
    PG_HOST=IP_or_DNS_of_PG_Master_in_DC2
  4. Riavvia il servizio SSO di Apigee nel data center 2 per aggiornarne la configurazione:
    /opt/apigee/apigee-service/bin/apigee-service apigee-sso restart