Installa SSO SSO per un'alta disponibilità

Edge per Private Cloud v4.19.01

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 di Edge SSO, su nodi diversi, in un unico data center per supportare 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.
  • Entrambe le istanze del servizio SSO perimetrale 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 il servizio SSO perimetrale per ulteriori informazioni sull'impostazione di queste proprietà.
  • È 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.

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 connetterti al servizio 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

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

Quindi configura il bilanciatore del carico per:

  • Utilizza la modalità TCP, non la modalità HTTP, per connetterti al servizio SSO perimetrale.
  • Ascolta sulla stessa porta del servizio SSO perimetrale 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
  • Entrambe le istanze del servizio SSO perimetrale 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 il servizio SSO perimetrale per ulteriori informazioni sull'impostazione di queste proprietà.

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, configurerai entrambi i data center in modo che utilizzino 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:

  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 Edge in data center 2:
    my-sso.domain.com => apigee-sso-dc2-ip-or-lb
  3. Aggiorna il file di configurazione per l'accesso SSO perimetrale 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 perimetrale nel data center 2 per aggiornarne la configurazione:
    /opt/apigee/apigee-service/bin/apigee-service apigee-sso restart