Installa Apigee SSO per l'alta disponibilità

Puoi installare più istanze del servizio SSO di Apigee per garantire l'alta disponibilità in due scenari:

  • In un singolo ambiente di data center, installa due istanze SSO di Apigee per creare una l'ambiente di disponibilità, il che significa che il sistema continua a funzionare anche dei moduli non è disponibile.
  • In un ambiente con due data center, installa il servizio SSO di Apigee in entrambi i data center, continua a funzionare anche se uno dei moduli SSO di Apigee smette di funzionare.

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'accesso SSO di Apigee devono essere connesse allo stesso server Postgres. Apigee consiglia utilizzando un server Postgres dedicato per Apigee SSO e non lo stesso server Postgres che utilizzi installato con Edge.
  • Entrambe le istanze dell'accesso SSO di Apigee devono utilizzare la stessa coppia di chiavi JWT specificata nel SSO_JWT_SIGNING_KEY_FILEPATH e SSO_JWT_VERIFICATION_KEY_FILEPATH nel file di configurazione. Vedi Installare e configurare Apigee SSO per ulteriori informazioni sull'impostazione di queste proprietà.
  • È necessario un bilanciatore del carico per le due istanze di Apigee SSO:
    • Il bilanciatore del carico deve supportare gli stickiness generati dall'applicazione e la sessione il cookie 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 dal servizio SSO di 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'attivazione o meno di HTTPS su Apigee SSO. Consulta le le sezioni seguenti per ulteriori informazioni.

Accesso HTTP al servizio SSO di Apigee

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

  • 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 usato SSO_TOMCAT_PORT per cambiare la porta SSO di Apigee rispetto a quella predefinita, assicurati che il bilanciatore del carico ascolti su quella una porta.

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

SSO_TOMCAT_PORT=9033

Quindi configurerai il bilanciatore del carico per rimanere in ascolto sulla porta 9033 e inoltrare le richieste a un perimetro Istanza SSO sulla porta 9033. L'URL pubblico dell'accesso SSO di Apigee in questo scenario è:

http://LB_DNS_NAME:9033

Accesso HTTPS al servizio SSO di Apigee

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

SSO_TOMCAT_PROFILE=SSL_TERMINATION

Facoltativamente, imposta la porta utilizzata da Apigee SSO per l'accesso HTTPS:

SSO_TOMCAT_PORT=9443

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

  • Utilizza la modalità TCP, non la modalità HTTP, per connetterti ad Apigee SSO. Ciò consente il passaggio delle connessioni SSL senza terminazione sul bilanciatore del carico.
  • Ascolta sulla stessa porta del servizio SSO di Apigee definito da SSO_TOMCAT_PORT (ad es. 9443).
  • Inoltra le richieste a un'istanza SSO di Apigee sulla stessa porta (9443).

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

https://LB_DNS_NAME:9443

Installare il servizio SSO di Apigee in più data center

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

Per installare il servizio SSO di Apigee 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 ogni data center e configurarle in modalità di replica master-standby. Per questo esempio, i dati center 1 contiene il server Postgres principale e il data center 2 contiene lo standby. Per ulteriori informazioni, consulta Configurare la replica master-standby per Postgres.

  • Una singola voce DNS che punta a un'istanza SSO di Apigee. Ad esempio, se crei un DNS nel modulo seguente che rimanda all'istanza SSO di Apigee nel data center 1:
    my-sso.domain.com => apigee-sso-dc1-ip-or-lb
  • Entrambe le istanze dell'accesso SSO di Apigee devono utilizzare la stessa coppia di chiavi JWT specificata nel SSO_JWT_SIGNING_KEY_FILEPATH e SSO_JWT_VERIFICATION_KEY_FILEPATH nel file di configurazione. Vedi Installare e configurare Apigee SSO per ulteriori informazioni sull'impostazione di queste proprietà.

Quando installi il servizio SSO di Apigee in ogni data center, configuri entrambi in modo da utilizzare il database Postgres Master 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 pubblicamente accessibile:

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

Se il servizio SSO di Apigee nel data center 1 non è disponibile, puoi passare all'istanza SSO di Apigee nei dati centro 2:

  1. Converti il server di standby Postgres nel data center 2 in master come descritto in Gestire un failover di un database PostgreSQL.
  2. Aggiorna il record DNS in modo che punti my-sso.domain.com all'istanza SSO di Apigee in data center 2:
    my-sso.domain.com => apigee-sso-dc2-ip-or-lb
  3. Aggiorna il file di configurazione per il servizio SSO di Apigee nel data center 2 in modo che punti al nuovo 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