Instala varias instancias de SSO de Apigee para obtener alta disponibilidad en dos situaciones:
- En un entorno de un solo centro de datos, instala dos instancias de SSO de Apigee para crear un entorno de alta disponibilidad, lo que significa que el sistema sigue funcionando si uno de los módulos de SSO de Apigee deja de funcionar.
- En un entorno con dos centros de datos, instala el SSO de Apigee en ambos centros de datos para que el sistema siga funcionando si uno de los módulos del SSO de Apigee deja de funcionar.
Instala dos módulos de SSO de Apigee en el mismo centro de datos
Implementas dos instancias de SSO de Apigee, en nodos diferentes, en un solo centro de datos para admitir la alta disponibilidad. En este caso, ocurre lo siguiente:
- Ambas instancias de SSO de Apigee deben estar conectadas al mismo servidor de Postgres. Apigee recomienda usar un servidor de Postgres dedicado para el SSO de Apigee y no el mismo servidor de Postgres que instalaste con Edge.
- Ambas instancias de SSO de Apigee deben usar el mismo par de claves de JWT, como se especifica en las propiedades
SSO_JWT_SIGNING_KEY_FILEPATHySSO_JWT_VERIFICATION_KEY_FILEPATHdel archivo de configuración. Consulta Instala y configura el SSO de Apigee 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 Apigee:
- El balanceador de cargas debe admitir la persistencia de cookies generada por la aplicación, y la cookie de sesión
debe llamarse
JSESSIONID. - Configura el balanceador de cargas para que realice una verificación de estado de TCP o HTTP en el SSO de Apigee. Para TCP,
usa la URL de SSO de Apigee:
http_or_https://edge_sso_IP_DNS:9099
Especifica el puerto según lo establecido por el SSO de Apigee. El puerto 9099 es el predeterminado.
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 Apigee. Consulta las siguientes secciones para obtener más información.
- El balanceador de cargas debe admitir la persistencia de cookies generada por la aplicación, y la cookie de sesión
debe llamarse
Acceso HTTP al SSO de Apigee
Si usas el acceso HTTP al SSO de Apigee, configura el balanceador de cargas para que haga lo siguiente:
- Usa el modo HTTP para conectarte al SSO de Apigee.
Escucha en el mismo puerto que el SSO de Apigee.
De forma predeterminada, el SSO de Apigee escucha las solicitudes HTTP en el puerto 9099. De manera opcional, puedes usar
SSO_TOMCAT_PORTpara configurar el puerto de SSO de Apigee. Si usasteSSO_TOMCAT_PORTpara cambiar el puerto de SSO de Apigee del predeterminado, asegúrate de que el balanceador de cargas escuche en ese puerto.
Por ejemplo, en cada instancia de SSO de Apigee, configura el puerto en 9033 agregando lo siguiente al archivo de configuración:
SSO_TOMCAT_PORT=9033
Luego, configura el balanceador de cargas para que escuche en el puerto 9033 y reenvíe las solicitudes a una instancia de SSO de Edge en el puerto 9033. La URL pública del SSO de Apigee en esta situación es la siguiente:
http://LB_DNS_NAME:9033
Acceso HTTPS al SSO de Apigee
Puedes configurar las instancias de SSO de Apigee para que usen HTTPS en las comunicaciones seguras. En esta situación, sigue los pasos que se indican en
Configura el SSO de Apigee para el acceso HTTPS. Como parte del proceso para habilitar HTTPS, configura SSO_TOMCAT_PROFILE en el archivo de configuración de SSO de Apigee, como se muestra a continuación:
SSO_TOMCAT_PROFILE=SSL_TERMINATION
De manera opcional, configura el puerto que usa el SSO de Apigee para el acceso HTTPS:
SSO_TOMCAT_PORT=9443
Para garantizar una comunicación adecuada entre el balanceador de cargas y el SSO de Apigee, configura el balanceador de cargas de la siguiente manera:
- Usa el modo TCP, no el modo HTTP, para conectarte al SSO de Apigee. Esto permite que las conexiones SSL pasen sin finalizar en el balanceador de cargas.
- Escucha en el mismo puerto que el SSO de Apigee, según lo define
SSO_TOMCAT_PORT(p.ej., 9443). - Reenvía las solicitudes a una instancia de SSO de Apigee en el mismo puerto (9443).
Asegúrate de que la URL pública refleje la configuración de DNS y puerto del balanceador de cargas. La URL pública del SSO de Apigee en esta situación es la siguiente:
https://LB_DNS_NAME:9443
Instala el SSO de Apigee en varios centros de datos
En un entorno de varios centros de datos, debes instalar una instancia de SSO de Apigee en cada centro de datos. Luego, una instancia de SSO de Apigee controla todo el tráfico. Si esa instancia de SSO de Apigee deja de funcionar, puedes cambiar a la segunda instancia de SSO de Apigee.
Antes de instalar el SSO de Apigee en dos centros de datos, necesitas lo siguiente:
Es la dirección IP o el nombre de dominio del servidor de Postgres principal.
En un entorno de varios centros de datos, por lo general, instalas un servidor de Postgres en cada centro de datos y los configuras en el modo de replicación principal-en espera. En este ejemplo, el centro de datos 1 contiene el servidor de Postgres principal y el centro de datos 2 contiene el en espera. Para obtener más información, consulta Configura la replicación principal-en espera para Postgres.
- Una sola entrada de DNS que apunta a una instancia de SSO de Apigee. Por ejemplo, creas una entrada de DNS
en el siguiente formato que apunta a la instancia de SSO de Apigee en el centro de datos 1:
my-sso.domain.com => apigee-sso-dc1-ip-or-lb
- Ambas instancias de SSO de Apigee deben usar el mismo par de claves de JWT, como se especifica en las propiedades
SSO_JWT_SIGNING_KEY_FILEPATHySSO_JWT_VERIFICATION_KEY_FILEPATHdel archivo de configuración. Consulta Instala y configura el SSO de Apigee para obtener más información sobre cómo configurar estas propiedades.
Cuando instalas el SSO de Apigee en cada centro de datos, configuras ambos para que usen el Postgres principal en el centro de datos 1:
## Postgres configuration
PG_HOST=IP_or_DNS_of_PG_Master_in_DC1
PG_PORT=5432También debes configurar ambos centros de datos para que usen la entrada de DNS como la URL de acceso público:
# Externally accessible URL of Apigee SSO SSO_PUBLIC_URL_HOSTNAME=my-sso.domain.com # Default port is 9099. SSO_PUBLIC_URL_PORT=9099
Si el SSO de Apigee en el centro de datos 1 deja de funcionar, puedes cambiar a la instancia de SSO de Apigee en el centro de datos 2:
- Convierte el servidor en espera de Postgres en el centro de datos 2 en principal, como se describe en Controla una conmutación por error de la base de datos de PostgreSQL.
- Actualiza el registro DNS para que apunte
my-sso.domain.coma la instancia de SSO de Apigee en el centro de datos 2:my-sso.domain.com => apigee-sso-dc2-ip-or-lb
- Actualiza el archivo de configuración del SSO de Apigee 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 Apigee en el centro de datos 2 para actualizar su configuración:
/opt/apigee/apigee-service/bin/apigee-service apigee-sso restart