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:
- 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. - 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". - 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" pourMTLS_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.