
Terraform è un'infrastruttura come piattaforma di codice sviluppata da HashiCorp. Puoi semplicemente scrivere codice nel formato leggibile dall'uomo seguendo HashiCorp Configuration Language (HCL) e distribuirlo per ottenere l'infrastruttura nel cloud. Terraform è supportato in molti provider cloud come Google, Amazon, Alibaba, ecc.
In questo articolo, installare l'ultima versione di terraform su Ubuntu. Stiamo eseguendo l'installazione di terraform su Ubuntu 20.04, tuttavia puoi eseguire la stessa procedura su tutte le piattaforme Linux.
Inoltre, scopri come usare la terraforma con un semplice esempio avvia un'istanza ec2 e crea un bucket s3.
Installa terraform su Ubuntu 20.04
Scarica l'ultima versione di Terrafrom. Al momento della stesura dell'articolo, l'ultima versione è la 0.14.3.
$ wget https://releases.hashicorp.com/terraform/0.14.3/terraform_0.14.3_linux_amd64.zip
Ora decomprimi il file di download.
$ sudo apt install zip -y
$ sudo unzip terraform_0.14.3_linux_amd64.zip
Questo ti produrrà un file terraform, spostalo su /usr/local/bin/ per eseguire il comando.
$ sudo mv terraform /usr/local/bin/
Controlla la versione
$ terraform version

Come usare Terraform
Spieghiamo come usare terraform con esempi di base.
Avvio dell'istanza ec2 e creazione di un bucket s3
Vorrei creare una cartella e fare tutto al suo interno.
$ mkdir aws && cd aws
Crea un file di configurazione per terraform con estensione 'tf'
vi configuration.tf
Ora devi fornire le seguenti informazioni:
- Provider:provider cloud, nel nostro caso AWS
- Accesso, chiave segreta:accesso alle risorse AWS
- Regione:la regione in cui eseguirai il provisioning della tua infrastruttura. Lo sto facendo in Oregon.
Nel secondo blocco del codice definisci l'istanza AWS, ovvero ami ( controlla amazon EC2 AMI Locator ), il tipo di istanza e il tag.
L'ultima parte del codice seguente creerà un bucket s3 denominato "bucket-launched-using-terrafrom-20210106". Ricorda che il nome del bucket deve essere univoco su AWS.
Copia il seguente contenuto e incollalo nel file configuration.tf. Fornisci accesso, chiave segreta, regione, nome del bucket personale.
#Define keys and region
provider "aws" {
access_key = "YOUR-ACCESS-KEY"
secret_key = "YOUR-SECRET-KEY"
region = "us-west-2"
}
#Define ec2 instance
resource "aws_instance" "instance1" {
ami = "ami-089668cd321f3cf82"
instance_type = "t2.micro"
tags = {
Name = "ubuntu-20.04"
}
}
#Define s3 bucket
resource "aws_s3_bucket" "bucket1" {
bucket = "bucket-launched-using-terrafrom-20210106"
acl = "private" # or can be "public-read"
tags = {
Name = "Bucket"
Environment = "Production"
}
}
Ora inizializza, pianifica ed esegui il tuo codice. Inizializzazione della terraforma renderà necessaria la configurazione, la pianificazione è come vedere cosa accadrà nella realtà. Scoprirà anche il tuo errore di sintassi. Infine, applicare significa distribuire il codice nel cloud. Eseguiamo uno per uno il comando seguente.
L'inizializzazione di terraform renderà la configurazione necessaria. Quindi, esegui il seguente comando,
$ terraform init
La pianificazione è come vedere cosa accadrà nella realtà. Scoprirà anche il tuo errore di sintassi.
$ terraform plan
Fare domanda significa che implementerai il codice nel cloud. Fallo semplicemente eseguendo il comando,
$ terraform apply
Ti chiederà conferma. Basta digitare "sì" e premere invio. In pochi secondi la tua infrastruttura sarà pronta.
Ora puoi accedere alla console AWS e andare al servizio ec2. Scoprirai che ec2 è stato avviato.

Allo stesso modo, vai su s3 e cerca nel tuo bucket.

Distruggi l'infrastruttura
Se vuoi distruggere l'infrastruttura di cui sopra, puoi semplicemente digitare 'terraform destroy'.
$ terraform destroy
Ti chiede la conferma, dì semplicemente "sì" e premi invio. L'istanza ec2 e il bucket s3 che hai creato in precedenza devono essere rimossi dal tuo account AWS. Puoi verificare accedendo alla console AWS.
Rimuovi terraforma
Se vuoi rimuovere terraform puoi semplicemente eliminare il file 'terraform' conservato in /usr/local/bin/
$ sudo rm -f /usr/local/bin/terraform
Inoltre, puoi pulire la tua directory in cui hai inizializzato terraform. Nel nostro caso, possiamo eliminare tutto il contenuto della cartella 'aws'.
Lettura correlata:
- Come caricare file su S3 utilizzando Terraform
- Fornitura di un'istanza cloud AWS EC2
Conclusione
Questo articolo ti ha semplicemente guidato a installare terraform, avviare l'istanza ec2 e creare il bucket s3 utilizzandolo. Ti abbiamo anche mostrato di distruggere la tua infrastruttura creata da terraform.