Ricerca nel sito web

Crea un'istanza EC2 su AWS utilizzando Terraform


Su questa pagina

  1. Prerequisiti
  2. Scrivi i file di configurazione Terraform per creare un'istanza EC2
  3. Crea un'istanza EC2 utilizzando i file di configurazione Terraform

In questo articolo vedremo come creare un'istanza EC2 utilizzando Terraform. Prima di procedere, presumo che tu abbia familiarità con le nozioni di base di Terraform e AWS EC2 Instance. Se vuoi imparare a creare un'istanza EC2 dalla console AWS, fai clic qui.

Prerequisiti

  1. Comprensione di base di Terraform.
  2. Terraform installato sul tuo sistema.
  3. Account AWS (crealo se non ne hai uno).
  4. access_key e secret_key di un utente AWS IAM. (Fai clic qui per imparare a creare un utente IAM con access_key e secret_key su AWS, )

Cosa faremo

  1. Scrivi file di configurazione Terraform per la creazione di un'istanza EC2.
  2. Crea un EC2 utilizzando i file di configurazione Terraform.
  3. Elimina l'istanza EC2 creata utilizzando Terraform.

Scrivi i file di configurazione Terraform per creare un'istanza EC2

Crea una directory dedicata in cui puoi creare file di configurazione terraform.

Utilizzare il seguente comando per creare una directory e modificare la directory di lavoro attuale in essa.

mkdir terraform
cd terraform/

Sto usando \vim\ come editor per scrivere nei file, puoi usare un editor a tua scelta e copiare e incollare le seguenti configurazioni per creare variable.tf, terraform.tfvars e  main.tf

Crea main.tf che è responsabile della creazione di un EC2 su AWS. Questo main.tf leggerà i valori delle variabili da variable.tf e terraform.tfvars.

vim main.tf
provider "aws" {
    access_key = "${var.access_key}"
    secret_key = "${var.secret_key}"
    region = "eu-west-3"
}

resource "aws_instance" "ec2_instance" {
    ami = "${var.ami_id}"
    count = "${var.number_of_instances}"
    subnet_id = "${var.subnet_id}"
    instance_type = "${var.instance_type}"
    key_name = "${var.ami_key_pair_name}"
} 

Modificare il valore di \region\ se si desidera creare l'istanza in una regione diversa da quella specificata.

Crea variable.tf che contiene la dichiarazione e la definizione delle variabili.

vim variables.tf
variable "access_key" {
        description = "Access key to AWS console"
}
variable "secret_key" {
        description = "Secret key to AWS console"
}


variable "instance_name" {
        description = "Name of the instance to be created"
        default = "test"
}

variable "instance_type" {
        default = "t2.micro"
}

variable "subnet_id" {
        description = "The VPC subnet the instance(s) will be created in"
        default = "subnet-a5a72ce8"
}

variable "ami_id" {
        description = "The AMI to use"
        default = "ami-096b8af6e7e8fb927"
}

variable "number_of_instances" {
        description = "number of instances to be created"
        default = 1
}


variable "ami_key_pair_name" {
        default = "tomcat"
}

Dopo aver creato variables.tf, non dimenticare di modificare i valori assegnati alla variabile. Devi cambiare ami_key_pair_name, ami_id e subnet_id poiché sono specifici del mio ambiente. Puoi mantenere la variabile rest così com'è.

Crea terraform.tfvars che contiene la definizione delle variabili access_key e secret_key definite nel file precedente. Abbiamo conservato la dichiarazione di queste 2 variabili nel file terraform.tfvars.

Le seguenti chiavi devono essere modificate con le chiavi dell'utente IAM.

vim terraform.tfvars
access_key = "AKIAQ6GAIA5XIHHM2GJM"
secret_key = "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"

Ora dovresti avere 3 file, vale a dire, variable.tf, terraform.tfvars e main.tf

Crea un'istanza EC2 utilizzando i file di configurazione Terraform

Prima di eseguire i seguenti comandi, assicurati di aver configurato access_key e secret_key validi.

Il primo comando da utilizzare è terraform init. Questo comando scarica e installa i plug-in per i provider utilizzati all'interno della configurazione. Nel nostro caso è AWS.

 terraform init

Il secondo comando da utilizzare è terraform plan. Questo comando viene utilizzato per vedere i cambiamenti che avverranno sull'infrastruttura.

 terraform plan

Il comando terraform apply creerà le risorse su AWS menzionate nel file main.tf. Ti verrà chiesto di fornire il tuo contributo per creare le risorse.

terraform apply

Quando esegui il comando precedente, puoi vedere che è stata aggiunta 1 nuova risorsa e 0 è stata distrutta nell'output.

Puoi accedere alla console AWS EC2 per verificare se l'istanza EC2 è stata creata o meno.

Elimina l'istanza EC2 creata utilizzando Terraform

Se non hai più bisogno delle risorse che hai creato utilizzando la configurazione menzionata nel file main.tf, puoi utilizzare il comando \terraform destroy\ per eliminare tutte quelle risorse.

terraform destroy

Conclusione

In questo articolo, abbiamo visto i passaggi per creare un'istanza EC2 nella regione di nostra scelta. Abbiamo anche visto come l'istanza può essere eliminata.