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
eSSO_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.
- Il bilanciatore del carico deve supportare la persistenza dei cookie generati dall'applicazione e il cookie
della sessione deve avere il nome
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 utilizzatoSSO_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
eSSO_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:
- Converti il server Postgres Standby nel data center 2 in Master come descritto in Gestione del failover di un database PostgreSQL.
- 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
- 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
- Riavvia il servizio SSO di Apigee nel data center 2 per aggiornarne la configurazione:
/opt/apigee/apigee-service/bin/apigee-service apigee-sso restart