Configurer plusieurs centres de données pour Apigee mTLS

L'authentification mTLS d'Apigee est compatible avec plusieurs centres de données afin que vous puissiez faire évoluer votre configuration pour inclure des topologies plus complexes, telles qu'une installation en cluster à 12 nœuds.

Le processus d'installation de mTLS sur une topologie multi-centre de données est le même que pour les topologies plus simples. Toutefois, vous devez vous assurer que votre installation répond aux conditions préalables et que vous modifiez vos fichiers de configuration comme décrit dans les sections suivantes.

Prérequis

Pour utiliser le mTLS Apigee avec plusieurs centres de données, vous devez:

  • Désinstallez apigee-mtls, puis réinstallez-le avec la configuration à plusieurs centres de données. Vous ne pouvez pas modifier une configuration existante. Pour en savoir plus, consultez la section Modifier une configuration apigee-mtls existante.
  • Ouvrez le port 8302 sur chaque hôte exécutant mTLS.
  • Assurez-vous que tous les membres du cluster mTLS disposent d'adresses IP uniques, qui sont cohérentes pour tous les membres du cluster.
  • Lorsque vous spécifiez des fichiers de configuration, utilisez des chemins d'accès absolus dans vos commandes en cas d'ambiguïté.
  • Ajoutez des propriétés de configuration pour plusieurs centres de données, comme décrit dans la section Fichiers de configuration pour plusieurs centres de données.

Fichiers de configuration pour plusieurs centres de données

Pour utiliser le mTLS Apigee avec plusieurs centres de données, vous devez créer un fichier de configuration distinct pour chaque centre de données.

Dans chacun des fichiers de configuration:

  1. Modifiez la valeur de la propriété de configuration ALL_IP pour inclure toutes les adresses IP des hôtes dans toutes les régions.
  2. Assurez-vous que la valeur de la propriété REGION correspond au nom de la région ou du centre de données actuels. Exemple : "dc-1".
  3. Ajoutez les propriétés suivantes:
    Propriété Description
    APIGEE_MTLS_MULTI_DC_ENABLE Indique si vous utilisez ou non une configuration multicentre. Définissez cette valeur sur "y" si vous configurez plusieurs centres de données. Sinon, omettez-le ou définissez-le sur "n". La valeur par défaut est omise.
    MTLS_LOCAL_REGION_IP Liste de toutes les adresses IP utilisées par la région que vous configurez actuellement, séparées par des espaces. Exemple : "10.0.0.1 10.0.0.2 10.0.0.3".

    Pour la deuxième région de la configuration, utilisez la propriété MTLP_REMOTE_REGION_1_IP.

    MTLS_REMOTE_REGION_1_NAME Nom de la deuxième région dans une configuration multi-centre de données. Exemple : "dc-2".

    Dans le fichier de configuration de la deuxième région, vous utiliserez "dc-2" pour REGION et "dc-1" pour MTLS_REMOTE_REGION_1_NAME..

    MTLS_REMOTE_REGION_1_IP Liste de toutes les adresses IP utilisées par la deuxième région dans une configuration multi-centre de données, séparées par des espaces. Exemple : "10.0.0.4 10.0.0.5 10.0.0.6".

Les exemples suivants montrent les fichiers de configuration de deux centres de données ("dc-1" et "dc-2"). Les propriétés spécifiques à une configuration multi-centre de données sont mises en surbrillance :

Fichier de configuration dc-1

ALL_IP="10.126.0.114 10.126.0.113 10.126.0.96 10.126.0.132 10.126.0.133 10.126.0.104 10.126.0.106 10.126.0.105 10.126.0.95 10.126.0.102 10.126.0.100 10.126.0.112"
LDAP_MTLS_HOSTS="10.126.0.114 10.126.0.106"
ZK_MTLS_HOSTS="10.126.0.114 10.126.0.113 10.126.0.96 10.126.0.106 10.126.0.105 10.126.0.95"
CASS_MTLS_HOSTS="10.126.0.114 10.126.0.113 10.126.0.96 10.126.0.106 10.126.0.105 10.126.0.95"
PG_MTLS_HOSTS="10.126.0.104 10.126.0.112"
RT_MTLS_HOSTS="10.126.0.113 10.126.0.96 10.126.0.105 10.126.0.95"
MS_MTLS_HOSTS="10.126.0.114 10.126.0.106"
MP_MTLS_HOSTS="10.126.0.113 10.126.0.96 10.126.0.105 10.126.0.95"
QP_MTLS_HOSTS="10.126.0.132 10.126.0.133 10.126.0.102 10.126.0.100"
ENABLE_SIDECAR_PROXY="y"
ENCRYPT_DATA="zRNQ9lhRySNTfegiLLLfIQ=="
PATH_TO_CA_CERT="/opt/consul-agent-ca.pem"
PATH_TO_CA_KEY="/opt/consul-agent-ca-key.pem"

APIGEE_MTLS_MULTI_DC_ENABLE="y"
REGION="dc-1"
MTLS_LOCAL_REGION_IP="10.126.0.114 10.126.0.113 10.126.0.96 10.126.0.132 10.126.0.133 10.126.0.104"
MTLS_REMOTE_REGION_1_NAME="dc-2"
MTLS_REMOTE_REGION_1_IP="10.126.0.106 10.126.0.105 10.126.0.95 10.126.0.102 10.126.0.100 10.126.0.112"

Fichier de configuration dc-2

ALL_IP="10.126.0.114 10.126.0.113 10.126.0.96 10.126.0.132 10.126.0.133 10.126.0.104 10.126.0.106 10.126.0.105 10.126.0.95 10.126.0.102 10.126.0.100 10.126.0.112"
LDAP_MTLS_HOSTS="10.126.0.114 10.126.0.106"
ZK_MTLS_HOSTS="10.126.0.114 10.126.0.113 10.126.0.96 10.126.0.106 10.126.0.105 10.126.0.95"
CASS_MTLS_HOSTS="10.126.0.114 10.126.0.113 10.126.0.96 10.126.0.106 10.126.0.105 10.126.0.95"
PG_MTLS_HOSTS="10.126.0.104 10.126.0.112"
RT_MTLS_HOSTS="10.126.0.113 10.126.0.96 10.126.0.105 10.126.0.95"
MS_MTLS_HOSTS="10.126.0.114 10.126.0.106"
MP_MTLS_HOSTS="10.126.0.113 10.126.0.96 10.126.0.105 10.126.0.95"
QP_MTLS_HOSTS="10.126.0.132 10.126.0.133 10.126.0.102 10.126.0.100"
ENABLE_SIDECAR_PROXY="y"
ENCRYPT_DATA="zRNQ9lhRySNTfegiLLLfIQ=="
PATH_TO_CA_CERT="/opt/consul-agent-ca.pem"
PATH_TO_CA_KEY="/opt/consul-agent-ca-key.pem"

APIGEE_MTLS_MULTI_DC_ENABLE="y"
REGION="dc-2"
MTLS_LOCAL_REGION_IP="10.126.0.106 10.126.0.105 10.126.0.95 10.126.0.102 10.126.0.100 10.126.0.112"
MTLS_REMOTE_REGION_1_NAME="dc-1"
MTLS_REMOTE_REGION_1_IP="10.126.0.114 10.126.0.113 10.126.0.96 10.126.0.132 10.126.0.133 10.126.0.104"

Pour en savoir plus sur les propriétés de configuration standards, consultez la section Étape 1: Mettre à jour votre fichier de configuration.

Tester une configuration multi-centre de données

La commande raft list-peers affiche une liste des adresses IP associées à tous les nœuds ZooKeeper (ZK) exécutant un processus Consul, comme indiqué par le processus consul agent exécuté sur le serveur. Ces pairs ne sont pas limités à un seul centre de données, mais couvrent tous les centres de données de la configuration.

Les exemples suivants illustrent un exemple de sortie d'une commande raft list-peers pour une configuration avec deux DC compatibles avec le protocole mTLS:

$ /opt/apigee/apigee-mtls-consul/bin/consul operator raft list-peers
Node              ID                                    Address            State     Voter  RaftProtocol
prc-test-2-20036  0f30e0fc-a33b-2cf9-91fc-3dd0c02711c7  10.126.0.116:8300  leader    true   3
prc-test-0-20036  9b00b259-5848-c72b-623e-7991ea1a5d1c  10.126.0.121:8300  follower  true   3
prc-test-1-20036  e92cd7b3-e2f2-30a1-2b06-c434160372f5  10.126.0.122:8300  follower  true   3
prc-test-6-20036  b196a6a1-2813-49d6-e141-b4f0cce19383  10.126.0.118:8300  follower  true   3
prc-test-7-20036  3708ca5f-a17f-a31e-42ed-bb1f92b1506c  10.126.0.120:8300  follower  true   3
prc-test-8-20036  ed7f1658-ea4b-abec-148b-427203d4200c  10.126.0.115:8300  follower  true   3

Pour résoudre les problèmes ou vérifier la sortie raft list-peers, assurez-vous que le processus consul agent s'exécute sur tous les nœuds ZK. Vous pouvez le vérifier en exécutant la commande suivante:

$ ps -elf
4 S consul     77903       1  3  80   0 - 382742 -     Jan13 ?        00:41:10 /opt/apigee/apigee-mtls-consul/bin/consul agent -config-file=/opt/apigee/apigee-mtls-4.52.02-0.0.20256/conf/server.json

Cette commande vérifie que le processus Consul est actif et correctement configuré sur chaque nœud de la configuration multi-centre de données.