GNU/Linux >> Tutoriales Linux >  >> Linux

Cree una instancia EC2 en AWS usando Terraform

En este artículo, veremos cómo crear una instancia EC2 usando Terraform. Antes de continuar, supongo que está familiarizado con los conceptos básicos de Terraform y la instancia EC2 de AWS. Si desea aprender a crear una instancia EC2 desde la consola de AWS, haga clic aquí.

Requisitos previos

  1. Comprensión básica de Terraform.
  2. Terraform instalado en su sistema.
  3. Cuenta de AWS (cree si no tiene una).
  4. 'access_key' &'secret_key' de un usuario de AWS IAM. (Haga clic aquí para aprender a crear un usuario de IAM con 'access_key' y 'secret_key' en AWS)

 Qué haremos

  1. Escriba archivos de configuración de Terraform para crear una instancia EC2.
  2. Cree un EC2 usando los archivos de configuración de Terraform.
  3. Elimine la instancia EC2 creada usando Terraform.

Escribir archivos de configuración de Terraform para crear una instancia EC2

Cree un directorio dedicado donde pueda crear archivos de configuración de terraform.

Use el siguiente comando para crear un directorio y cambiar su directorio de trabajo actual a él.

mkdir terraform
cd terraform/

Estoy usando "vim" como editor para escribir en archivos, puede usar un editor de su elección y copiar y pegar las siguientes configuraciones para crear variables.tf, terraform.tfvars y main.tf

Cree 'main.tf' que es responsable de crear un EC2 en AWS. Este main.tf leerá valores de variables de variables.tf y 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}"
} 

Cambie el valor de "región" si desea crear la instancia en alguna otra región distinta a la que he especificado.

Cree 'variables.tf' que contiene la declaración y definición de las variables.

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"
}

Una vez que haya creado 'variables.tf', no olvide cambiar los valores asignados a la variable. Debe cambiar ami_key_pair_name, ami_id y subnet_id, ya que estos son específicos de mi entorno. Puede mantener el resto variable como está.

Cree 'terraform.tfvars' que contiene la definición de las variables access_key y secret_key definidas en el archivo anterior. Hemos guardado la declaración de estas 2 variables en el archivo 'terraform.tfvars'.

Las siguientes claves deben cambiarse con las claves de su usuario de IAM.

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

Ahora, debería tener 3 archivos, a saber, variables.tf, terraform.tfvars y  main.tf

Cree una instancia EC2 usando los archivos de configuración de Terraform

Antes de ejecutar los siguientes comandos, asegúrese de haber configurado access_key y secret_key válidos.

El primer comando que se utilizará es 'terraform init'. Este comando descarga e instala complementos para proveedores utilizados dentro de la configuración. En nuestro caso es AWS.

 terraform init

El segundo comando que se utilizará es 'plan de terraformación'. Este comando se utiliza para ver los cambios que se producirán en la infraestructura.

 terraform plan

El comando 'terraform apply' creará los recursos en AWS mencionados en el archivo main.tf. Se le pedirá que proporcione su entrada para crear los recursos.

terraform apply

Cuando ejecuta el comando anterior, puede ver que se ha agregado 1 nuevo recurso y 0 se ha destruido en la salida.

Puede ir a la consola de AWS EC2 para verificar si la instancia de EC2 está creada o no.

Elimine la instancia EC2 creada mediante Terraform

Si ya no necesita los recursos que creó usando la configuración mencionada en el archivo main.tf, puede usar el comando "terraform destroy" para eliminar todos esos recursos.

terraform destroy

Conclusión

En este artículo, vimos los pasos para crear una instancia EC2 en la región de nuestra elección. También vimos cómo se puede eliminar la instancia.


Linux
  1. Cree una nube privada virtual (VPC) en AWS con Terraform

  2. Cómo crear una instancia RDS en AWS usando Terraform

  3. Cómo crear un rol de IAM en AWS usando Terraform

  4. Aumento del espacio en disco de la instancia ubuntu de AWS EC2

  5. Configuración de SonarQube en AWS con EC2

Qué es Terraform y cómo instalarlo y usarlo en AWS EC2

Cree un depósito S3 en AWS con Terraform

Cómo crear una instancia Amazon AWS EC2 usando Python Boto3

Cómo crear una instancia RDS usando Python Boto3 en AWS

Cómo crear un depósito S3 usando Python Boto3 en AWS

Cómo crear una instancia Ubuntu EC2 en AWS