Ajouter un centre de données

Edge pour Private Cloud version 4.17.01

Ce document explique comment ajouter un centre de données (également appelé région) à des données existantes de sécurité.

Éléments à prendre en considération avant d'ajouter un centre de données

Avant d’installer ajouter un centre de données, vous devez comprendre comment configurer OpenLDAP, Serveurs ZooKeeper, Cassandra et Postgres dans les centres de données. Vous devez également vous assurer que les ports nécessaires sont ouverts entre les nœuds des deux centres de données.

  • OpenLDAP
    Chaque centre de données possède son propre serveur OpenLDAP configuré pour permettre la réplication. Lorsque vous installer le nouveau centre de données, vous devez configurer OpenLDAP pour utiliser la réplication et vous devez reconfigurer le serveur OpenLDAP dans le centre de données existant pour utiliser la réplication.
  • ZooKeeper
    Pour la propriété ZK_HOSTS de les deux centres de données, spécifiez les adresses IP ou les noms DNS de tous les nœuds ZooKeeper à partir des deux centres, dans le même ordre, et marquez tous les nœuds avec le modificateur ":observer". Les nœuds sans modificateur ":observer" sont appelés "voters". Vous devez avoir un nombre nombre d'« votants » dans votre configuration.

    Dans cette topologie, l'hôte ZooKeeper sur l'hôte 9 est l'observateur:



    Dans l'exemple de fichier de configuration présenté ci-dessous, le nœud 9 comporte le tag modificateur ":observer" de sorte que vous ayez cinq votants: les nœuds 1, 2, 3, 7 et 8.

    Pour ZK_CLIENT_HOSTS pour chaque centre de données, spécifiez uniquement les adresses IP ou noms DNS de l'objet ZooKeeper du centre de données, dans le même ordre, pour tous les nœuds ZooKeeper des données. de sécurité.
  • Cassandra
    Tous les centres de données doivent avoir le même nombre de nœuds Cassandra.

    Pour CASS_HOSTS pour chaque donnée veillez à spécifier toutes les adresses IP Cassandra (et non les noms DNS) pour les deux centres de données. Pour le centre de données 1, commencez par répertorier les nœuds Cassandra de ce centre de données. Pour les centres de données 2, listez d'abord les nœuds Cassandra de ce centre de données. Listez les nœuds Cassandra dans le même pour tous les nœuds Cassandra du centre de données.

    Tous les nœuds Cassandra doivent comporter un suffixe ':<d>,<r>', par exemple '<ip>:1,1 = centre de données 1 et rack/zone de disponibilité 1 et '<ip>:2,1 = centre de données 2 et rack/zone de disponibilité 1.
    Exemple : "192.168.124.201:1,1 192.168.124.202:1,1 192.168.124.203:1,1 192.168.124.204:2,1 192.168.124.205:2,1 192.168.124.206:2,1"

    Le premier nœud du rack/zone de disponibilité 1 de chaque centre de données sera utilisé comme source Google Cloud. Dans ce modèle de déploiement, la configuration de Cassandra se présente comme suit:


  • Postgres
    Par défaut, Edge installe tous les nœuds Postgres en mode maître. Cependant, lorsque vous avez plusieurs centres de données, configurez les nœuds Postgres de sorte qu'ils utilisent la réplication de secours. Ainsi, si le le nœud maître tombe en panne, le nœud de secours peut continuer à diffuser le trafic. En règle générale, vous configurez le serveur Postgres maître dans un centre de données et le serveur de secours dans le second de sécurité.

    Si le centre de données existant est déjà configuré pour avoir deux nœuds Postgres s'exécutant maître/veille, puis, dans le cadre de cette procédure, annuler l'enregistrement du nœud de secours existant et remplacez-le par un nœud de secours dans le nouveau centre de données.

    Le tableau suivant présente la configuration Postgres avant et après la configuration de Postgres dans les deux scénarios:

    Avant

    Après

    Nœud Postgres maître dans dc-1

    Nœud Postgres maître dans dc-1

    Nœud Postgres de secours dans dc-2

    Nœud Postgres maître dans dc-1

    Nœud Postgres de secours dans dc-1

    Nœud Postgres maître dans dc-1

    Nœud Postgres de secours dans dc-2

    Annuler l'enregistrement de l'ancien nœud Postgres de secours dans dc-1

  • Configuration requise pour les ports
    Vous devez vous assurer que les ports nécessaires sont ouverts entre les nœuds des deux centres de données. Pour obtenir un schéma des ports, consultez la section Installation Conditions requises

Mettre à jour le centre de données existant

Pour ajouter un centre de données, vous devez suivre les étapes d'installation et de configuration des nouvelles données centres de données, mais cela nécessite également que vous mettiez à jour les nœuds dans le centre de données d'origine. Ces sont nécessaires, car vous ajoutez des nœuds Cassandra et ZooKeeper qui doivent être accessibles au centre de données existant et que vous devez reconfigurer OpenLDAP pour utiliser la réplication.

Créer les fichiers de configuration

Vous trouverez ci-dessous les fichiers de configuration silencieuse pour les deux centres de données, où chaque dispose de 6 nœuds, comme indiqué dans la section Topologies Notez que le fichier de configuration de dc-1 ajoute des paramètres supplémentaires à:

  • Configurer OpenLDAP avec réplication sur deux nœuds OpenLDAP
  • Ajoutez les nouveaux nœuds Cassandra et ZooKeeper de dc-2 au fichier de configuration de dc-1.
# Datacenter 1
IP1=IPorDNSnameOfNode1
IP2=IPorDNSnameOfNode2
IP3=IPorDNSnameOfNode3
IP7=IPorDNSnameOfNode7
IP8=IPorDNSnameOfNode8
IP9=IPorDNSnameOfNode9 
HOSTIP=$(hostname -i)
MSIP=$IP1
ADMIN_EMAIL=opdk@google.com
APIGEE_ADMINPW=Secret123
LICENSE_FILE=/tmp/license.txt
USE_LDAP_REMOTE_HOST=n
LDAP_TYPE=2
LDAP_SID=1
LDAP_PEER=$IP7
APIGEE_LDAPPW=secret
BIND_ON_ALL_INTERFACES=y
MP_POD=gateway-1
REGION=dc-1
ZK_HOSTS="$IP1 $IP2 $IP3 $IP7 $IP8 $IP9:observer"
ZK_CLIENT_HOSTS="$IP1 $IP2 $IP3"
# Must use IP addresses for CASS_HOSTS, not DNS names.
CASS_HOSTS="$IP1:1,1 $IP2:1,1 $IP3:1,1 $IP7:2,1 $IP8:2,1 $IP9:2,1"
SKIP_SMTP=n
SMTPHOST=smtp.example.com
SMTPUSER=smtp@example.com 
SMTPPASSWORD=smtppwd   
SMTPSSL=n
SMTPPORT=25
# Datacenter 2
IP1=IPorDNSnameOfNode1
IP2=IPorDNSnameOfNode2
IP3=IPorDNSnameOfNode3
IP7=IPorDNSnameOfNode7
IP8=IPorDNSnameOfNode8
IP9=IPorDNSnameOfNode9 
HOSTIP=$(hostname -i)
MSIP=$IP7
ADMIN_EMAIL=opdk@google.com
APIGEE_ADMINPW=Secret123
LICENSE_FILE=/tmp/license.txt
USE_LDAP_REMOTE_HOST=n
LDAP_TYPE=2
LDAP_SID=2
LDAP_PEER=$IP1
APIGEE_LDAPPW=secret
BIND_ON_ALL_INTERFACES=y
MP_POD=gateway-2
REGION=dc-2
ZK_HOSTS="$IP1 $IP2 $IP3 $IP7 $IP8 $IP9:observer"
ZK_CLIENT_HOSTS="$IP7 $IP8 $IP9"
# Must use IP addresses for CASS_HOSTS, not DNS names.
CASS_HOSTS="$IP7:2,1 $IP8:2,1 $IP9:2,1 $IP1:1,1 $IP2:1,1 $IP3:1,1"
SKIP_SMTP=n
SMTPHOST=smtp.example.com
SMTPUSER=smtp@example.com 
SMTPPASSWORD=smtppwd   
SMTPSSL=n
SMTPPORT=25

Procédure d'ajout d'un centre de données

Dans cette procédure, les centres de données sont nommés comme suit:

  • dc-1: centre de données existant
  • dc-2: le nouveau centre de données
  1. Sur le contrôleur dc-1, réexécutez le fichier setup.sh sur les nœuds Cassandra d'origine avec le nouveau fichier dc-1. fichier confiig qui inclut les nœuds Cassandra de dc-2:
    /opt/apigee/apigee-setup/bin/setup.sh -p ds -f configFile1
  2. Sur dc-1, réexécutez setup.sh sur le nœud du serveur de gestion:
    &gt; /opt/apigee/apigee-setup/bin/setup.sh -p ms -f configFile1
  3. Sur dc-2, installez apigee-setup sur tous les nœuds. Pour en savoir plus, consultez Installer l'utilitaire Edge de configuration Apigee. de l'utilisateur.
  4. Sur dc-2, installez Cassandra et ZooKeeper sur les nœuds appropriés:
    /opt/apigee/apigee-setup/bin/setup.sh -p ds -f configFile2
  5. Sur dc-2, exécutez la commande de recompilation sur tous les nœuds Cassandra, en spécifiant la nom de la région de dc-1:
    &gt; /opt/apigee/apigee-cassandra/bin/nodetool -h cassIP recompiler dc-1
  6. Sur dc-2, installez le serveur de gestion sur le nœud approprié:
    &gt; /opt/apigee/apigee-setup/bin/setup.sh -p ms -f configFile2
  7. Sur dc-2, installez les routes et les processeurs de messages sur le nœuds:
    &gt; /opt/apigee/apigee-setup/bin/setup.sh -p rmp -f configFile2
  8. Sur dc-2, installez Qpid sur les nœuds appropriés:
    &gt; /opt/apigee/apigee-setup/bin/setup.sh -p qs -f configFile2
  9. Sur dc-2, installez Postgres sur le nœud approprié:
    &gt; /opt/apigee/apigee-setup/bin/setup.sh -p ps -f configFile2
  10. Configurez le maître/poste de secours Postgres pour les nœuds Postgres. Le nœud Postgres dans dc-1 est maître, et le nœud Postgres dans dc-2 est le serveur de secours.

    Remarque: Si dc-1 est déjà configuré pour disposer de deux postes Postgres s'exécutant en mode maître/de secours, utilisez le paramètre nœud Postgres maître existant dans dc-1 en tant que maître et Nœud Postgres dans dc-2 en tant que serveur de secours Plus tard dans cette procédure, Cette opération annulera l'enregistrement du serveur de secours Postgres existant dans dc-1.
    1. Sur le nœud maître dans dc-1, modifiez le fichier de configuration en conséquence:
      PG_MASTER=IPorDNSofDC1Master
      PG_STANDBY=IPorDNSofDC2Standby
    2. Activez la réplication sur le nouveau nœud maître:
      &gt; /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql setup-replication-on-master -f configFIle
    3. Sur le nœud de secours dans dc-2, modifiez le fichier de configuration pour définir:
      PG_MASTER=IPorDNSofDC1Master
      PG_STANDBY=IPorDNSofDC2Standby
    4. Sur le nœud de secours dans dc-2, arrêtez le serveur, puis supprimez les données Postgres existantes:
      &gt; /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql stop
      &gt; rm -rf /opt/apigee/data/apigee-postgresql/

      Remarque: Si nécessaire, vous pouvez sauvegarder ces données avant de les supprimer.
    5. Configurez le nœud de secours dans dc-2:
      &gt; /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql setup-replication-on-standby -f configFile
  11. Sur dc-1, mettez à jour la configuration d'analyse et configurez les organisations.
    1. Sur le nœud du serveur de gestion de dc-1, récupérez l'UUID de Postgres nœud:
      &gt; Serveurs apigee-adminapi.sh list -r dc-1 -p analytics -t postgres-server --admin adminEmail --pwd adminPword --host localhost

      L'UUID apparaît à la fin des données renvoyées. Conservez cette valeur.

      Remarque: Si dc-1 est configuré de sorte que deux nœuds Postgres s'exécutent dans maître/veille, deux adresses IP et UUID apparaissent dans le résultat. Enregistrez les deux UUID. À partir des adresses IP, vous devriez pouvoir déterminer quel UUID est pour le maître et lequel est pour le nœud de secours.
    2. Sur le nœud du serveur de gestion de dc-2, récupérez l'UUID de Postgres comme indiqué à l'étape précédente. Conservez cette valeur.
    3. Sur le nœud du serveur de gestion de dc-1, identifiez le l'analyse et les groupes de consommateurs. Bon nombre des commandes ci-dessous nécessitent cette information.
      Par défaut, le nom du groupe d'analyse est "axgroup-001" et celui du client "consumer-group-001". Dans le fichier de configuration silencieuse d'une région, vous pouvez définir le nom du groupe d'analyse à l'aide de la propriété AXGROUP.

      Si vous n'êtes pas sûr des noms des groupes de données analytiques et de consommateurs, utilisez le code suivant : pour les afficher:
      &gt; Analyses apigee-adminapi.sh liste de groupes --admin adminEmail --pwd adminPword --host localhost

      Cette commande renvoie le nom du groupe d'analyse dans le champ "Nom" et le groupe de consommateurs dans le champ "consumer-groups".
    4. Sur le nœud du serveur de gestion de dc-1, supprimez le fichier Postgres existant du groupe d'analyse: <ph type="x-smartling-placeholder">
        </ph>
      1. Supprimez le nœud Postgres de consumer-group:
        &gt; apigee-adminapi.sh groupes d'analyse "groupes_consommateurs" datastores remove -g axgroup-001 -c consumer-group-001 -u UUID -Y --admin adminEmail --pwd adminPword --host localhost

        Si dc-1 est configuré de sorte que deux nœuds Postgres s'exécutent dans en mode maître/veille, supprimez les deux:
        &gt; apigee-adminapi.sh groupes d'analyse "groupes_consommateurs" datastores remove -g axgroup-001 -c consumer-group-001 -u "UUID_1,UUID_2" -Y --admin adminEmail --pwd adminPword --host localhost
      2. Supprimez le nœud Postgres du groupe d'analyse:
        &gt; apigee-adminapi.sh groupes d'analyse postgres_server remove -g axgroup-001 -u UUID -Y --admin adminEmail --pwd adminPword --host localhost

        Si dc-1 est configuré de sorte que deux nœuds Postgres s'exécutent en mode maître/veille, supprimez les deux:
        &gt; apigee-adminapi.sh groupes d'analyse postgres_server supprimer -g axgroup-001 -u UUID1,UUID2 -Y --admin adminEmail --pwd adminPword --host localhost
    5. Sur le nœud du serveur de gestion de dc-1, ajoutez le nouveau nœud maître/de secours. Serveurs Postgres vers le groupe d'analyse: <ph type="x-smartling-placeholder">
        </ph>
      1. Ajoutez les deux serveurs Postgres au groupe d'analyse:
        &gt; apigee-adminapi.sh groupes Analytics postgres_server add -g axgroup-001 -u "UUID_1,UUID_2" --admin adminEmail --pwd adminPword --host localhost

        UUID_1 correspond au nœud Postgres maître dc-1, et UUID_2 correspond au système Postgres de secours nœud dans dc-2.
      2. Ajoutez les serveurs PG au groupe "consumer-group" en tant que serveur maître/serveur de secours:
        &gt; apigee-adminapi.sh groupes d'analyse groupe_de_consommateurs ajouter -g axgroup-001 -c groupe-consommateur-001 -u "UUID_1,UUID_2" --admin adminEmail --pwd adminPword --host localhost
    6. Ajoutez les serveurs Qpid de dc-2 au groupe d'analyse: <ph type="x-smartling-placeholder">
        </ph>
      1. Sur le nœud du serveur de gestion de dc-1, récupérez les UUID du Qpid. nœuds dans dc-2:
        &gt; apigee-adminapi.sh liste des serveurs -r dc-2 -p central -t qpid-server --admin adminEmail --pwd adminPword --host localhost

        Les UUID apparaissent à la fin des données renvoyées. Enregistrez ces valeurs.
      2. Sur le nœud Management Server de dc-1, ajoutez les nœuds Qpid au groupe d'analyse d'audience:
        &gt;apigee-adminapi.sh groupes analytiques qpid_server add -g axgroup-001 -u UUID_1 --admin adminEmail --pwd adminPword --host localhost
        >apigee-adminapi.sh groupes d'analyse qpid_server add -g axgroup-001 -u UUID_2 --admin adminEmail --pwd adminPword --host localhost
      3. Sur le nœud Management Server de dc-1, ajoutez les nœuds Qpid au groupe de consommateurs:
        &gt; apigee-adminapi.sh groupes d'analyse groupes_consommateurs ajouter -g axgroupe-001 -c groupe-consommateur-001 -u "UUID_1,UUID_2" --admin adminEmail --pwd adminPword --host localhost
    7. Annulez l'enregistrement de l'ancien serveur de secours Postgres de dc-1 et supprimez-le: <ph type="x-smartling-placeholder">
        </ph>
      1. Annulez l'enregistrement du serveur de secours Postgres dc-1 existant:
        &gt; apigee-adminapi.sh annulation de l'enregistrement des serveurs -u UUID -r dc-1 -p analytics -t postgres-server -Y --admin adminEmail --pwd adminPword --host localhost

        où l'UUID est l'ancienne Nœud Postgres dans dc-1.
      2. Supprimez le serveur de secours dc-1 Postgres existant:
        Remarque: Cette commande ne désinstalle pas le nœud du serveur Postgres. Il la supprime uniquement de la liste des nœuds périphériques. Vous pouvez ensuite désinstaller Postgres le nœud, si nécessaire.
        &gt; apigee-adminapi.sh serveurs delete -u UUID --admin adminEmail --pwd adminPword --host localhost
  12. Mettez à jour les espaces de clés Cassandra avec un facteur de réplication correct pour les deux centres de données. Toi cette étape n'est nécessaire qu'une seule fois sur n'importe quel serveur Cassandra de l'un ou l'autre des centres de données:

    Remarque: Les commandes ci-dessous définissent le facteur de réplication sur "3", ce qui indique trois nœuds Cassandra dans le cluster. Modifiez cette valeur si nécessaire pour votre installation.
    1. Lancez l'utilitaire Cassandra cqlsh:
      &gt; /opt/apigee/apigee-cassandra/bin/cqlsh cassandraIP
    2. Exécutez les commandes CQL suivantes au niveau de la commande "cqlsh>" pour définir la réplication pour les espaces de clés Cassandra: <ph type="x-smartling-placeholder">
        </ph>
      1. cqlsh&gt; MODIFICATION KEYSPACE "zone d'identité" AVEC réplication = { 'class': 'NetworkTopologyStrategy', 'dc-1': '3','dc-2': '3' }
      2. cqlsh&gt; ALTER KEYSPACE "system_traces" AVEC réplication = { 'class': 'NetworkTopologyStrategy', 'dc-1': '3','dc-2': '3' };
      3. Affichez les espaces de clés à l'aide de la commande suivante:
        cqlsh&gt; sélectionnez * à partir de system.schema_keyspaces;
      4. Quitter cqlsh:
        cqlsh&gt; sortie
  13. Exécutez la commande nodetool suivante sur tous les nœuds Cassandra dans dc-1 pour libérer de la mémoire:
    &gt; /opt/apigee/apigee-cassandra/bin/nodetool -h cassandraIP nettoyage
  14. Pour chaque organisation et pour chaque environnement que vous souhaitez prendre en charge pour l'ensemble des données centres de données: <ph type="x-smartling-placeholder">
      </ph>
    1. Sur le nœud du serveur de gestion de dc-1, ajoutez le nouveau MP_POD au Organisation:
      &gt; Pods de l'organisation apigee-adminapi.sh add -o orgName -r dc-2 -p orgName --admin adminEmail --pwd adminPword --host localhost

      gateway-2 est le nom du pod de la passerelle, tel que défini par le fichier MP_POD dans le fichier de configuration dc-2.
    2. Ajoutez les nouveaux processeurs de messages à l'organisation et à l'environnement: <ph type="x-smartling-placeholder">
        </ph>
      1. Sur le nœud du serveur de gestion dc-2, récupérez les UUID du Nœuds de processeur de messages dans dc-2:
        &gt; apigee-adminapi.sh liste des serveurs -r dc-2 -p gateway-2 -t message-processor --admin adminEmail --pwd adminPword --host localhost

        Les UUID apparaissent à la fin des données renvoyées. Enregistrez ces valeurs.
      2. Sur le nœud du serveur de gestion de dc-1, pour chaque processeur de messages dans dc-2, ajoutez le processeur de messages à un environnement pour l'organisation:
        &gt; Organisations apigee-adminapi.sh Ajout des serveurs envs -o orgName -e envName -u UUID --admin adminEmail --pwd adminPword --host localhost
    3. Sur le nœud du serveur de gestion de dc-1, vérifiez l'organisation:
      &gt; API des organisations apigee-adminapi.sh déploiements -o orgName -a orgName --admin adminEmail --pwd adminPword --host localhost

      apiProxyName est le nom d'un proxy d'API déployé dans la organisation.