Instala el SSO perimetral para obtener alta disponibilidad

Edge for Private Cloud v4.19.01

Puedes instalar varias instancias de SSO de Edge para obtener alta disponibilidad en dos situaciones:

  • En un único entorno de centro de datos, instala dos instancias de SSO de Edge para crear una alta de servicio, lo que significa que el sistema sigue funcionando si una de las SSO de Edge módulos deja de funcionar.
  • En un entorno con dos centros de datos, instale Edge SSO en ambos centros de datos para que el sigue funcionando si uno de los módulos de SSO de Edge deja de funcionar.

Instala dos módulos de SSO de Edge en el mismo centro de datos

Se implementan dos instancias de SSO de Edge, en distintos nodos, en un único centro de datos para admitir la alta disponibilidad. En este caso, ocurre lo siguiente:

  • Ambas instancias de SSO de Edge deben estar conectadas al mismo servidor de Postgres. Apigee recomienda un servidor de Postgres dedicado para SSO de Edge y no el mismo servidor de Postgres que instalada con Edge.
  • Ambas instancias de SSO de Edge deben usar el mismo par de claves JWT especificado por el SSO_JWT_SIGNING_KEY_FILEPATH y SSO_JWT_VERIFICATION_KEY_FILEPATH propiedades en el archivo de configuración. Consulta Instala y configura el SSO de Edge. para obtener más información sobre cómo configurar estas propiedades.
  • Necesitas un balanceador de cargas frente a las dos instancias de SSO de Edge:
    • El balanceador de cargas debe admitir la permanencia de las cookies generadas por la aplicación y la cookie debe llamarse JSESSIONID.
    • Configurar el balanceador de cargas para realizar una verificación de estado de TCP o HTTP en el SSO de Edge Para TCP, usa la URL del SSO de Edge:
      http_or_https://edge_sso_IP_DNS:9099

      Especifica el puerto como lo configuró el SSO de Edge. El puerto predeterminado es el 9099.

      Para HTTP, incluye /healthz:

      http_or_https://edge_sso_IP_DNS:9099/healthz
    • Algunos parámetros de configuración del balanceador de cargas dependen de si habilitaste HTTPS en el SSO de Edge. Consulta la a continuación para obtener más información.

Acceso HTTP al SSO de Edge

Si usas el acceso HTTP al SSO perimetral, configura el balanceador de cargas para que haga lo siguiente:

  • Usa el modo HTTP para conectarte al SSO de Edge.
  • Escucha en el mismo puerto que el SSO de Edge.

    De forma predeterminada, el SSO de Edge escucha las solicitudes HTTP en el puerto 9099. De manera opcional, puedes usar SSO_TOMCAT_PORT para configurar el puerto SSO de Edge. Si usaste SSO_TOMCAT_PORT para cambiar el puerto SSO de Edge del predeterminado, asegúrate de que el balanceador de cargas escuche puerto de red.

Por ejemplo, en cada instancia de SSO de Edge, establece el puerto en 9033 agregando lo siguiente al archivo de configuración:

SSO_TOMCAT_PORT=9033

Luego, configurarás el balanceador de cargas para que escuche en el puerto 9033 y reenvíe las solicitudes a un perímetro Instancia de SSO en el puerto 9033. La URL pública del SSO de Edge en este caso es la siguiente:

http://LB_DNS_NAME:9033

Acceso HTTPS al SSO de Edge

Puedes configurar las instancias de SSO de Edge para que usen HTTPS. En este caso, sigue los pasos que se Configura apigee-sso para el acceso HTTPS. Como como parte del proceso de habilitar HTTPS, configura SSO_TOMCAT_PROFILE en el SSO de Edge archivo de configuración como se muestra a continuación:

SSO_TOMCAT_PROFILE=SSL_TERMINATION

De manera opcional, también puedes configurar el puerto que usa el SSO de Edge para el acceso HTTPS:

SSO_TOMCAT_PORT=9443

Luego, configura el balanceador de cargas para hacer lo siguiente:

  • Usa el modo TCP, no el modo HTTP, para conectarte al SSO de Edge.
  • Escucha en el mismo puerto que el SSO de Edge, según lo define SSO_TOMCAT_PORT.

Luego, configurarás el balanceador de cargas para reenviar las solicitudes a una instancia de SSO de Edge en el puerto 9433. La URL pública del SSO de Edge en este caso es la siguiente:

https://LB_DNS_NAME:9443

Instalar el SSO de Edge en varios centros de datos

En un entorno de varios centros de datos, se instala una instancia de SSO de Edge en cada uno de ellos. Una instancia de SSO de Edge se encarga de todo el tráfico. Si esa instancia de SSO de Edge se cae, puedes cambie a la segunda instancia de SSO de Edge.

Antes de instalar el SSO de Edge en dos centros de datos, necesitarás lo siguiente:

  • Es la dirección IP o el nombre de dominio del servidor de Postgres de la instancia principal.

    En un entorno de varios centros de datos, por lo general, se instala un servidor de Postgres en cada y configurarlos en el modo de replicación Principal-Standby. Para este ejemplo, los datos central 1 contiene el servidor de Postgres principal y el centro de datos 2 contiene el objeto Standby. Para obtener más información, consulta Configura la replicación de instancia principal-en espera para Postgres.

  • Una sola entrada de DNS que apunta a una instancia de SSO de Edge. Por ejemplo, creas una instancia que dirija a la instancia de SSO de Edge en el centro de datos 1:
    my-sso.domain.com => apigee-sso-dc1-ip-or-lb
  • Ambas instancias de SSO de Edge deben usar el mismo par de claves JWT especificado por el SSO_JWT_SIGNING_KEY_FILEPATH y SSO_JWT_VERIFICATION_KEY_FILEPATH propiedades en el archivo de configuración. Consulta Instala y configura el SSO de Edge. para obtener más información sobre cómo configurar estas propiedades.

Cuando instalas el SSO de Edge en cada centro de datos, configuras ambos para usar la instancia principal de Postgres en el centro de datos 1:

## Postgres configuration
PG_HOST=IP_or_DNS_of_PG_Master_in_DC1
PG_PORT=5432

También configurarás ambos centros de datos para usar la entrada DNS como la URL de acceso público:

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

Si el SSO de Edge en el centro de datos 1 deja de funcionar, puedes cambiar a la instancia de SSO de Edge en los datos centro 2:

  1. Convierte el servidor de Postgres de Standby en el centro de datos 2 en la instancia principal como se describe en Maneja una conmutación por error de la base de datos de PostgreSQL.
  2. Actualiza el registro DNS para que apunte my-sso.domain.com a la instancia de SSO de perímetro en centro de datos 2:
    my-sso.domain.com => apigee-sso-dc2-ip-or-lb
  3. Actualiza el archivo de configuración del SSO de Edge en el centro de datos 2 para que apunte a la nueva instancia principal de Postgres en el centro de datos 2:
    ## Postgres configuration
    PG_HOST=IP_or_DNS_of_PG_Master_in_DC2
  4. Reinicia el SSO de Edge en el centro de datos 2 para actualizar su configuración:
    /opt/apigee/apigee-service/bin/apigee-service apigee-sso restart