Mysql
 sql >> Base de données >  >> RDS >> Mysql

Utiliser des modèles de formation Cloud pour lancer des instances MySQL sur RDS

Dans cet article, je vais expliquer comment configurer une instance MySQL sur AWS RDS à l'aide des modèles Cloud Formation. Dans mon article précédent, Comment configurer un environnement Amazon RDS pour MySQL, j'ai expliqué en détail comment configurer une instance MySQL sur Amazon. Vous pouvez utiliser la console AWS pour fournir toutes les informations nécessaires à la configuration de l'instance, puis l'utiliser. Cependant, dans cet article, nous discuterons d'un moyen automatisé d'obtenir les mêmes fonctionnalités à l'aide de modèles Cloud Formation.

Qu'est-ce qu'un modèle CloudFormation ?

Afin de commencer à écrire les modèles, nous devons d'abord comprendre en quoi consiste la formation des nuages. AWS propose Cloud Formation en tant que service cloud qui permet aux clients AWS d'écrire l'état souhaité de n'importe quelle infrastructure sous forme de code, puis de l'utiliser pour déployer des ressources sur AWS. Il nous permet de créer une ressource ou un groupe de ressources en suivant des modèles de configuration simples. Par exemple, si vous souhaitez déployer une application Web sur une instance EC2 qui utilisera également une base de données RDS, vous pouvez simplement combiner les deux ressources en une seule pile et écrire le code pour configurer les instances. Une fois exécuté, il créera à la fois l'instance EC2 et l'instance RDS et déploiera également votre application Web.

Figure 1 – Modèle CloudFormation sur la console AWS

Les composants d'un modèle de formation de nuages ​​sont les suivants :

  • Un JSON ou YAML fichier dans lequel les ressources seront définies comme modèle
  • Une pile peut être une combinaison de plusieurs ressources devant être configurées dans le cadre de l'application. Par exemple, EC2 et RDS
  • Un ensemble de modifications peut être utilisé pour afficher une liste des opérations à effectuer par la pile
  • Un ensemble de piles peut également être considéré comme un groupe géré de piles qui peuvent être reproduites ou répliquées

Parmi ce qui précède, nous nous concentrerons principalement sur le modèle JSON/YAML et la pile dans cet article. Les modèles prennent en charge un large éventail de ressources sur AWS. Pour obtenir une liste exhaustive, veuillez suivre ce lien.

Écrire le fichier modèle JSON ou YAML

L'un des principaux défis auxquels nous sommes confrontés lors de l'écriture d'un modèle pour la première fois est le contenu qui doit y être inclus. Pour faciliter cela, AWS fournit de nombreux exemples de modèles qui peuvent être facilement trouvés dans la documentation officielle. Une fois que vous avez trouvé le modèle requis pour créer une ressource nécessaire, vous pouvez l'utiliser pour créer votre propre modèle. Le modèle peut être créé à l'aide de JSON ou de YAML et converti de l'un à l'autre également. Sur une note personnelle, je préfère écrire les modèles en utilisant YAML car cela m'aide à éviter les accolades et les virgules et à garder le document plus propre. Cependant, vous êtes libre de choisir n'importe quelle option entre JSON et YAML.

Pour cet exercice, essayons de faire tourner une instance MySQL sur RDS et nous écrirons le code en YAML. Afin de configurer une base de données MySQL en utilisant la formation de nuages, nous aurions besoin des éléments suivants.

  • Nom de la ressource – Le nom de la ressource que vous allez configurer.
  • Type de ressource – Le type de ressource.
  • Propriétés de la ressource – Le nom de la base de données, le nom d'utilisateur et le mot de passe auxquels se connecter.
  • Le moteur de base de données – MySQL, SQL Server, PostgreSQL, etc.
  • Type de stockage – Le type de stockage à utiliser.
  • Accessibilité publique – Météo, la base de données doit avoir un accès public ou non.
  • Mémoire allouée – La mémoire qui doit être allouée à l'instance de base de données.
  • Région AWS – La région dans laquelle l'instance doit être créée.

Maintenant que nous avons quelques points avec nous, continuons et commençons par écrire le fichier modèle.

https://gist.github.com/aveek22/a188b02abde65479bbba2deba5ec90d6

Figure 2 - Le fichier modèle pour la création d'une instance MySQL sur RDS

Comme vous pouvez le voir sur la figure ci-dessus, la structure du fichier est divisée en deux parties. Dans la première partie, nous avons défini quelques paramètres qui seront utilisés par les définitions de ressources dans la deuxième partie lors de la création des ressources sur AWS. Vous pouvez utiliser le même script sur votre machine pour créer une instance sur votre compte AWS.

Configurer la pile sur la console

Maintenant que nous avons créé notre modèle pour MySQL, il est temps de le configurer pour voir si tout fonctionne bien. Rendez-vous sur la console AWS et recherchez Cloud Formation dans la barre de recherche. Cliquez sur Créer une pile et téléchargez le fichier de modèle depuis votre local. Cliquez sur Suivant une fois fait.

Figure 3 - Création de la pile à partir du modèle

Sur la page suivante, il vous sera demandé de fournir les paramètres qui ont été définis dans le modèle de formation des nuages. Allez-y et fournissez les détails nécessaires et cliquez sur Suivant .

Figure 4 - Paramètres de pile fournis

Passez en revue les modifications et les paramètres de la pile, puis cliquez sur Créer une pile sur la dernière page. La création de la pile va commencer. La création de toutes les ressources peut prendre un certain temps avant qu'elles ne soient disponibles. En attendant, vous pouvez cliquer sur le bouton Recharger pour vérifier si tous les événements ont été créés avec succès.

Figure 5 – Création de la pile en cours

Comme vous pouvez le voir sur les horodatages, cela m'a pris environ 6 minutes après quoi les ressources étaient disponibles et étaient également visibles sur la console. Accédez aux Ressources et cliquez sur Identifiant physique de la ressource. Cela vous amènera à la console RDS.

Figure 6 – Pile créée avec succès

Connexion de la base de données MySQL

Une fois dans la console RDS, vous pouvez obtenir le nom d'hôte de l'instance de base de données et l'utiliser pour vous connecter à la base de données. Saisissez le point de terminaison depuis la console et utilisez-le pour vous connecter.

Figure 7 – Détails de l'instance MySQL sur RDS

Passons maintenant à MySQL Workbench et essayons de nous connecter au nom d'hôte avec les informations d'identification que nous avons fournies précédemment. Utilisez le nom d'hôte, le nom d'utilisateur et le mot de passe pour vous connecter à l'instance.

Figure 8 – Connexion à l'instance MySQL à l'aide de MySQL Workbench

Comme vous pouvez le voir dans la figure ci-dessus, nous nous sommes connectés avec succès à l'instance de base de données sur RDS. Exécutons maintenant quelques requêtes et voyons si cela fonctionne.

Figure 9 – Exécution de scripts dans MySQL Workbench

Comme vous pouvez le voir sur la figure ci-dessus, nous avons pu nous connecter à l'instance de base de données et exécuter des requêtes. Avec cela, vous pouvez écrire votre propre modèle de formation de nuage et créer d'autres ressources comme la base de données SQL Server ou PostgreSQL.

Suppression des ressources

Si vous effectuez cela comme un exercice, je vous recommande de supprimer les ressources que nous avons créées car cela entraînera des frais. Vous pouvez accéder à la console RDS, puis sélectionner l'instance et cliquer sur Supprimer pour supprimer définitivement les ressources.

Figure 10 – Suppression des ressources créées

Une fois les ressources supprimées avec succès, vous pouvez vérifier à nouveau dans la console s'il y a des instances en cours d'exécution juste pour éviter d'ajouter des frais de facturation inutiles.

Conclusion

Dans cet article, nous avons expliqué en détail comment configurer une instance de base de données MySQL dans un environnement AWS RDS et l'automatiser à l'aide du modèle Cloud Formation. De cette façon, si la configuration des ressources sur le cloud est également connue sous le nom de service d'infrastructure en tant que code, vous pouvez configurer l'intégralité de l'infrastructure en tant que code, puis l'utiliser dans divers environnements. Ces modèles peuvent être utilisés non seulement pour déployer des instances de base de données, mais également d'autres infrastructures au sein d'AWS telles que EC2, Lambda, RedShift, etc. Pour en savoir plus sur les modèles de formation de cloud, vous pouvez consulter les exemples de modèles disponibles sur le site officiel.