GNU/Linux >> Linux Esercitazione >  >> Linux

Come avviare un'istanza AWS EC2 utilizzando Terraform

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 ). Assegna un tipo di istanza e anche un tag a tua scelta.

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.


Linux
  1. Crea un'istanza EC2 su AWS utilizzando Terraform

  2. Come creare un'istanza RDS su AWS utilizzando Terraform

  3. Come creare un ruolo IAM in AWS utilizzando Terraform

  4. Come installare jq sull'istanza amazon EC2

  5. Come posso eliminare il malware di mining su un'istanza AWS EC2?

Come creare un'istanza RDS utilizzando Python Boto3 su AWS

Come gestire lo stato di terraform in un bucket AWS S3

Come creare un'istanza EC2 Ubuntu su AWS

Come avviare un'istanza OpenStack utilizzando Horizon Dashboard

Come avviare RHEL 8 da Amazon EC2 in AWS Cloud

Come installare Rocky Linux 8 sull'istanza Amazon AWS Ec2