GNU/Linux >> Linux Esercitazione >  >> Linux

Crea un'istanza EC2 su AWS utilizzando Terraform

In questo articolo vedremo come creare un'istanza EC2 utilizzando Terraform. Prima di procedere, presumo che tu abbia familiarità con le basi di Terraform e dell'istanza AWS EC2. 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 (crea se non ne hai uno).
  4. 'access_key' &'secret_key' di un utente AWS IAM. (Fai clic qui per imparare a creare un utente IAM con 'access_key' &'secret_key' su AWS, )

 Cosa faremo

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

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

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

Utilizzare il comando seguente 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 variabili.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 variabili.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}"
} 

Modifica il valore di "regione" se desideri creare l'istanza in un'altra regione rispetto a quella che ho specificato.

Crea 'variables.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 resto così com'è.

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

Le seguenti chiavi devono essere modificate con le chiavi del tuo utente IAM.

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

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

Crea un'istanza EC2 usando 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 nella configurazione. Nel nostro caso è AWS.

 terraform init

Il secondo comando da utilizzare è 'terraform plan'. Questo comando viene utilizzato per vedere le modifiche 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 input per creare le risorse.

terraform apply

Quando esegui il comando precedente, puoi vedere che 1 nuova risorsa è stata aggiunta 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 eliminare l'istanza.


Linux
  1. Crea un Virtual Private Cloud (VPC) 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. Aumento dello spazio su disco dell'istanza Ubuntu di AWS EC2

  5. Configurazione di SonarQube su AWS utilizzando EC2

Che cos'è Terraform e come installarlo e utilizzarlo su AWS EC2

Crea un bucket S3 su AWS utilizzando Terraform

Come creare un'istanza Amazon AWS EC2 utilizzando Python Boto3

Come creare un'istanza RDS utilizzando Python Boto3 su AWS

Come creare un bucket S3 utilizzando Python Boto3 su AWS

Come creare un'istanza EC2 Ubuntu su AWS