Installa SSO SSO per un'alta disponibilità

Edge per Private Cloud v4.19.01

Installa più istanze dell'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 ambiente ad alta disponibilità, il che significa che il sistema continuerà a funzionare anche se uno dei moduli SSO perimetrale non funziona.
  • In un ambiente con due data center, installa l'SSO Edge in entrambi i data center, in modo che il sistema continui a funzionare anche se uno dei moduli SSO perimetrale non funziona.

Installa due moduli SSO Edge nello stesso data center

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

  • Entrambe le istanze dell'SSO perimetrale devono essere connesse allo stesso server Postgres. Apigee consiglia di utilizzare un server Postgres dedicato per il servizio SSO Edge e non lo stesso server Postgres che hai installato con Edge.
  • Entrambe le istanze dell'SSO perimetrale 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. Consulta Installare e configurare il servizio SSO Edge per saperne di più sull'impostazione di queste proprietà.
  • È necessario un bilanciatore del carico davanti alle due istanze dell'SSO perimetrale:
    • Il bilanciatore del carico deve supportare la fidelizzazione dei cookie generata dall'applicazione e il cookie della sessione deve essere denominato JSESSIONID.
    • Configura il bilanciatore del carico per eseguire un controllo di integrità TCP o HTTP sull'SSO Edge. Per TCP, utilizza l'URL dell'SSO Edge:
      http_or_https://edge_sso_IP_DNS:9099

      Specifica la porta impostata dall'SSO Edge. 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 di HTTPS sull'SSO perimetrale. Per saperne di più, consulta le sezioni seguenti.

Accesso HTTP a SSO Edge

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

  • Utilizza la modalità HTTP per connetterti all'SSO Edge.
  • Ascolta sulla stessa porta del servizio SSO Edge.

    Per impostazione predefinita, il servizio SSO perimetrale rimane in ascolto delle richieste HTTP sulla porta 9099. Facoltativamente, puoi utilizzare SSO_TOMCAT_PORT per impostare la porta SSO perimetrale. Se hai utilizzato SSO_TOMCAT_PORT per modificare la porta SSO perimetrale dal valore predefinito, assicurati che il bilanciatore del carico sia in ascolto su quella porta.

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

SSO_TOMCAT_PORT=9033

Successivamente, configurerai il bilanciatore del carico per l'ascolto sulla porta 9033 e l'inoltro delle richieste a un'istanza SSO perimetrale sulla porta 9033. L'URL pubblico dell'SSO Edge in questo scenario è:

http://LB_DNS_NAME:9033

Accesso HTTPS a SSO perimetrale

Puoi configurare le istanze SSO Edge in modo che utilizzino HTTPS. In questo scenario, segui i passaggi descritti in Configurare apigee-sso per l'accesso HTTPS. Nell'ambito della procedura di abilitazione di HTTPS, imposti SSO_TOMCAT_PROFILE nel file di configurazione SSO perimetrale come mostrato di seguito:

SSO_TOMCAT_PROFILE=SSL_TERMINATION

Facoltativamente, puoi anche impostare la porta utilizzata dall'SSO Edge per l'accesso HTTPS:

SSO_TOMCAT_PORT=9443

Quindi, configura il bilanciatore del carico in modo da:

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

Successivamente, configurerai il bilanciatore del carico per inoltrare le richieste a un'istanza SSO perimetrale sulla porta 9433. L'URL pubblico dell'SSO Edge 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 perimetrale gestisce tutto il traffico. Se quell'istanza SSO perimetrale non funziona, puoi passare alla seconda istanza SSO perimetrale.

Prima di installare Edge SSO 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 ciascun data center e lo si configura in modalità di replica master-standby. Ad esempio, il data center 1 contiene il server Postgres Master, mentre il data center 2 contiene lo stato Standby. Per maggiori informazioni, consulta Configurare la replica master-in standby per Postgres.

  • Una singola voce DNS che rimanda a un'istanza SSO perimetrale. Ad esempio, nel modulo seguente crei una voce DNS che indirizza all'istanza SSO perimetrale nel data center 1:
    my-sso.domain.com => apigee-sso-dc1-ip-or-lb
  • Entrambe le istanze dell'SSO perimetrale 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. Consulta Installare e configurare il servizio SSO Edge per saperne di più sull'impostazione di queste proprietà.

Quando installi il servizio SSO Edge in ogni data center, devi configurare entrambi i tipi di accesso in modo da utilizzare il 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 accessibile pubblicamente:

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

Se l'SSO Edge nel data center 1 non funziona, puoi passare all'istanza SSO perimetrale nel data center 2:

  1. Converti il server Standby Postgres nel data center 2 in Master, come descritto in Gestione del failover di un database PostgreSQL.
  2. Aggiorna il record DNS in modo che rimandi my-sso.domain.com all'istanza SSO perimetrale nel data center 2:
    my-sso.domain.com => apigee-sso-dc2-ip-or-lb
  3. Aggiorna il file di configurazione per Edge SSO nel data center 2 in modo che rimandi al nuovo server 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