Comment créer AWS RDS Snapshot en utilisant Terraform

Comment créer AWS RDS Snapshot en utilisant Terraform

Le service de base de données relationnel d'Amazon ou RDS est une base de données relationnelle qui peut être facilement configurée à l'aide de CLI de console de gestion AWS et avec l'API RDS. À côté de cette manière, nous pouvons également utiliser l'outil Terraform pour créer et gérer une base de données AWS RDS.

Terraform peut être utilisé pour déployer des infrastructures cloud de nombreux fournisseurs de services cloud. Il peut être téléchargé et installé sur les principaux systèmes d'exploitation tels que Linux, MacOS et Windows. Il a son propre langage syntaxique appelé HCL (Hashicorp Configuration Language) pour créer des fichiers de configuration. Nous pouvons spécifier le fournisseur de services cloud et d'autres détails d'infrastructure à l'aide de la syntaxe HCL. Terraform crée d'abord un plan d'exécution qui prévisualise les modifications prévues pour l'infrastructure. Il ne sera déployé qu'une fois que vous aurez confirmé ce plan. Il existe trois principales commandes Terraform qui sont bien utilisées: 1) Plan Terraform, 2) Terraform s'appliquent et 3) Terraform détruise.

Que couvrirons-nous?

Cet article vous présente le processus de création d'un instantané AWS RDS à l'aide de Terraform. Nous allons d'abord créer une base de données RDS, puis créer son instantané à l'aide de Terraform.

De quoi aurez-vous besoin?

  1. Compte AWS configuré sur votre système.
  2. Accès à Internet.

Ce que nous attendons de vous?

Avant de poursuivre, assurez-vous d'installer Terraform sur votre système (Ubuntu 20.04 Dans notre cas). Nous supposons également que vous avez déjà configuré les informations d'identification de l'utilisateur AWS. Ces informations d'identification sont utilisées dans le bloc de fournisseur Terraform plus tard lorsque Terraform sera exécuté.

Voyez si Terraform est déjà installé dans votre système en exécutant la commande Terraform suivante:

$ Terraform - Version

Comme vous pouvez le voir, nous avons installé la version 1.7 de Terraform. Si vous ne l'avez pas encore installé, vous pouvez utiliser le package binaire officiel fourni par Terraform. Ou vous pouvez utiliser le gestionnaire de package par défaut de distribution. Plus de détails sur l'installation peuvent être trouvés sur le site Web de Terraform.

Création d'un instantané AWS RDS en utilisant Terraform

Maintenant que nous avons déjà installé Terraform sur notre machine locale, nous pouvons continuer notre tâche à travailler avec AWS RDS.

La configuration Terraform pour différents composants est stockée dans différents fichiers tels que:

  1. variables.TF: Définition de diverses utilisations dans les fichiers.
  2. principal.TF

Comme mentionné précédemment, Terraform utilise plusieurs fichiers de configuration pour fournir des ressources. Chacun de ces fichiers doit résider dans son dossier / répertoire de travail respectif. Créons un répertoire à cet effet:

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

$ Mkdir Linuxhint-Terraform && CD Linuxhint-Terraform

Étape 2. Créons notre premier fichier de configuration "variables.TF"Cela contiendra les informations sur notre région AWS et le type d'instance que nous voulons utiliser.

$ variables nano.TF

Maintenant, mettez le texte suivant à l'intérieur et enregistrez le fichier.

variable "aws_region"
Description = "La région AWS pour travailler."
default = "US-East-1"

Étape 3. 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 = var.aws_region
shared_credentials_file = "/ home / username /.AWS / Prédients "
profil = "Profil1"

ressource "aws_db_instance" "mydb"
alloué_storage = 10
moteur = "mysql"
moteur_version = "8.0.28 "
instance_class = "db.T2.micro "
name = "dbname"
mot de passe = "dbpassword"
username = "dbuser"
identifier = "Linuxhint-tterraform-db"
backup_retention_period = 0
paramètre_group_name = "par défaut.mysql8.0 "
skip_final_snapshot = true

ressource "aws_db_snapshot" "test"
db_instance_identifier = aws_db_instance.mydb.identifiant
db_snapshot_identifier = "testsnapshot"

Dans le fichier précédent, remplacez le «Nom d'utilisateur"Avec la valeur dans votre cas. Voyons un peu sur certains des paramètres utilisés ci-dessus:

  • shared_credentials_file: c'est le chemin du fichier contenant les informations d'identification des utilisateurs AWS.
  • Profil: il spécifie le profil de l'utilisateur à utiliser pour travailler avec l'AWS.
  • aws_db_instance: ressource pour créer une nouvelle instance RDS.
  • db_instance_identifier: il spécifie l'identifiant d'instance DB à partir de laquelle l'instantané RDS sera généré.
  • DB_SNAPSHOT_IDENTIFIER: Utilisé comme identifiant d'un instantané.

Initialiser le 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

Construire l'infrastructure

Pour construire l'infrastructure souhaitée, appliquez les modifications en utilisant la commande suivante:

$ terraform s'applique

Entrez «oui» sur le terminal lorsqu'il est invité.

Vérifiez la procédure

Maintenant, vérifions si le godet d'instance RDS souhaité est créé ou non. Dirigez-vous vers la console RDS et vérifiez les bases de données disponibles.

On peut voir que le «Linuxhint-tterraform-db» est créé. De même, sous les sections d'instantané, vérifiez si l'instantané que nous avons spécifié dans le fichier de configuration est créé ou non.

Supprimer les ressources

Lorsque vous avez terminé votre tâche et que vous n'avez plus besoin des ressources AWS, supprimez-les simplement en exécutant la commande suivante:

$ terraform détruire

Conclusion

Dans ce guide, nous avons appris et démontré sur la création du seau S3 sur AWS en utilisant Terraform. Vous avez probablement remarqué à quel point il est simple de travailler avec Terraform.