Comment effectuer la modification de la Formation Cloud
DataSunrise fournit un script dédié pour le déploiement d’une infrastructure HA au sein d’Amazon Web Services basé sur Amazon Cloud Formation Service. Le modèle suivant crée toutes les ressources nécessaires pour prendre en charge l’environnement HA de DataSunrise (les serveurs EC2 sous le groupe AutoScaling, les bases de données Configurational Audit et Dictionary RDS, le Load Balancer, etc.) et peut être personnalisé selon les besoins du client.
Dans cet article, nous allons montrer comment le modèle Cloud Formation peut être modifié pour prendre en charge la configuration personnalisée. 2 scénarios seront présentés.
Scénario 1.
Nous publions une mise à jour mineure de DataSunrise et des AMI chaque semaine pour garder notre solution à jour et la plus optimisée. Par exemple, mettre à jour les pilotes ODBC, corriger certaines vulnérabilités de la base de données, mettre à jour les bibliothèques nécessaires, etc. Par conséquent, il peut être nécessaire pour nos clients de mettre à jour les AMI qu’ils utilisent actuellement, vers la dernière version.
Cela peut être fait par l’édition manuelle du modèle. Des instructions détaillées sont fournies ci-dessous :
- Ouvrez le fichier modèle et procédez à la section RegionMap :
Image 1. Le fichier modèle
- Choisissez la région où votre environnement est déployé.
- Accédez à notre dépôt officiel sur GitHub
Nous mettons à jour les fichiers de script chaque semaine une fois que la nouvelle version de DataSunrise est publiée.
- Accédez également à la section RegionMap et à la région où vos ressources sont déployées :
Image 2. Le dépôt DataSunrise
- Vous pouvez mettre à jour l’ID AMI uniquement pour la région que vous utilisez. Par conséquent copiez l’ID AMI pour la région requise.
- Procédez à votre fichier modèle actuel et remplacez l’ID AMI actuel pour la région requise par la valeur copiée depuis notre dépôt GitHub.
- Allez sur la page AWS CF et choisissez l’option pour mettre à jour votre pile CF.
- Sélectionnez Remplacer le modèle actuel et téléchargez la version éditée de votre modèle (étape 6). Cliquez sur Suivant.
Vous pouvez maintenant vérifier si le processus de mise à jour s’est terminé avec succès. Par exemple, s’il était nécessaire de mettre à jour les pilotes ODBC, vous pouvez effectuer un test de connexion à votre base de données cible pour vérifier si les pilotes mis à jour ont été utilisés :
Configuration -> Bases de données -> Votre_base_de_données_cible -> Test de connexion.

Image 3. Test de connexion
Si la nouvelle version du pilote ODBC est utilisée, la mise à jour de l’AMI est terminée avec succès.
Sinon, vous pouvez vérifier de nouveau vos étapes ou nous contacter pour une enquête plus approfondie.
Scénario 2.
Parfois, nos clients ont besoin d’installer des outils supplémentaires, par exemple, des pilotes ODBC, de modifier la configuration du serveur ou d’appliquer les dernières corrections d’infrastructure. Cela peut être fait en modifiant la partie UserData du fichier modèle CF.
Voyons comment cela se fait. Nous allons configurer un pilote ODBC DB2 qui n’est pas inclus par défaut dans nos images AWS.
Dans le modèle CF dans la section UserData, plusieurs scripts sont importés qui contiennent tous les paramètres de configuration nécessaires :

Image 4. Modèle CF avec scripts
Chacun configure son propre ensemble de composants environnementaux :
- vm-creads.sh – ce script est nécessaire pour récupérer et attacher un rôle IAM à la machine EC2 actuelle.
- cf-params.sh – ce script est utilisé pour transférer les valeurs des paramètres des ressources CF stack dans le script afin qu’elles puissent être facilement utilisées pendant le déroulement du script.
- ds-manip.sh – ce script est requis pour certaines opérations administratives, telles que l’octroi de permissions à l’utilisateur Datasunrise pour tous les fichiers, la connexion/déconnexion à la console web Datasunrise, etc.
- ds-setup.sh – ce script contient toutes les fonctions nécessaires pour configurer avec succès DataSunrise. Par exemple la configuration du mot de passe administrateur, la configuration de la base de données dictionnaire, la configuration du proxy, etc.
- aws-ds-setup.sh – ce script configure les ressources basées sur AWS telles que les métriques CloudWatch et le téléchargement de journaux.
- pre-setup.sh – ce script est nécessaire pour préparer l’environnement à l’installation de DataSunrise : télécharger les packages nécessaires, les compilations, configurer une licence pour l’application DataSunrise, etc.
Dans notre cas, nous allons installer le pilote ODBC DB2 qui sera utilisé lors de l’initialisation de l’instance de la base de données cible. Par conséquent, nous allons apporter les modifications au fichier pre-setup.sh.
Dans notre scénario, les commandes nécessaires sont prises de la documentation officielle de DataSunrise Guide de l’utilisateur
- Nous allons coller les commandes nécessaires dans le fichier pre-setup.sh.
- Mais d’abord, nous devons télécharger le pilote ODBC DB2 dans le bucket S3. Alors, s’il vous plaît, téléchargez les pilotes depuis le site officiel. Vous devrez vous connecter à votre compte IBM ou créer un nouveau compte. Une fois le pilote téléchargé, téléchargez-le dans le bucket S3, celui que vous avez spécifié comme BackupS3BucketName lors du déploiement du script Cloud Formation.
- Maintenant, collons les commandes nécessaires comme indiqué ci-dessous :
Image 5. Commandes dans le fichier pre-setup.sh
Voici les commandes :
logBeginAct "Installer le pilote ODBC DB2..." aws s3 cp "s3://$BackupS3BucketName/ibm_data_server_driver_for_odbc_cli_linuxx64_v11.1.tar.gz" ibm_data_server_driver_for_odbc_cli_linuxx64_v11.1.tar.gz --only-show-errors tar -xfv ibm_data_server_driver_for_odbc_cli_linuxx64_v11.1.tar.gz echo "[DB2]" | sudo tee -a /etc/odbcinst.ini echo "Driver = /home/user/clidriver/lib/libdb2o.so" | sudo tee -a /etc/odbcinst.ini echo "Description = Pilote DB2" | sudo tee -a /etc/odbcinst.ini echo "FileUsage = 1" | sudo tee -a /etc/odbcinst.ini echo "DontDLClose = 1" | sudo tee -a /etc/odbcinst.ini RETVAL=$? logEndAct "Résultat de l'installation du pilote ODBC DB2 - $RETVAL"
- Pour surveiller l’avancement de l’installation du pilote ODBC, vous pouvez utiliser notre mécanisme de journalisation :
- utilisez la fonction logBeginAct pour commencer la journalisation et séparer une partie du processus de l’installation de l’autre :
la ligne dans le modèle : logBeginAct “Installer le pilote ODBC DB2…”
la sortie dans le fichier cloud-init-output.txt : [DS
]: Installer le pilote ODBC DB2… * Le fichier cloud-init-output.txt est un fichier qui stocke tous les messages de journal du déploiement du script Cloud Formation DataSunrise. Il se trouve dans /var/log/messages/. Vous pouvez le vérifier chaque fois que vous avez besoin de diagnostiquer le déploiement de votre pile Cloud Formation.
- une fois que vous avez ouvert la partie logBeginAct, à l’intérieur de cette partie, vous pouvez utiliser la fonction log pour consigner toute information ou tout statut dans le fichier cloud-init-output.txt.
Nous ne l’utiliserons pas dans notre partie collée mais vous pouvez consulter un autre exemple :
Image 6. Exemple de la fonction log
- Pour terminer la partie journalisation, vous pouvez entrer :
logEndAct “Résultat de l’installation du pilote ODBC DB2 – $RETVAL”
Image 7. Exemple de $RETVAL
*La variable RETVAL est utilisée pour vérifier le code de sortie de l’exécution de la commande précédente.
RETVAL=$?
- utilisez la fonction logBeginAct pour commencer la journalisation et séparer une partie du processus de l’installation de l’autre :
- Sauvegardez le fichier. Allez sur la page AWS CF et choisissez l’option pour mettre à jour votre pile CF.
- Sélectionnez Remplacer le modèle actuel et téléchargez la version éditée de votre modèle (étape 2). Cliquez sur Suivant.
- Redémarrez l’application et effectuez le test de connexion pour vous assurer que le pilote DB2 est maintenant utilisé :

Image 8. Console Web DataSunrise
La personnalisation du modèle est terminée avec succès. Le modèle de formation cloud peut également être personnalisé pour d’autres cas d’utilisation. La plupart des modifications sont généralement apportées à la section des scripts UserData. N’hésitez pas à nous contacter pour toute assistance si vous avez besoin d’aide pour la personnalisation de la formation cloud.