Comment créer une instance AWS RDS DB en utilisant Terraform

Comment créer une instance AWS RDS DB en utilisant Terraform
Terraform prend en charge plusieurs fournisseurs de services cloud car il est conçu à des fins de code d'infrastructure Solution IAC. En utilisant IAC, nous pouvons gérer la configuration de l'infrastructure avec des fichiers de configuration (e.g. Déployer, mettre à jour et gérer notre infrastructure en définissant les ressources requises.) Il est donc établi qu'AWS RDS fournit un service de base de données relationnel facile à gérer. Cependant, en utilisant Terraform, nous pouvons simplifier davantage la tâche de gestion RDS.

Que couvrirons-nous?

Dans ce guide, nous verrons comment nous pouvons provisionner une instance AWS RDS DB en utilisant Terraform. Laissez-nous d'abord par l'installation de Terraform sur Ubuntu 20.04.

Installation de Terraform

Hashicorp fournit le package Terraform officiel pour Ubuntu / Debian, Centos / Rhel, Fedora et Amazon Linux. À côté de cela, il maintient également le binaire pré-compilé et peut également être compilé à partir de la source. Pour ce guide, nous utilisons le package par défaut fourni par le référentiel du package Debian pour installer Terraform sur Ubuntu 20.04.

Étape 1. Première installation gnupg, Software-Properties-Common et Curl Packages pour vérifier la signature GPG de Hashicorp et installer le référentiel requis:

$ sudo apt-get update && sudo apt-get install -y gnupg logiciel-properties-commun curl

Étape 2. Ajoutez maintenant le Hashicorp gpg clé en utilisant la commande:

$ curl -fssl https: // apt.sorties.hashicorp.com / gpg | sudo apt-key ajouter -

Étape 3. Continuez en ajoutant le référentiel requis:

$ sudo apt-add-repository "deb [arch = amd64] https: // apt.sorties.hashicorp.com $ (lsb_release -cs) Main "

Étape 4. Enfin, exécutez la commande de mise à jour pour ajouter le référentiel et installer Terraform:

$ sudo apt-get update && sudo apt-get install terraform

Étape 5. Vérifiez si Terraform est installé en exécutant la commande:

$ Terraform - Version

Construire une infrastructure AWS RDS utilisant Terraform

Maintenant que nous avons installé Terraform sur notre machine locale, nous pouvons continuer notre tâche de travailler avec AWS. Comme mentionné précédemment, Terraform utilise plusieurs fichiers de configuration pour les ressources de provision et chacun de ces fichiers doit être placé dans leur dossier de travail / répertoire respectif. Créons un répertoire à cet effet:

Étape 1. Créez un dossier pour contenir vos fichiers de configuration et modifier le répertoire dans ce dossier:

$ Mkdir Linuxhint-Terraform && CD Linuxhint-Terraform

Étape 2. Faire un 'principal.TF«Fichier qui contiendra la définition de notre infrastructure:

$ nano main.TF

Maintenant, mettez la configuration suivante à l'intérieur:

Terraform
requis_providers
aws =
source = "hashicorp / aws"
version = "~> 3.27 "


required_version = "> = 0.14.9 "

fournisseur "aws"
région = "US-West-2"
Access_key = "Your-Access-Key"
Secret_key = "Votre secret-Key"

ressource "aws_db_instance" "rds_instance"
alloué_storage = 20
identifier = "rds-tterraform"
Storage_type = "GP2"
moteur = "mysql"
moteur_version = "8.0.27 "
instance_class = "db.T2.micro "
name = "votre nom-db"
username = "Votre-Db-username"
mot de passe = "votre mot de passe"
publicly_accessible = true
skip_final_snapshot = true
tags =
Name = "examplerDSserveRinstance"

Ce fichier contient toute la configuration à déployer à l'aide de Terraform, remplacez simplement le texte en gras par vos propres détails de configuration. Explorons chacune des sections utilisées dans le fichier ci-dessus:

1. Terraform: il définit les paramètres de terraform. Les «fournisseurs requis» définissent le fournisseur à utiliser avec la terraform et la «source» est un paramètre facultatif pour le nom d'hôte, un espace de noms et le type de fournisseur. Dans le code ci-dessus, la source est définie comme «Hashicorp / AWS» qui, comme tous les fournisseurs, est installée à partir du registre Terraform. Le fournisseur ci-dessus pointe vers 'enregistrement.terraform.io / hashicorp / aws '.

L'attribut de version définit la version du fournisseur que vous souhaitez utiliser.

2. Fournisseur: Cela spécifie la plate-forme cloud avec laquelle vous allez interagir (AWS, Azure, GCP, etc.). Cela contrôle également la région que vous déployez vos ressources et les informations d'identification de sécurité pour votre utilisateur.

3. Ressource: il comprend des composants qui construisent une infrastructure comme les bases de données, le stockage, le réseau, etc. La première chaîne, ici "aws_instance«, Définit le type de ressource et le second définit un nom personnalisé que vous souhaitez utiliser. Ces deux sont combinés pour former un ID unique pour cette ressource, ici c'est 'aws_instance.Rds_instance'. De la même manière, nous pouvons également inclure des tailles de machine, des noms d'images disque ou des ID VPC.

Pour valider ou vérifier votre configuration, utilisez la commande:

$ Terraform Valider

Initialisation du répertoire Terraform

Pour télécharger et installer le fournisseur que nous avons défini dans notre configuration et autres fichiers, nous devons initialiser le répertoire contenant ce fichier:

$ Terraform init

De l'image ci-dessus, notre init La commande est réussie et il y a également de nouveaux fichiers créés ici. Il y a aussi une autre commande `` Plan Terraform '', bien qu'il ne soit pas obligatoire de l'utiliser, mais il a des avantages, par exemple.:

  1. Vous pouvez voir les actions que Terraform va effectuer.
  2. Il peut souligner les erreurs syntaxiques dans vos fichiers de configuration.

Terraform ne mentionne pas cette commande dans sa documentation, car lorsque vous exécutez la commande `` Terraform Apply '', le même plan sera à nouveau présenté.

Construire l'infrastructure

Pour construire notre infrastructure, utilisez la commande:

$ terraform s'applique

Ceci sera d'abord sorti le plan d'exécution décrivant les tâches que Terraform effectuera pour amener l'état de votre infrastructure à celui défini dans votre fichier de configuration. Après cela, il s'arrête et vous demandera de confirmer le plan de continuer. Si tout est défini comme vous le souhaitez, tapez «oui» pour continuer:

Si vous êtes prêt à continuer, tapez «oui».

Il faudra un certain temps pour terminer le processus. Une fois ce processus terminé, le message ci-dessous apparaît:

Sur votre console de gestion AWS, l'instance RDS sera répertoriée:

Détruire les ressources

Lorsque vous avez terminé et que vous n'avez plus besoin des ressources AWS que vous avez créées, vous pouvez simplement les supprimer en utilisant la commande:

$ terraform détruire

Conclusion

Dans ce guide, nous avons appris à provisionner une instance RDS sur AWS en utilisant Terraform. Vous pouvez également essayer de configurer une instance EC2 de la même manière.