Modification de Cloud Formation
DataSunrise fournit un script dédié pour le déploiement d’une infrastructure HA dans Amazon Web Services basée sur le service Amazon Cloud Formation. 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 une configuration personnalisée. 2 scénarios seront présentés.
Scénario 1.
Nous publions une mise à jour mineure quotidienne de DataSunrise et des AMI pour maintenir 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, nos clients peuvent être amenés à mettre à jour les AMI qu’ils utilisent actuellement, avec la dernière version.
Cela peut être fait par une édition manuelle du modèle. Des instructions détaillées sont fournies ci-dessous :
- Ouvrez le fichier modèle et accédez à la section RegionMap :
- Choisissez la région où votre environnement est déployé.
- Accédez à notre répertoire GitHub officiel
Nous mettons à jour les fichiers de script là-bas chaque semaine dès que la nouvelle version de DataSunrise est disponible.
- Accédez aussi à la section RegionMap et choisissez la région où vos ressources sont déployées :
- Vous ne pouvez mettre à jour l’ID de l’AMI que pour la région que vous utilisez. Par conséquent, copiez l’ID de l’AMI pour la région requise.
- Accédez à votre fichier modèle actuel et remplacez l’ID de l’AMI actuel pour la région requise par la valeur copiée depuis notre dépôt GitHub.
- Accédez à la page AWS CF et choisissez l’option pour mettre à jour votre stack 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.
Maintenant, vous pouvez 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 -> Tester la 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 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 changer la configuration du serveur, ou d’appliquer les dernières corrections infrastructurelles. Cela peut être fait en modifiant la partie UserData du fichier modèle CF.
Voyons comment cela peut être 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 :
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 de la stack CF dans le script afin qu’elles puissent être facilement utilisées pendant le flux de travail du script.
- ds-manip.sh – ce script est nécessaire pour certaines opérations administratives telles que l’octroi de permissions à l’utilisateur DataSunrise pour n’importe quel fichier, la connexion/déconnexion à la console web de DataSunrise, etc.
- ds-setup.sh – ce script contient toutes les fonctions nécessaires pour configurer DataSunrise avec succès. 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 des journaux.
- pre-setup.sh – ce script est nécessaire pour préparer l’environnement à l’installation de DataSunrise : télécharger les packs nécessaires, constructions, configurer une licence pour l’application DataSunrise, etc.
Dans notre cas, nous allons installer le pilote ODBC DB2 qui sera utilisé pendant l’initialisation de l’instance de base de données cible. Par conséquent, nous allons appliquer les modifications au fichier pre-setup.sh.
Dans notre scénario, les commandes nécessaires sont tirées de la documentation officielle de DataSunrise Guide de l’utilisateur
- Pastez les commandes nécessaires dans le fichier pre-setup.sh.
- Mais d’abord, nous devons télécharger le pilote ODBC DB2 dans le seau S3. Donc, veuillez télécharger 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 seau S3 que vous avez spécifié comme BackupS3BucketName lors du déploiement du script Cloud Formation.
- Maintenant, pastez les commandes nécessaires comme indiqué ci-dessous :
Voici les commandes :
logBeginAct "Install DB2 ODBC driver..." 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 = DB2 Driver" | 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 "Install DB2 ODBC driver result - $RETVAL"
- Pour surveiller la progression 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 d’installation de l’autre :
la ligne dans le modèle : logBeginAct “Install DB2 ODBC driver…”
la sortie dans le fichier cloud-init-output.txt : [DS
] : Install DB2 ODBC driver… * Le fichier cloud-init-output.txt est un fichier qui stocke tous les messages de journalisation du déploiement du script DataSunrise Cloud Formation. Il se trouve dans /var/log/messages/. Vous pouvez le vérifier chaque fois que vous avez besoin de dépanner votre déploiement de stack cloud formation.
- Une fois que vous avez ouvert la partie logBeginAct, à l’intérieur de cette partie, vous pouvez utiliser la fonction log pour journaliser toute information ou statut dans le fichier cloud-init-output.txt.
Nous ne l’utiliserons pas dans notre partie collée, mais vous pouvez jeter un œil à un autre exemple :
- Pour terminer la partie journalisation, vous pouvez entrer :
logEndAct “Install DB2 ODBC driver result – $RETVAL”
* La variable RETVAL est utilisée pour vérifier le code de sortie de la commande précédente.
RETVAL=$?
- Utilisez la fonction logBeginAct pour commencer la journalisation et séparer une partie du processus d’installation de l’autre :
- Enregistrez le fichier. Allez sur la page AWS CF et choisissez l’option pour mettre à jour votre stack 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é :
La personnalisation du modèle a été 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 obtenir de l’aide si vous avez besoin d’aide pour la personnalisation de Cloud Formation.