Installazione di Edge SSO per un'alta disponibilità

Edge per Private Cloud v. 4.17.09

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

  • In un singolo ambiente di data center, installa due istanze SSO Edge per creare un dell'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 SSO Edge in entrambi i data center, in modo che continua a funzionare se uno dei moduli SSO Edge non funziona.

Installare due moduli SSO Edge nello stesso data center

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

  • Entrambe le istanze del servizio SSO perimetrale devono essere connesse allo stesso server Postgres. Apigee consiglia utilizzando un server Postgres dedicato per l'SSO Edge e non lo stesso server Postgres installato con Edge.
  • È necessario un bilanciatore del carico per le due istanze dell'accesso SSO perimetrale:
    • 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 sull'accesso SSO perimetrale. Per TCP, utilizza l'URL dell'accesso SSO perimetrale:

      http_or_https://edge_sso_IP_DNS:9099

      Specifica la porta come impostata dall'accesso SSO perimetrale. 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 sull'accesso SSO perimetrale. Consulta le le sezioni seguenti per ulteriori informazioni.

Utilizzo dell'accesso HTTP a SSO Edge

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

  • Utilizza la modalità HTTP per la connessione a SSO Edge
  • Ascolta sulla stessa porta del servizio SSO perimetrale

    Per impostazione predefinita, il servizio SSO Edge rimane in ascolto delle richieste HTTP sulla porta 9099. Facoltativamente, puoi utilizzare SSO_TOMCAT_PORT per impostare la porta SSO Edge. Se hai usato SSO_TOMCAT_PORT per cambiare la porta SSO perimetrale da quella predefinita, assicurati che il bilanciatore del carico ascolti su quella una porta.

Ad esempio, per ogni istanza SSO Edge 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 perimetrale in questo scenario è:

http://LB_DNS_NAME:9033

Utilizzo dell'accesso HTTPS a SSO Edge

Puoi configurare le istanze SSO Edge in modo che utilizzino HTTPS. In questo caso, segui i passaggi Configura apigee-sso per l'accesso HTTPS. Come nell'ambito del processo di abilitazione di HTTPS, imposti SSO_TOMCAT_PROFILE nell'accesso SSO perimetrale di configurazione del deployment come mostrato di seguito:

SSO_TOMCAT_PROFILE=SSL_TERMINATION 

Facoltativamente, puoi impostare la porta utilizzata dal servizio SSO perimetrale per l'accesso HTTPS:

SSO_TOMCAT_PORT=9443

Se utilizzi l'accesso HTTPS per l'accesso SSO perimetrale, configura il bilanciatore del carico in modo da:

  • Utilizza la modalità TCP, non la modalità HTTP, per connetterti al servizio SSO perimetrale
  • Ascolta sulla stessa porta del servizio SSO perimetrale come definito da SSO_TOMCAT_PORT

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

https://LB_DNS_NAME:9443

Installare Edge SSO in più data center

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

Prima di installare il servizio SSO perimetrale 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 Edge. Ad esempio, crei una configurazione DNS nel modulo seguente che rimanda all'istanza SSO Edge nel data center 1:

    my-sso.domain.com => apigee-sso-dc1-ip-or-lb

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

## Postgres configuration.
PG_HOST=IP_or_DNS_of_PG_Master_in_DC1
 PG_PORT=5432

Inoltre, configuri entrambi per utilizzare la voce DNS come URL pubblicamente accessibile:

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

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

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