Installer l'authentification unique Apigee pour la haute disponibilité

Vous installez plusieurs instances de l'authentification unique Apigee pour une haute disponibilité dans deux scénarios:

  • Dans un environnement de centre de données unique, installez deux instances SSO Apigee pour créer un environnement à haute disponibilité. Ainsi, le système continue de fonctionner si l'un des modules SSO Apigee tombe en panne.
  • Dans un environnement comportant deux centres de données, installez l'authentification unique Apigee dans ces deux centres de données afin que le système continue de fonctionner si l'un des modules d'authentification unique Apigee tombe en panne.

Installer deux modules SSO Apigee dans le même centre de données

Vous déployez deux instances de l'authentification unique Apigee, sur des nœuds différents, dans un seul centre de données pour assurer la haute disponibilité. Dans ce cas, on a :

  • Les deux instances de l'authentification unique Apigee doivent être connectées au même serveur Postgres. Apigee recommande d'utiliser un serveur Postgres dédié pour l'authentification unique Apigee, et non le serveur Postgres que vous avez installé avec Edge.
  • Les deux instances de l'authentification unique Apigee doivent utiliser la même paire de clés JWT, comme spécifié par les propriétés SSO_JWT_SIGNING_KEY_FILEPATH et SSO_JWT_VERIFICATION_KEY_FILEPATH du fichier de configuration. Reportez-vous à Installer et configurer l'authentification unique Apigee pour plus d'informations sur la définition de ces propriétés.
  • Vous avez besoin d'un équilibreur de charge devant les deux instances de l'authentification unique Apigee :
    • L'équilibreur de charge doit prendre en charge la conservation des cookies générés par l'application, et le cookie de session doit être nommé JSESSIONID.
    • Configurez l'équilibreur de charge pour qu'il effectue une vérification de l'état TCP ou HTTP sur l'authentification unique Apigee. Pour TCP, utilisez l'URL d'Apigee SSO :
      http_or_https://edge_sso_IP_DNS:9099

      Spécifiez le port tel qu'il est défini par l'authentification unique Apigee. Le port 9099 est le port par défaut.

      Pour HTTP, incluez /healthz:

      http_or_https://edge_sso_IP_DNS:9099/healthz
    • Certains paramètres de l'équilibreur de charge dépendent de l'activation ou non du protocole HTTPS sur l'authentification unique Apigee. Pour en savoir plus, consultez les sections suivantes.

Accès HTTP à l'authentification unique Apigee

Si vous utilisez un accès HTTP à Apigee SSO, configurez l'équilibreur de charge pour:

  • Utilisez le mode HTTP pour vous connecter à l'authentification unique Apigee.
  • Écoutez sur le même port qu'Apigee SSO.

    Par défaut, l'authentification unique Apigee écoute les requêtes HTTP sur le port 9099. Vous pouvez éventuellement utiliser SSO_TOMCAT_PORT pour définir le port SSO Apigee. Si vous avez utilisé SSO_TOMCAT_PORT pour modifier le port d'authentification unique Apigee par défaut, assurez-vous que l'équilibreur de charge écoute sur ce port.

Par exemple, sur chaque instance d'authentification unique Apigee, vous définissez le port sur 9033 en ajoutant les éléments suivants au fichier de configuration:

SSO_TOMCAT_PORT=9033

Vous configurez ensuite l'équilibreur de charge pour écouter sur le port 9033 et transférer les requêtes vers une instance SSO Edge sur le port 9033. L'URL publique de l'authentification unique Apigee dans ce scénario est la suivante:

http://LB_DNS_NAME:9033

Accès HTTPS à Apigee SSO

Vous pouvez configurer les instances SSO Apigee pour qu'elles utilisent HTTPS. Dans ce scénario, suivez la procédure décrite dans la section Configurer l'authentification unique Apigee pour l'accès HTTPS. Dans le cadre du processus d'activation de HTTPS, vous définissez SSO_TOMCAT_PROFILE dans le fichier de configuration de l'authentification unique Apigee, comme indiqué ci-dessous:

SSO_TOMCAT_PROFILE=SSL_TERMINATION

Si vous le souhaitez, vous pouvez également définir le port utilisé par Apigee SSO pour l'accès HTTPS:

SSO_TOMCAT_PORT=9443

Configurez ensuite l'équilibreur de charge pour:

  • Utilisez le mode TCP, et non le mode HTTP, pour vous connecter à l'authentification unique Apigee.
  • Écouter sur le même port que l'authentification unique Apigee, tel que défini par SSO_TOMCAT_PORT.

Vous configurerez ensuite l'équilibreur de charge pour qu'il transfère les requêtes vers une instance SSO Apigee sur le port 9433. L'URL publique de l'authentification unique Apigee dans ce scénario est la suivante:

https://LB_DNS_NAME:9443

Installer l'authentification unique Apigee dans plusieurs centres de données

Dans un environnement comportant plusieurs centres de données, vous devez installer une instance Apigee SSO dans chaque centre de données. Une instance SSO Apigee gère ensuite tout le trafic. Si cette instance Apigee SSO tombe en panne, vous pouvez alors basculer vers la deuxième instance SSO Apigee.

Avant d'installer l'authentification unique Apigee dans deux centres de données, vous avez besoin des éléments suivants:

  • Adresse IP ou nom de domaine du serveur Postgres maître.

    Dans un environnement comportant plusieurs centres de données, vous installez généralement un serveur Postgres dans chaque centre de données et le configurez en mode de réplication maître/veille. Dans cet exemple, le centre de données 1 contient le serveur Postgres maître et le centre de données 2 contient le Standby. Pour en savoir plus, consultez la page Configurer la réplication maître en veille pour Postgres.

  • Une seule entrée DNS qui pointe vers une instance SSO Apigee. Par exemple, vous créez une entrée DNS dans le formulaire ci-dessous qui pointe vers l'instance SSO Apigee dans le centre de données 1 :
    my-sso.domain.com => apigee-sso-dc1-ip-or-lb
  • Les deux instances de l'authentification unique Apigee doivent utiliser la même paire de clés JWT, comme spécifié par les propriétés SSO_JWT_SIGNING_KEY_FILEPATH et SSO_JWT_VERIFICATION_KEY_FILEPATH du fichier de configuration. Reportez-vous à Installer et configurer l'authentification unique Apigee pour plus d'informations sur la définition de ces propriétés.

Lorsque vous installez l'authentification unique Apigee dans chaque centre de données, vous les configurez pour utiliser le maître Postgres dans le centre de données 1:

## Postgres configuration
PG_HOST=IP_or_DNS_of_PG_Master_in_DC1
PG_PORT=5432

Vous allez également configurer les deux centres de données pour qu'ils utilisent l'entrée DNS en tant qu'URL accessible au public:

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

Si l'authentification unique Apigee du centre de données 1 tombe en panne, vous pouvez passer à l'instance d'authentification unique Apigee dans le centre de données 2:

  1. Convertissez le serveur Postgres Standby du centre de données 2 en serveur maître, comme décrit dans la section Gérer un basculement de base de données PostgreSQL.
  2. Mettez à jour l'enregistrement DNS pour qu'il pointe my-sso.domain.com vers l'instance SSO Apigee dans le centre de données 2 :
    my-sso.domain.com => apigee-sso-dc2-ip-or-lb
  3. Mettez à jour le fichier de configuration de l'authentification unique Apigee dans le centre de données 2 pour qu'il pointe vers le nouveau serveur maître Postgres du centre de données 2 :
    ## Postgres configuration
    PG_HOST=IP_or_DNS_of_PG_Master_in_DC2
  4. Redémarrez l'authentification unique Apigee dans le centre de données 2 pour mettre à jour sa configuration :
    /opt/apigee/apigee-service/bin/apigee-service apigee-sso restart