Installer l'authentification unique Apigee pour la haute disponibilité

Vous installez plusieurs instances d'Apigee SSO pour la 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é, ce qui signifie que le système continue de fonctionner si l'un des modules SSO Apigee tombe en panne.
  • Dans un environnement avec deux centres de données, installez Apigee SSO dans les deux centres de données afin que le système continue de fonctionner si l'un des modules Apigee SSO 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 même centre de données pour haute disponibilité. Dans ce cas :

  • 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 même serveur Postgres que celui que vous avez installé avec Edge.
  • Les deux instances de l'authentification unique Apigee doivent utiliser la même paire de clés JWT que celle spécifiée par les propriétés SSO_JWT_SIGNING_KEY_FILEPATH et SSO_JWT_VERIFICATION_KEY_FILEPATH dans le fichier de configuration. Consultez Installer et configurer l'authentification unique Apigee pour en savoir plus 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 persistance des cookies générés par l'application, et le cookie de session doit être nommé JSESSIONID.
    • Configurez l'équilibreur de charge pour effectuer une vérification d'état TCP ou HTTP sur Apigee SSO. Pour TCP, utilisez l'URL de l'authentification unique Apigee:
      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 utilisé par défaut.

      Pour HTTP, incluez /healthz :

      http_or_https://edge_sso_IP_DNS:9099/healthz
    • Certains paramètres de l'équilibreur de charge varient selon que vous avez activé HTTPS ou non dans l'authentification unique Apigee. Pour en savoir plus, consultez les sections suivantes.

Accès HTTP à l'authentification unique Apigee

Si vous utilisez l'accès HTTP à l'authentification unique Apigee, configurez l'équilibreur de charge de manière à:

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

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

Par exemple, sur chaque instance de SSO Apigee, vous définissez le port sur 9033 en ajoutant ce qui suit au fichier de configuration :

SSO_TOMCAT_PORT=9033

Vous configurerez ensuite l'équilibreur de charge pour qu'il écoute le port 9033 et transfère les requêtes vers Instance SSO 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 à l'authentification unique Apigee

Vous pouvez configurer les instances d'authentification unique 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 un accès HTTPS. Dans le cadre du processus d'activation du protocole HTTPS, vous devez définir SSO_TOMCAT_PROFILE dans le fichier de configuration du SSO Apigee, comme indiqué ci-dessous :

SSO_TOMCAT_PROFILE=SSL_TERMINATION

Vous pouvez également définir le port utilisé par l'authentification unique Apigee 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.
  • Écoutez sur le même port que l'authentification unique Apigee, comme défini par SSO_TOMCAT_PORT.

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

https://LB_DNS_NAME:9443

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

Dans un environnement avec plusieurs centres de données, vous installez une instance d'authentification unique Apigee dans chaque centre de données. Une instance d'authentification unique Apigee gère ensuite l'ensemble du trafic. Si cette instance SSO Apigee tombe en panne, vous pouvez passer à 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 principal.

    Dans un environnement multi-centre de données, vous installez généralement un serveur Postgres dans chaque centre de données et les configurez en mode de réplication maître-slave. Dans cet exemple, le centre de données 1 contient le serveur PostgreSQL maître et le centre de données 2 contient le nœud de secours. Pour en savoir plus, consultez la section Configurer la réplication maître Postgres

  • Une seule entrée DNS qui pointe vers une instance d'authentification unique Apigee. Par exemple, vous créez un DNS entrée du formulaire ci-dessous qui pointe vers l'instance d'authentification unique 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ée par SSO_JWT_SIGNING_KEY_FILEPATH et SSO_JWT_VERIFICATION_KEY_FILEPATH dans le fichier de configuration. Pour en savoir plus sur la configuration de ces propriétés, consultez Installer et configurer l'authentification unique Apigee.

Lorsque vous installez l'authentification unique Apigee dans chaque centre de données, vous configurez les deux 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 devez également configurer les deux centres de données pour qu'ils utilisent l'entrée DNS comme 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 dans le centre de données 1 tombe en panne, vous pouvez passer à l'instance d'authentification unique Apigee dans les données centre 2:

  1. Convertissez le serveur de secours Postgres du centre de données 2 en maître, comme décrit dans la section Gestion d'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 d'authentification unique Apigee dans 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 dans le 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