Come abilitare il versioning sul secchio S3 usando Terraform

Come abilitare il versioning sul secchio S3 usando Terraform
L'infrastruttura come codice o IAC è un nuovo approccio in cui la codifica viene utilizzata per impostare un'infrastruttura. Ciò significa che invece di impostare manualmente VM, reti e altri componenti di una rete, scriviamo un codice che descrive l'infrastruttura e eseguiamo semplicemente quel codice per ottenere lo stato desiderato. Terraform è emerso come uno strumento eccezionale che utilizza l'approccio IAC.

Come molti altri compiti, Terraform può essere utilizzato per creare e gestire un secchio AWS S3. Versioning significa mantenere diverse versioni o puoi semplicemente chiamarle varianti di un file. La versione in AWS S3 può essere utilizzata per mantenere e ripristinare diverse varianti dell'oggetto archiviato al suo interno. Questo ha molti vantaggi. Ad esempio, possiamo ripristinare gli articoli eliminati accidentalmente.

Cosa copriremo?

In questa guida, vedremo come abilitare la versione su un secchio S3 usando Terraform. Stiamo lavorando su Ubuntu 20.04 Sistema per questo tutorial. Iniziamo ora.

Di cosa avrai bisogno?

  1. Nozioni di base di Terraform
  2. Accesso a Internet
  3. Terraform installato sul tuo sistema. Controlla eseguendo la versionismo Terraform.

Creazione di un secchio AWS S3 usando Terraform

Ora che abbiamo visto un po 'su Terraform e, si spera, l'avresti installato sulla nostra macchina locale, possiamo continuare il nostro compito di lavorare con S3. Come accennato in precedenza, Terraform utilizza diversi file di configurazione per le risorse di provisioning e ciascuno di questi file deve risiedere nella rispettiva cartella/directory di lavoro. Creiamo una directory per questo scopo.

Passo 1. Inizia creando una cartella che conterrà tutti i file di configurazione, quindi modifica la directory del terminale in quanto segue:

$ MKDIR Linuxhint-Terraform && CD Linuxhint-Terraform

Passo 2. Creiamo il nostro primo file di configurazione, “Variabili.TF ", Ciò conterrà le informazioni sulla nostra regione AWS e sul tipo di istanza che vogliamo usare:

$ nano variabili.tf

Ora, inserisci il seguente testo al suo interno e salva il file:

variabile "aws_region"
Descrizione = "La regione AWS per creare il secchio S3 in."
Default = "US-East-1"

variabile "bucket_name"
Descrizione = "Un nome univoco per il secchio"
Default = "TecoFERS-4"

"Tecofers-4" è il nome del nostro secchio e puoi usare il tuo nome qui.

Passaggio 3. Fare un "principale.TF " file che conterrà la definizione per la nostra infrastruttura.

$ nano main.tf

Ora, inserisci la seguente configurazione al suo interno:

Terraform
richiesto_providers
aws =
Source = "Hashicorp/AWS"
versione = "~> 3.27 "


richiesto_version = "> = 0.14.9 "

Provider "AWS"
regione = var.AWS_REGION
shared_credentials_file = "/home/your_user_name/.AWS/Credentials "
profilo = "profile1"

risorsa "aws_s3_bucket" "bucket1"
Bucket = var.bucket_name
tags =
Name = "Esempi3Bucket"


risorsa "aws_s3_bucket_acl" "bucket1"
Bucket = var.bucket_name
acl = "privato"

risorsa "aws_s3_bucket_versioning" "bucket_versioning"
Bucket = var.bucket_name
versioning_configuration
status = "abilitato"

Cambiare il "Il tuo nome utente" al nome utente del tuo sistema. Vediamo i parametri utilizzati nei file precedenti:

secchio: È un parametro opzionale quando specificato crea un nuovo secchio. Se questo argomento non è presente, la Terraform darà al secchio un nome casuale e unico. Il nome del bucket deve essere in minuscolo, con la lunghezza non superiore a 63 caratteri.

Condiviso_credentials_file: È il percorso del file contenente le credenziali degli utenti AWS.

Profilo: Specifica il profilo dell'utente per la creazione del bucket S3.

La risorsa "AWS_S3_Bucket" E "AWS_S3_BUCKET_ACL" Fornisce un secchio e una risorsa ACL (configurazione ACL) per il secchio. IL "ACL" L'argomento è facoltativo e fornisce un set di sovvenzioni predefinite di Amazon.

Allo stesso modo, la risorsa "AWS_S3_Bucket_Versioning" Fornisce una risorsa per il controllo della versione su un secchio S3. Il blocco versioneing_configuration definito in questo blocco contiene la configurazione richiesta a questo scopo. L'argomento di stato è obbligatorio e può contenere un unico valore tra: abilitato, disabilitato e sospeso.

Inizializzazione della directory Terraform

Per scaricare e installare il provider, abbiamo definito nella nostra configurazione e altri file. Dobbiamo inizializzare la directory contenente questo file:

$ Terraform init

Costruire l'infrastruttura

Ora che abbiamo preparato i nostri file di configurazione, possiamo applicare le modifiche utilizzando il seguente comando:

$ Terraform si applica

accedere "SÌ" sul terminale quando viene richiesto. Quando la Terraform termina il suo lavoro, appare il seguente messaggio:

Verificare la procedura

Ora, controlliamo se viene creato il bucket S3 desiderato. Dirigiti alla console S3 e controlla i secchi disponibili:

Poiché il nostro bucket è stato creato correttamente, ora possiamo caricarne i file e creare nuove cartelle qui.

Elimina le risorse che hai creato quando non ne hai bisogno. Questo ti salverà da accuse indesiderate su AWS:

$ Terraform Distruggi

Conclusione

In questa guida, abbiamo appreso di abilitare il versioni su un secchio S3 usando Terraform. Abbiamo creato un secchio e applicato ad esso. Ci sono così tante cose che possiamo fare usando Terraform per semplificare la nostra distribuzione infrastrutturale.