Terraform è uno strumento a riga di comando open source "infrastruttura come codice" utilizzato per gestire l'infrastruttura nel cloud. Con terraform definisci un file di configurazione dichiarativo chiamato HashiCorp Configuration Language (HCL) ed esegui il provisioning della tua infrastruttura. Ad esempio, hai bisogno di una macchina virtuale, devi solo definire risorse come memoria, archiviazione, elaborazione sotto forma di codice e push in cloud. Avrai la macchina virtuale o l'istanza virtuale. Terraform è supportato in tutti i principali provider di servizi cloud come Amazon cloud, Google cloud, Alibaba cloud e Microsoft Azure cloud.
Questo articolo tratterà l'installazione di Terraform sul sistema Ubuntu 20.04 LTS e l'avvio dell'istanza AWS EC2 (flusso Centos 8) utilizzando terraform.
Installazione di Terraform su Ubuntu 20.04 LTS
Scarica l'ultima versione di Terraform dall'URL https://www.terraform.io/downloads.html . Al momento della stesura dell'articolo, l'ultima versione è 0.14.3.
Per scaricare terraform dal comando, esegui il seguente comando wget
$ wget https://releases.hashicorp.com/terraform/0.14.3/terraform_0.14.3_linux_amd64.zip
Ora decomprimi il file scaricato.
$ 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
Questo dovrebbe fornirti un output simile al seguente
[email protected]:~$ terraform version Terraform v0.14.3 [email protected]:~$
Prefetto, sopra l'output conferma che Terraform è stato installato.
Avvio dell'istanza AWS EC2 utilizzando Terraform
Creiamo una directory e configuriamo Terraform al suo interno. Esegui i seguenti comandi
$ mkdir terraform $ cd terraform
Ora crea un file di configurazione. Sto dando qui il nome come config.tf . Puoi dare il nome a tua scelta, ma ricorda che l'estensione deve essere "tf".
$ vi config.tf
Aggiungi i seguenti termini provider AWS, la chiave di accesso, la chiave segreta e la regione in cui avvierai l'istanza ec2. Qui userò la mia regione preferita di Singapore.
Nel secondo blocco del codice, definisci la risorsa come "aws_instance", ami (ho scelto ami da Centos AMI
provider "aws" { access_key = "YOUR-ACCESS-kEY" secret_key = "YOUR-SECRET-KEY" region = "ap-southeast-1" } resource "aws_instance" "instance1" { ami = "ami-05930ce55ebfd2930" instance_type = "t2.micro" tags = { Name = "Centos-8-Stream" } }
Salva e chiudi il file.
Ora inizializza la tua configurazione eseguendo il comando sotto terraform
$ terraform init
Una volta che Terraform è stato inizializzato, guarda cosa accadrà eseguendo il comando,
$ terraform plan
Se tutto va bene, dovresti vedere il seguente output.
Ora esegui il tuo codice terraform,
$ terraform apply
Digita "sì" e premi invio per la conferma.
Al successo dell'esecuzione dovresti essere in grado di vedere l'output come di seguito:
Accedi al tuo account AWS e vai al servizio ec2 dovresti trovare un'istanza ec2 con il tag che hai definito sopra.
È semplice e facile eseguire il provisioning dell'infrastruttura nel cloud utilizzando la terraform. Spero che l'articolo ti piaccia. Se hai riscontrato difficoltà, ti preghiamo di commentarci.