Come creare un bucket S3 con Terraform

I bucket S3 rappresentano il servizio di storage cloud di Amazon. Non è insolito per una grande azienda implementare numerosi bucket S3 per lo sviluppo, i test e altri servizi. Invece di eseguire manualmente il provisioning di diversi bucket S3, puoi utilizzare Terraform per implementarli in pochi secondi. Dopo aver creato un file Terraform, puoi […]

Come creare un bucket S3 con Terraform

3 minuti
image_pdfimage_print

I bucket S3 rappresentano il servizio di storage cloud di Amazon. Non è insolito per una grande azienda implementare numerosi bucket S3 per lo sviluppo, i test e altri servizi.

Invece di eseguire manualmente il provisioning di diversi bucket S3, puoi utilizzare Terraform per implementarli in pochi secondi. Dopo aver creato un file Terraform, puoi continuare a implementare i bucket S3 in pochi secondi senza dover configurare ciascuno di essi.

Quando utilizzare S3 con Terraform?

Se hai la necessità di implementare diversi bucket S3 per un’applicazione, puoi configurarli manualmente, ma questa operazione richiede diversi minuti e dovrai ripetere lo stesso processo ogni volta che avrai bisogno dello storage cloud AWS.

Per semplificare il processo, puoi utilizzare un modello Terraform. Un modello Terraform contiene le impostazioni per il bucket S3 e può essere utilizzato per inviare comandi all’API allo scopo di implementare più bucket S3 simultaneamente in pochi secondi, senza dover ripetere gli stessi passaggi manualmente. L’unica operazione da effettuare è la creazione dei file Terraform in modo da implementare i bucket S3.

Come creare un bucket S3 utilizzando Terraform: un esempio

In questo esempio vengono creati due file modello di Terraform. Sono denominati bucket.tf e variables.tf. Entrambi i file conterranno il nome del bucket S3, le configurazioni, le chiavi di accesso ai profili utente in modo che il bucket sia accessibile e una regione dove memorizzare il bucket.

Passaggio 1: creazione del file bucket.tf

Il file bucket.tf contiene il nome, la regione e le chiavi di accesso per il bucket S3. Utilizza il seguente codice nel file bucket.tf:

provider "aws" {

    access_key = "${var.aws_access_key}"

    secret_key = "${var.aws_secret_key}"

    region = "${var.region}"

}

module "s3" {

    source = "<path-to-S3-folder>"

    bucket_name = "your_bucket_name"       

}

resource "aws_s3_bucket" "temps3" {

    bucket = "${var.bucket_name}" 

    acl = "${var.acl_value}"   

}

Passaggio 2: creazione del file variables.tf

Il file variables.tf contiene i riferimenti alle variabili che vedi nel file bucket.tf. Crea un file Terraform con il codice seguente:

variable "bucket_name" {}

variable "acl_value" {

    default = "private"

}

variable "aws_access_key" {

default = “<your_access_key>”

}

variable "aws_secret_key" {

default = “<your_secret_key>”

 }

variable "region" {

    default = "region"

}

Passaggio 3: esecuzione dei comandi in Terraform

Per eseguire i comandi in Terraform, devi innanzitutto inizializzare la piattaforma. Effettuata questa operazione, puoi applicare le modifiche all’ambiente per creare il bucket S3. In Terraform, digita i comandi seguenti:

terraform init

terraform apply

Come creare istanze di bucket S3 in Terraform

Per creare istanze di bucket si utilizzano gli stessi passaggi riportati sopra. Seguili per creare il file bucket.tf e il file variables.tf, e implementare le istanze del bucket S3.

Passaggio 1: creazione del file bucket.tf

Il file bucket.tf memorizza le configurazioni di base per l’istanza del bucket S3. Utilizza il seguente codice nel file bucket.tf:

provider "aws" {

    access_key = "${var.aws_access_key}"

    secret_key = "${var.aws_secret_key}"

    region = "${var.region}"

}

module "s3" {

    source = "<path-to-S3-folder>"

    bucket_name = "your_bucket_name"       

}

resource "aws_s3_bucket" "temps3" {

    bucket = "${var.bucket_name}" 

    acl = "${var.acl_value}"   

}

Passaggio 2: creazione del file variables.tf

Il file variables.tf contiene i riferimenti alle variabili che vedi nel file bucket.tf. Crea un file Terraform con il codice seguente:

variable "bucket_name" {}

variable "acl_value" {

    default = "private"

}

variable "aws_access_key" {

default = “<your_access_key>”

}

variable "aws_secret_key" {

default = “<your_secret_key>”

 }

variable "region" {

    default = "region"

}

Passaggio 3: esecuzione dei comandi in Terraform

Se Terraform è già stato inizializzato nella sezione precedente, non è necessario eseguirlo di nuovo. Diversamente, devi inizializzarlo prima di applicare le modifiche all’ambiente. Digita i seguenti comandi in Terraform, ma escludi il primo se hai già effettuato l’inizializzazione:

terraform init

terraform apply

Conclusione

I file modello di Terraform possono essere utilizzati per ripetere lo stesso processo diverse volte invece di configurare manualmente i servizi cloud AWS ogni volta che ti servono. Puoi ridurre i tempi di provisioning da diverse ore a pochi secondi.

Written By: