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 Apigee SSO per creare un ambiente di alta disponibilità, il che significa che il sistema continua a funzionare se uno dei moduli Apigee SSO si arresta in modo anomalo.
  • In un ambiente con due data center, installa Apigee SSO 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

Per supportare un'alta disponibilità, esegui il deployment di due istanze di Apigee SSO su nodi diversi in un unico data center. 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 di Apigee SSO 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ù su come impostare queste proprietà, consulta Installare e configurare Apigee SSO.
  • È necessario un bilanciatore del carico per le due istanze di Apigee SSO:
    • Il bilanciatore del carico deve supportare la persistenza dei cookie generati dall'applicazione e il cookie della sessione deve avere il nome JSESSIONID.
    • Configura il bilanciatore del carico per eseguire un controllo di integrità TCP o HTTP su Apigee SSO. Per TCP, utilizza l'URL di Apigee SSO:
      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'attivazione o meno di HTTPS su Apigee SSO. Per ulteriori informazioni, vedi le sezioni successive.

Accesso HTTP al servizio SSO di Apigee

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

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

    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 modificare la porta SSO di Apigee rispetto a quella predefinita, assicurati che il bilanciatore del carico ascolti su quella porta.

Ad esempio, su ogni istanza Apigee SSO imposti la porta su 9033 aggiungendo quanto segue al file 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 di Apigee SSO 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. In questo caso, segui i passaggi Configura il servizio SSO di Apigee per l'accesso HTTPS. Come nell'ambito del processo di abilitazione di HTTPS, imposti SSO_TOMCAT_PROFILE nel servizio SSO di Apigee di configurazione del deployment come mostrato di seguito:

SSO_TOMCAT_PROFILE=SSL_TERMINATION

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

SSO_TOMCAT_PORT=9443

Quindi configura il bilanciatore del carico per:

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

Quindi configurerai il bilanciatore del carico in modo che inoltri le richieste a un'istanza SSO di Apigee sulla porta 9433. L'URL pubblico di Apigee SSO in questo scenario è:

https://LB_DNS_NAME:9443

Installa Apigee SSO 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.

Prima di installare Apigee SSO 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 viene installato un server Postgres in ogni data center e configurato in modalità di replica master-standby. Per questo esempio, il data center 1 contiene il server Postgres Master e il data center 2 contiene il server 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 per l'utilizzo del servizio nel data center 1:

## Postgres configuration
PG_HOST=IP_or_DNS_of_PG_Master_in_DC1
PG_PORT=5432

Configura anche entrambi i data center in modo che utilizzino la voce DNS come URL accessibile al pubblico:

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

Se SSO di Apigee nel data center 1 non è disponibile, puoi passare all'istanza SSO di Apigee nel data center 2:

  1. Converti il server Postgres Standby 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 a my-sso.domain.com per l'istanza SSO di Apigee nel 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