Instala SSO perimetral para alta disponibilidad

Edge para la nube privada v4.18.01

Debes instalar varias instancias de SSO perimetral para obtener alta disponibilidad en dos situaciones:

  • En un entorno de centro de datos único, instala dos instancias de SSO de Edge para crear un entorno de alta disponibilidad, lo que significa que el sistema seguirá funcionando si uno de los módulos de SSO perimetral deja de funcionar.
  • En un entorno con dos centros de datos, instala el SSO de Edge en ambos para que el sistema siga funcionando si deja de funcionar uno de los módulos de SSO de Edge.

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

Implementas dos instancias de SSO perimetral en diferentes nodos, en un único centro de datos para admitir una alta disponibilidad. En este caso, ocurre lo siguiente:

  • Ambas instancias de SSO Edge deben estar conectadas al mismo servidor de Postgres. Apigee recomienda usar un servidor Postgres dedicado para el SSO Edge y no usar el mismo servidor de Postgres que instalaste con Edge.
  • Necesitas un balanceador de cargas frente a las dos instancias de SSO perimetral:
    • El balanceador de cargas debe admitir la atracción de cookies generada por la aplicación, y la cookie de sesión debe llamarse JSESSIONID.
    • Configurar el balanceador de cargas para realizar una verificación de estado de TCP o HTTP en el SSO perimetral. Para TCP, usa la URL del SSO de Edge:

      http_or_https://edge_sso_IP_DNS:9099

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

      Para HTTP, incluye /healthz:

      http_or_https://edge_sso_IP_DNS:9099/healthz
    • Algunas opciones de configuración del balanceador de cargas dependen de si habilitaste HTTPS en el SSO perimetral. Consulta las siguientes secciones para obtener más información.

Usa el acceso HTTP al SSO perimetral

Si usas el acceso HTTP al SSO perimetral, configura el balanceador de cargas para realizar las siguientes acciones:

  • Usa el modo HTTP para conectarte al SSO perimetral
  • Escucha en el mismo puerto que el SSO perimetral

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

Por ejemplo, en cada instancia de SSO de Edge, configura el puerto en 9033 mediante la adición de 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 solicitudes a una instancia de SSO perimetral en el puerto 9033. En esta situación, la URL pública del SSO de Edge es la siguiente:

http://LB_DNS_NAME:9033

Usa el acceso HTTPS al SSO perimetral

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

SSO_TOMCAT_PROFILE=SSL_TERMINATION 

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

SSO_TOMCAT_PORT=9443

Si usas el acceso HTTPS al SSO perimetral, configura el balanceador de cargas para realizar las siguientes acciones:

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

Luego, configurarás el balanceador de cargas para reenviar solicitudes a una instancia de SSO perimetral en el puerto 9433. En esta situación, la URL pública del SSO de Edge es la siguiente:

https://LB_DNS_NAME:9443

Instala el SSO de Edge en varios centros de datos

En un entorno de varios centros de datos, instalas una instancia de SSO perimetral en cada uno de ellos. Luego, una instancia de SSO perimetral controla todo el tráfico. Si esa instancia de SSO de Edge falla, puedes cambiar a la segunda instancia de SSO de Edge.

Antes de instalar el SSO de Edge en dos centros de datos, necesitas 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, debes instalar un servidor Postgres en cada uno de ellos y configurarlos en modo de replicación en espera principal. Para este ejemplo, el centro de datos 1 contiene el servidor Postgres Master, y el centro de datos 2 contiene el Standby. A fin de 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 perimetral. Por ejemplo, crearás una entrada de DNS en el siguiente formulario que apunta a la instancia de SSO de Edge en el centro de datos 1:

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

Cuando instalas el SSO perimetral en cada centro de datos, configuras ambos para que usen 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 para usar la entrada de 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 perimetral en el centro de datos 1 deja de funcionar, puedes cambiar a la instancia de SSO perimetral en el centro de datos 2:

  • Convierte el servidor en espera de Postgres del centro de datos 2 en una instancia principal como se describe en Cómo controlar una conmutación por error de la base de datos de PostgreSQL.
  • Actualiza el registro DNS para que my-sso.domain.com apunte a la instancia de SSO de Edge en el centro de datos 2:
    my-sso.domain.com => apigee-sso-dc2-ip-or-lb
  • Actualiza el archivo de configuración del SSO perimetral en el centro de datos 2 para que apunte al nuevo servidor principal de Postgres en el centro de datos 2:
    ## Postgres configuration.
    PG_HOST=IP_or_DNS_of_PG_Master_in_DC2
  • 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