Ce document explique comment migrer Netskope Cloud Exchange de AWS Fargate (Cloud Exchage 5.0.0) vers une AMI EC2 VM (Cloud Exchange 5.1.2).
Conditions préalables
Avant de commencer le processus de migration, assurez-vous que les conditions suivantes sont remplies afin d'éviter les problèmes de configuration ou d'autorisation lors de la sauvegarde, de la restauration et de la migration :
- Vérifiez que Cloud Exchange Fargate est déployé via CloudFormation et que le statut est CREATE_COMPLETE ou UPDATE_COMPLETE.
- Allez sur AWS ECS > Cluster > Task pour vérifier que le cluster ECS et les tâches Fargate sont en cours d'exécution.
- Select la grappe et de s'assurer :
- Le statut du cluster est ACTIF.
- Les tâches et les services sont en cours d'exécution.
- Allez sur AWS EFS pour vérifier que EFS est actif.
- Vérifiez les autorisations IAM pour la sauvegarde et la restauration. Si le compte ne dispose pas d'autorisations suffisantes, telles qu'un accès administratif ou des privilèges AWS Backup/EFS spécifiques pour effectuer des opérations de sauvegarde et de restauration, créez et attachez un rôle IAM avec les autorisations nécessaires au compte d'utilisateur ou de service responsable de l'exécution de la migration.
- Pour la sauvegarde et restauration EFS (AWS Backup) :
backup:CreateBackupVault backup:StartBackupJob backup:StartRestoreJob backup:GetRecoveryPointRestoreMetadata backup:ListRecoveryPointsByBackupVault efs:DescribeFileSystems efs:DescribeMountTargets efs:CreateFileSystem efs:CreateMountTarget
- Pour le montage d'EFS sur EC2 :
ec2:DescribeInstances ec2:DescribeSecurityGroups ec2:DescribeSubnets ec2:DescribeVpcs
- Si vous utilisez un rôle IAM personnalisé pour la sauvegarde/restauration, assurez-vous que les politiques de confiance sont configurées pour AWS Backup et ECS/Fargate.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "backup.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }
- Pour la sauvegarde et restauration EFS (AWS Backup) :
- Pour collecter le dump Mongo, reportez-vous à la section Collecter le dump Mongo.
- A propos du mot de passe de maintenance :
- Cloud Exchange utilise MongoDB pour collecter les données des plugins, et l'accès à la base de données nécessite le nom d'utilisateur et le mot de passe de MongoDB.
- Si le mot de passe est oublié ou indisponible, reportez-vous à la section Mot de passe de maintenance oublié pour savoir comment récupérer les informations d'identification du conteneur en cours d'exécution à l'aide de variables d'environnement.
Avant d'effectuer une migration
Pour arrêter l'ingestion de Cloud Exchange Fargate :
- Désactivez tous les plugins tiers dans tous les modules, puis attendez que les tâches en file d'attente se terminent avant de procéder à la migration.
- Suivez ces étapes pour identifier les tâches en file d'attente :
- Après avoir désactivé les plugins source dans tous les modules, attendez 20 à 30 minutes.
- Appliquer des filtres sur les journaux :
- Go to the Logging section.
- Cliquez sur Filter Query.
- Dans le champ Filtres, saisissez la requête de filtrage suivante : message comme "Ingested " || message comme "Stored " || message comme "task(s)" || message comme "Completed storing".
- Cliquez sur Load.
- Appliquez le filtre pour afficher les journaux pertinents.
- Surveillez les journaux : Une fois le filtre de journalisation appliqué, surveillez les journaux New. Si aucun journal New n'apparaît sous ce filtre, passez à la section suivante.
Connectez-vous au cluster via CloudShell
Pour vous connecter au cluster :
In the AWS console, go to cloudshell at the bottom left panel, and execute this command:
aws ecs execute-command \ --region eu-central-1 \ --cluster Netskope-CE-netskope-ce-Cluster \ --task d16d1e82*****772a1c \ --container mongodb-primary \ --command "/bin/bash" \ --interactive
Note
- Premier argument : Nom de la région.
- Deuxième argument : Nom du groupe (Trouvez le nom du groupe Netskope-CE- Netskope-ce-Cluster at Amazon ECS > Clusters).
- Troisième argument : ID de la tâche (trouvez l'ID de la tâche sur Amazon ECS > Cluster > Task).
- Quatrième argument : Nom du conteneur (trouvez le nom du conteneur à l'adresse Amazon ECS > Cluster > Task > Containers).
- Cinquième argument : Commandement.
Collecter le fichier Mongo Dump
Allez sur AWS cloudshell, connectez-vous au cluster, puis récupérez le dump Mongo.
command:mongodump --uri="mongodb://<username>:<password>@host:port/cte" --out=/data/db
example:
mongodump --uri="mongodb://admin:admin123@localhost:27016/cte" --out=/data/db
Oubli du mot de passe de maintenance
Si vous oubliez vos informations d'identification, vous pouvez les retrouver dans une variable d'environnement :
echo $MONGODB_USERNAME echo $MONGODB_PASSWORD
Créer une chambre forte personnalisée
Un coffre-fort de sauvegarde stocke et organise les sauvegardes. Un coffre-fort New doit être créé pour contenir la sauvegarde EFS afin de migrer le déploiement de Cloud Exchange Fargate.
Pour créer un coffre-fort de sauvegarde personnalisé :
- Accédez à la région.
- Création d'un coffre-fort de sauvegarde personnalisé dans la même région :
Si Cloud Exchange doit être migré dans la même région AWS, vous devez créer un seul coffre-fort de sauvegarde dans cette région. Ce coffre-fort stocke le point de récupération de la sauvegarde et peut être directement utilisé pour restaurer l'EFS. - Création d'un coffre-fort de sauvegarde personnalisé dans différentes régions :
Créez deux chambres fortes de sauvegarde :- Un dans la région source (où Cloud Exchange Fargate réside), pour stocker la sauvegarde initiale.
- Un dans la région de destination (où Cloud Exchange doit être migré), pour recevoir la copie interrégionale de la sauvegarde.
- Création d'un coffre-fort de sauvegarde personnalisé dans la même région :
- Ouvrez la console AWS Backup pour créer un coffre-fort de sauvegarde New, puis cliquez sur Create backup vault.
- Entrez un nom de chambre forte de sauvegarde et des étiquettes.
- Select une clé de chiffrement. Sous Cryptage, choisissez l'une des options suivantes :
- Default AWS Backup Key (alias/aws/backup)
- Clé gérée par le client (CMK) : Permet à AWS Backup de chiffrer et de déchiffrer les ressources via la clé fournie par le client.
- The IAM role initiating the backup should also have the kms:GenerateDataKey, kms:Encrypt, kms:Decrypt, and kms:DescribeKey permissions.

- Cliquez sur Create vault.
Créer une sauvegarde à la demande de l'EFS
Pour migrer Cloud Exchange, créez d'abord une sauvegarde de l'Amazon EFS (Elastic File System) existant.
- Accédez à la région. Dans la console AWS, vérifiez que la région actuelle correspond à la région du déploiement Cloud Exchange Fargate source.
- Ouvrez la console de sauvegarde AWS, allez sur Protected Resources, puis cliquez sur Create on-demand backup.
- Configurez une tâche de sauvegarde :
- Type de ressource : Select EFS (Amazon Elastic File System).
- ID de la ressource : choisissez un ID de système de fichiers EFS spécifique dans la liste déroulante.
- Coffre-fort de sauvegarde : Choisissez le coffre-fort de sauvegarde personnalisé précédemment créé.
- Rôle IAM : Select le rôle par défaut du service AWS Backup (comme AWSBackupDefaultServiceRole), qui comprend les autorisations nécessaires, ou sélectionnez un rôle IAM personnalisé avec efs:*, backup:*, et les autorisations KMS si vous utilisez une clé de chiffrement personnalisée.
- Examinez les paramètres et cliquez sur Create on-demand backup.
- Pour contrôler l'état de la sauvegarde, rendez-vous sur Jobs > Backup jobs pour suivre la progression.
- Une fois terminé, vous pouvez trouver le point de récupération sous : Backup Vaults > [Vault Name] > Recovery points.

Copier une sauvegarde dans une région différente (sauter si vous migrez dans la même région)
Si l'instance Cloud Exchange à migrer et le système de fichiers EFS (source de sauvegarde) se trouvent dans des régions AWS différentes, assurez-vous que la fonction AWS Backup est activée à la fois dans la région source (où réside la sauvegarde) et dans la région de destination (où elle sera restaurée). En outre, configurez les autorisations IAM et les politiques de clés KMS requises pour prendre en charge les opérations de copie interrégionales.
Pour copier une sauvegarde dans une autre région AWS :
- Dans la console de sauvegarde AWS, sélectionnez la région source (où se trouve actuellement le point de récupération).
- Select l'espace de stockage contenant le point de récupération à copier.
- Localisez le point de récupération et cochez la case qui se trouve à côté.
- In the Actions dropdown, select Copy.
- Configurez les paramètres de copie :
- Région de destination : Select la région AWS dans laquelle le point de récupération doit être copié.
- L'espace de stockage de destination : Choisissez un coffre-fort de sauvegarde existant dans la région de destination.
- Période de rétention : Indiquez le nombre de jours pendant lesquels le point de récupération copié doit être conservé dans le coffre-fort de destination.
- Pour les paramètres de cryptage, le point de récupération copié sera crypté à l'aide d'une clé KMS dans la région de destination. Select:
- The default AWS Backup-managed key (alias/aws/backup)
- Ou une clé KMS gérée par le client dans la région de destination
Ensure the IAM role and the KMS key policy permit kms:Encrypt, kms:Decrypt, and kms:GenerateDataKey operations.
- Cliquez sur Copy pour lancer l'opération de copie interrégionale.
- Allez sur Jobs > Copy Jobs et surveillez l'état du travail copié jusqu'à ce qu'il affiche Completed (Terminé).
- Allez sur AWS Backup > Backup vaults > [Destination Vault] > Recovery Points pour confirmer que la copie de sauvegarde est disponible.

- Cliquez sur Copy.
Restaurer la sauvegarde
Une fois qu'une sauvegarde EFS a été créée avec succès et qu'elle est disponible en tant que point de récupération dans l'espace de stockage, une tâche de restauration peut être lancée pour récupérer les données.
Pour restaurer une sauvegarde à partir d'un point de récupération :
- Accédez au service AWS Backup dans la région où le point de récupération a été créé. Si vous utilisez une région différente, copiez d'abord la sauvegarde dans la région New, puis sélectionnez le point de récupération dans cette région.
- Sous Recovery points, trouvez le point de récupération associé à l'EFS et lancez la tâche de restauration. Select le point de récupération et cliquez sur Actions > Restore.

- Configure Restore Settings:
- Type de ressource : Select EFS.
- Type de restauration : Select Full Restore. Cela crée un système de fichiers EFS New avec les données restaurées.
- Select Restore to a new file system (recommandé pour la migration). Cette opération crée un système de fichiers Amazon EFS à l'adresse New et y restaure les données.
- Configurer les paramètres de cryptage :
- Cryptage : Activer encryption-at-rest for the restored file system.
- Clé KMS : Select la clé par défaut gérée par AWS(aws/efs), ou utilisez une clé gérée par le client (CMK) avec les autorisations nécessaires.
- Consultez la documentation des permissions KMS si vous utilisez une clé personnalisée.
- Utilisez le rôle lié au service par défaut(AWSBackupDefaultServiceRole) ou un rôle IAM personnalisé avec ces autorisations :
- efs:CreateFileSystem
- efs:CreateMountTarget
- backup:StartRestoreJob
- kms:Décryptage (le cas échéant)

- Cliquez sur Restore Backup.
Lancer une instance Amazon EC2 pour Netskope Cloud Exchange
Dans le cadre du processus de migration, une instance Amazon EC2 New sera déployée dans la région cible pour héberger la plateforme Cloud Exchange (CE as VM). Cette instance sera utilisée pour monter le système de file EFS restauré et configurer l'environnement Cloud Exchange si nécessaire.
Pour lancer une instance EC2 New:
- Allez dans la console EC2 et lancez une instance New.
- Choisissez une Amazon Machine Image (AMI).
- Allez sur Browse more AMIs, cliquez sur l'onglet AWS Marketplace, puis recherchez Netskope Cloud Exchange AMI. Select la version de l'AMI qui correspond à la version du déploiement actuel pour assurer la compatibilité. Examinez les prix et les conditions, puis cliquez sur Continue.
- Créez ou sélectionnez une paire de clés et choisissez le type d'instance.
- Configurez le stockage.
- Configurer les paramètres du réseau. Select un VPC et un sous-réseau différents de ceux du réseau Netskope CE Fargate.
- Configurez le groupe de sécurité :
- Select un groupe de sécurité existant ou en créer un à l'adresse New.
- Assurez-vous que les règles d'entrée suivantes sont autorisées :
- SSH (port 22) à partir de l'IP.
- HTTPS (port 443) pour l'accès à l'interface utilisateur.
- TCP personnalisé (port 3000) si vous utilisez Cloud Exchange sur un port interne.
- NFS (port 2049) pour un montage EFS.
- Lancez l'instance.
Configurer EFS
Après avoir restauré le système de fichiers EFS à partir d'un point de récupération à l'aide d'AWS Backup, une ressource EFS New est automatiquement créée. Pour que cet EFS soit accessible aux instances EC2, des cibles de montage doivent être créées dans la zone de disponibilité et le sous-réseau VPC appropriés.
Pour configurer l'EFS :
- Accédez à la console EFS et sélectionnez la région où la sauvegarde est restaurée.
- Pour configurer les cibles de montage, cliquez sur le système de fichiers restauré pour afficher les détails.
- On the Network tab, locate the Mount targets section.
- Cliquez sur Manage pour créer ou mettre à jour des cibles de montage.
- Select Paramètres VPC et réseau. Select le VPC, la zone de disponibilité, le sous-réseau et le groupe de sécurité où réside l'instance EC2.
- Cliquez sur Add ou Save changes pour créer la cible de montage. Il peut prendre quelques secondes avant d'être disponible.

Monter un serveur New EFS sur un serveur EC2
Pour monter l'EFS New:
- Copiez le DNS IPv4 public d'EC2 et exécutez la commande SSH pour vous connecter en tant que
cteadmin:chmod 400 <private-key-path> ssh -i <private-key-path> cteadmin@<public-ipv4-dns>
- Installez les paquets nécessaires :
sudo apt update sudo apt install -y nfs-common
- Accédez à la console AWS EFS et sélectionnez la région où réside la sauvegarde EFS.
- Cliquez sur Attach.
- Copiez la commande sous Using the NFS client.

- Créez un répertoire de montage dans l'instance EC2. Exécutez la commande de montage dans l'instance EC2 :
mkdir efs
Via DNS :
sudo mount -t nfs4 -o nfsvers=4.1,rsize=1048576,wsize=1048576,hard,timeo=600,retrans=2,noresvport <DNS name of new EFS>:/ <output_directory>
OU
Via IP
L'adresse IP peut être trouvée dans le réseau de l'EFS >.sudo mount -t nfs4 -o nfsvers=4.1,rsize=1048576,wsize=1048576,hard,timeo=600,retrans=2,noresvport $MOUNT_TARGET_IP:/ efs
- Allez dans le répertoire
efspour accéder aux données restaurées.
Move the old CE Data Files into the cloudexchange Directory
Conditions préalables
Assurez-vous qu'il s'agit d'une nouvelle installation et que le processus d'installation n'a pas été lancé.
Pour déplacer le répertoirecloudexchange.- Allez dans le répertoire
/data/mongo-data/data/db/ situé dans le répertoireefs.cd efs/<backup_restore_folder_name>/data/mongo-data/data/db/
- Copiez le dossier
ctedans le répertoirecloudexchange.cp -r cte /opt/cloudexchange/cloudexchange/
- Allez dans le répertoire
cloudexchange.cd /opt/cloudexchange/cloudexchange/
- Créez un fichier script nommé
migrate_mongo_data.shen utilisant la commande suivante :vi migrate_mongo_data.sh
- Ajoutez le contenu suivant au fichier et enregistrez-le.
#!/bin/bash set -e [ -z "$MAINTENANCE_PASSWORD" ] && echo "Export the Maintenance Password. export MAINTENANCE_PASSWORD=<password>" && exit 1 [ "$(ls data/mongo-data/data/db | wc -l)" -ne 0 ] && echo "Cannot run migration as the mongo data directory is not empty." && exit 1 sudo chown -R 1001:1001 ./data/mongo-data sudo docker run -d -t -e MONGODB_ADVERTISED_HOSTNAME=mongodb-primary \ -e MONGO_INITDB_ROOT_USERNAME=root \ -e MONGO_INITDB_ROOT_PASSWORD=$MAINTENANCE_PASSW ORD \ -e MONGO_INITDB_DATABASE=cte \ -e MONGODB_USERNAME=cteadmin \ -e MONGODB_PASSWORD=$MAINTENANCE_PASSWORD \ -v ./data/mongo-data/data/db:/data/db:z \ -v ./data/database-init/mongo-init.sh:/docker-entrypoint-initdb.d/mongo -init.sh:z \ -v ./cte:/opt/cte:z \ --name mongo-migration \ index.docker.io/netskopetechnicalalliances/cloudexchange:mongo8 -8.0.6 echo "Mongo container started" && sleep 60 echo "Restoring data..." sudo docker exec mongo-migration bash -c "mongorestore -u cteadmin -p $MAINTENANCE_PASSWORD --db cte /opt/cte/" sudo docker stop mongo-migration >/dev/null 2>&1 && echo "Mongo container stopped" sudo docker rm mongo-migration >/dev/null 2>&1 && echo "Mongo container removed" echo "Mongo data restored successfully"
- Accordez des autorisations exécutables au fichier.
chmod +x migrate_mongo_data.sh
- Exportez la variable
MAINTENANCE_PASSWORD.export MAINTENANCE_PASSWORD=<maintenance_password>
- Exécutez le script.
./migrate_mongo_data.sh
- Allez dans l’annuaire
/datasitué dans le répertoireefs.cd efs/<backup_restore_folder_name>/data/
- Copiez le dossier du dépôt dans le répertoire
cloudexchange.cp -r repos /opt/cloudexchange/cloudexchange/data/
- Copiez le dossier
custom pluginsdans le répertoirecloudexchange.cp -r custom_plugins /opt/cloudexchange/cloudexchange/data/
- Allez dans le répertoire
cloudexchange.cd /opt/cloudexchange/cloudexchange/
- Dans le fichier cloudexchange.config, Ajoutez le mot de passe de maintenance de l'ancien déploiement Cloud Exchange.
cp cloudexchange.config.example cloudexchange.config vi cloudexchange.config
- Exécutez le script de configuration de Cloud Exchange.
sudo ./setup
- Une fois l'installation terminée avec succès, exécutez le script de démarrage.
sudo ./start
Mise hors service d'une pile Cloudformation à l'aide de la console de gestion AWS
Important
Cette action supprimera définitivement toutes les ressources associées à Netskope Cloud Exchange, y compris les rôles IAM, VPC, ECS et autres composants connexes.
Mettre la pile hors service :
- Connectez-vous à la console de gestion AWS et accédez à Cloudformation.
- Dans le volet de navigation, choisissez Stacks et sélectionnez la pile que vous souhaitez supprimer.
- Cliquez sur Delete dans le coin supérieur droit. Une boîte de dialogue de confirmation s'ouvre. Cliquez sur Delete Stack.
- CloudFormation commence à supprimer la pile.
Le statut passe à DELETE_IN_PROGRESS, puis à DELETE_COMPLETE. - Si une pile ne parvient pas à être supprimée, vérifiez les points suivants :
- Allez dans Ressources et vérifiez si une ressource a été ignorée. Si c'est le cas, vous devez supprimer manuellement cette ressource. (par exemple, si les godets S3 sont ignorés, vous devez d'abord vider, puis supprimer le godet).
- Protection de terminaison en cours d'activation.
- Ressources dépendantes qui ne peuvent pas être supprimées.
- Problèmes de permissions.
- Réessayez la suppression.
- Select la grappe et de s'assurer :

