En aquesta secció, aprendrem a crear la nostra primera configuració de Terraform. Aquest procés inclou la creació d'un fitxer de configuració, la inicialització del directori de treball, la planificació de la infraestructura i l'aplicació dels canvis.

Objectius

  • Crear un fitxer de configuració de Terraform.
  • Inicialitzar el directori de treball de Terraform.
  • Executar el pla de Terraform.
  • Aplicar la configuració per crear recursos.

Requisits previs

  • Terraform instal·lat al vostre sistema (vegeu el mòdul 1.2).
  • Un compte en un proveïdor de núvol (AWS, Azure, GCP, etc.).

Passos per a la primera configuració

  1. Crear un fitxer de configuració de Terraform

Comencem creant un fitxer de configuració de Terraform. Aquest fitxer utilitza la sintaxi HCL (HashiCorp Configuration Language) per definir la infraestructura.

Exemple de fitxer de configuració (main.tf)

provider "aws" {
  region = "us-west-2"
}

resource "aws_instance" "example" {
  ami           = "ami-0c55b159cbfafe1f0"
  instance_type = "t2.micro"

  tags = {
    Name = "ExampleInstance"
  }
}

Explicació del codi:

  • provider "aws": Defineix el proveïdor que utilitzarem (AWS en aquest cas) i la regió.
  • resource "aws_instance" "example": Defineix un recurs d'instància EC2 a AWS.
    • ami: Identificador de la imatge d'Amazon Machine (AMI) que utilitzarem.
    • instance_type: Tipus d'instància (t2.micro en aquest cas).
    • tags: Etiquetes per identificar l'instància.

  1. Inicialitzar el directori de treball de Terraform

Abans de poder utilitzar Terraform, hem d'inicialitzar el directori de treball. Això descarregarà els connectors necessaris per al proveïdor especificat.

Comanda per inicialitzar Terraform

terraform init

Sortida esperada:

Initializing the backend...

Initializing provider plugins...
- Finding latest version of hashicorp/aws...
- Installing hashicorp/aws v3.27.0...
- Installed hashicorp/aws v3.27.0 (signed by HashiCorp)

Terraform has been successfully initialized!

  1. Executar el pla de Terraform

El següent pas és crear un pla d'execució. Això ens permet veure quins canvis es faran a la infraestructura abans d'aplicar-los.

Comanda per crear un pla

terraform plan

Sortida esperada:

An execution plan has been generated and is shown below.
Resource actions are indicated with the following symbols:
  + create

Terraform will perform the following actions:

  # aws_instance.example will be created
  + resource "aws_instance" "example" {
      + ami           = "ami-0c55b159cbfafe1f0"
      + instance_type = "t2.micro"
      + tags          = {
          + "Name" = "ExampleInstance"
        }
    }

Plan: 1 to add, 0 to change, 0 to destroy.

  1. Aplicar la configuració

Finalment, aplicarem la configuració per crear els recursos definits.

Comanda per aplicar la configuració

terraform apply

Sortida esperada:

An execution plan has been generated and is shown below.
Resource actions are indicated with the following symbols:
  + create

Terraform will perform the following actions:

  # aws_instance.example will be created
  + resource "aws_instance" "example" {
      + ami           = "ami-0c55b159cbfafe1f0"
      + instance_type = "t2.micro"
      + tags          = {
          + "Name" = "ExampleInstance"
        }
    }

Plan: 1 to add, 0 to change, 0 to destroy.
Do you want to perform these actions?
  Terraform will perform the actions described above.
  Only 'yes' will be accepted to approve.

  Enter a value: yes

aws_instance.example: Creating...
aws_instance.example: Still creating... [10s elapsed]
aws_instance.example: Creation complete after 20s [id=i-0abcd1234efgh5678]

Apply complete! Resources: 1 added, 0 changed, 0 destroyed.

Exercici pràctic

Objectiu

Crear una instància EC2 a AWS utilitzant Terraform.

Passos

  1. Crear un fitxer main.tf amb la configuració següent:
    provider "aws" {
      region = "us-west-2"
    }
    
    resource "aws_instance" "example" {
      ami           = "ami-0c55b159cbfafe1f0"
      instance_type = "t2.micro"
    
      tags = {
        Name = "ExampleInstance"
      }
    }
    
  2. Inicialitzar el directori de treball amb terraform init.
  3. Crear un pla d'execució amb terraform plan.
  4. Aplicar la configuració amb terraform apply.

Solució

Seguiu els passos descrits anteriorment per completar l'exercici.

Resum

En aquesta secció, hem après a crear la nostra primera configuració de Terraform. Hem creat un fitxer de configuració, inicialitzat el directori de treball, creat un pla d'execució i aplicat la configuració per crear una instància EC2 a AWS. Aquest és el primer pas per gestionar la infraestructura com a codi amb Terraform. En les següents seccions, aprofundirem en altres aspectes i funcionalitats de Terraform.

© Copyright 2024. Tots els drets reservats