Comment activer le versioning sur le seau S3 à l'aide de Terraform

Comment activer le versioning sur le seau S3 à l'aide de Terraform
L'infrastructure comme code ou IAC est une nouvelle approche dans laquelle le codage est utilisé pour configurer une infrastructure. Cela signifie qu'au lieu de configurer manuellement des machines virtuelles, des réseaux et d'autres composants d'un réseau, nous écrivons du code qui décrit l'infrastructure et exécutons simplement ce code pour obtenir l'état souhaité. Terraform est devenu un outil exceptionnel qui utilise l'approche IAC.

Comme beaucoup d'autres tâches, Terraform peut être utilisée pour créer et gérer un seau AWS S3. Le versioning signifie conserver plusieurs versions, ou vous pouvez simplement les appeler des variantes d'un fichier. Le versioning dans AWS S3 peut être utilisé pour maintenir et restaurer différentes variantes de l'objet stockées à l'intérieur. Cela a de nombreux avantages. Par exemple, nous pouvons restaurer des articles supprimés accidentellement.

Que couvrirons-nous?

Dans ce guide, nous verrons comment activer le versioning sur un seau S3 en utilisant Terraform. Nous travaillons sur l'ubuntu 20.04 Système pour ce tutoriel. Commençons maintenant.

De quoi aurez-vous besoin?

  1. Bases de Terraform
  2. Accès à Internet
  3. Terraform installé sur votre système. Vérifiez en exécutant la terraform -version.

Création d'un seau AWS S3 à l'aide de Terraform

Maintenant que nous avons vu un peu sur Terraform et j'espère que vous l'auriez installé sur notre machine locale, nous pouvons continuer notre tâche de travailler avec S3. Comme mentionné précédemment, Terraform utilise plusieurs fichiers de configuration pour l'approvisionnement des ressources, et chacun de ces fichiers doit résider dans leur dossier / répertoire de travail respectif. Créons un répertoire à cet effet.

Étape 1. Commencez par créer un dossier qui contiendra tous les fichiers de configuration, puis modifiez votre répertoire de terminal dans les éléments suivants:

$ Mkdir Linuxhint-Terraform && CD Linuxhint-Terraform

Étape 2. Laissez-nous créer notre premier fichier de configuration, «Variables.tf ", qui 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 créer le seau S3 dans."
default = "US-East-1"

variable "bucket_name"
Description = «Un nom unique pour le seau»
par défaut = «Tecofers-4»

«Tecofers-4» est le nom de notre seau, et vous pouvez utiliser votre propre nom ici.

É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 / your_user_name /.AWS / Prédients "
profil = "Profil1"

ressource "aws_s3_bucket" "bucket1"
seau = var.bucket_name
tags =
Name = "Examples3Bucket"


ressource "aws_s3_bucket_acl" "bucket1"
seau = var.bucket_name
acl = "privé"

ressource "aws_s3_bucket_versioning" "Bucket_versioning"
seau = var.bucket_name
versioning_configuration
status = "activé"

Changer la "Ton nom d'utilisateur" au nom d'utilisateur de votre système. Voyons les paramètres utilisés dans les fichiers précédents:

seau: Il s'agit d'un paramètre facultatif lorsque spécifié crée un nouveau seau. Si cet argument n'est pas présent, le Terraform donnera au seau un nom aléatoire et unique. Le nom du seau doit être en minuscules, la longueur ne dépassant pas 63 caractères.

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 pour créer le seau S3.

La ressource "AWS_S3_Bucket" et "Aws_s3_bucket_acl" Fournit un seau et une ressource ACL (configuration ACL) pour le seau. Le "ACL" L'argument est facultatif et fournit un ensemble de subventions prédéfinies conçues par Amazon.

De même, la ressource "AWS_S3_Bucket_versioning" Fournit une ressource pour le contrôle de version sur un seau S3. Le bloc de version_configuration défini dans ce bloc contient la configuration requise à cet effet. L'argument d'état est obligatoire et peut contenir une seule valeur parmi: activé, désactivé et suspendu.

Initialisation du répertoire Terraform

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

$ Terraform init

Construire l'infrastructure

Maintenant que nous avons préparé nos fichiers de configuration, nous pouvons appliquer les modifications en utilisant la commande suivante:

$ terraform s'applique

Entrer "Oui" sur le terminal lorsqu'il est invité. Lorsque le Terraform termine ses travaux, le message suivant apparaît:

Vérification de la procédure

Maintenant, vérifions si le seau S3 souhaité est créé. Dirigez-vous vers la console S3 et vérifiez les seaux disponibles:

Depuis que notre seau a été créé avec succès, nous pouvons maintenant télécharger des fichiers et créer de nouveaux dossiers ici.

Supprimez les ressources que vous avez créées lorsque vous n'en avez pas besoin. Cela vous sauvera des frais indésirables sur AWS:

$ terraform détruire

Conclusion

Dans ce guide, nous avons appris à permettre le versioning sur un seau S3 en utilisant Terraform. Nous avons créé un seau et appliqué le versioning. Il y a tellement de choses que nous pouvons faire en utilisant Terraform pour simplifier notre déploiement d'infrastructure.