En aquest tema, aprendrem com utilitzar Terraform per proveir recursos a Microsoft Azure. Explorarem els conceptes bàsics, la configuració necessària i veurem exemples pràctics per crear i gestionar recursos a Azure.

Objectius del Tema

  • Comprendre els conceptes bàsics del proveïment de recursos a Azure amb Terraform.
  • Configurar l'autenticació i les credencials necessàries per interactuar amb Azure.
  • Crear i gestionar recursos bàsics com màquines virtuals, xarxes i grups de recursos.
  • Aprendre a utilitzar les variables i sortides per fer la configuració més dinàmica i reutilitzable.

Requisits Previs

  • Coneixements bàsics de Terraform (Mòduls 1 i 2).
  • Un compte de Microsoft Azure.
  • Instal·lació de l'Azure CLI.

  1. Configuració Inicial

1.1 Instal·lació de l'Azure CLI

Per interactuar amb Azure, necessitem tenir instal·lada l'Azure CLI. Pots seguir les instruccions oficials per a la instal·lació a aquesta pàgina.

1.2 Autenticació a Azure

Un cop instal·lada l'Azure CLI, hem d'autenticar-nos al nostre compte d'Azure. Executa la següent comanda:

az login

Això obrirà una finestra del navegador on podràs introduir les teves credencials d'Azure.

1.3 Configuració del Proveïdor d'Azure a Terraform

Per utilitzar Azure amb Terraform, hem de configurar el proveïdor d'Azure. Crea un fitxer main.tf amb el següent contingut:

provider "azurerm" {
  features {}
}

Aquest bloc de codi configura el proveïdor d'Azure amb les característiques per defecte.

  1. Creació d'un Grup de Recursos

Un grup de recursos és un contenidor que manté els recursos relacionats per a una solució d'Azure. Crearem un grup de recursos com a primer pas.

2.1 Definició del Grup de Recursos

Afegim el següent bloc de codi al nostre fitxer main.tf:

resource "azurerm_resource_group" "example" {
  name     = "example-resources"
  location = "West Europe"
}

2.2 Aplicació de la Configuració

Per aplicar aquesta configuració, executem les següents comandes:

terraform init
terraform apply

Terraform ens demanarà confirmació abans de crear el grup de recursos. Escriu yes per continuar.

  1. Creació d'una Xarxa Virtual

Una xarxa virtual és essencial per a la comunicació entre recursos a Azure. Crearem una xarxa virtual dins del nostre grup de recursos.

3.1 Definició de la Xarxa Virtual

Afegim el següent bloc de codi al nostre fitxer main.tf:

resource "azurerm_virtual_network" "example" {
  name                = "example-network"
  address_space       = ["10.0.0.0/16"]
  location            = azurerm_resource_group.example.location
  resource_group_name = azurerm_resource_group.example.name
}

3.2 Aplicació de la Configuració

Executem les següents comandes per aplicar la configuració:

terraform apply

  1. Creació d'una Màquina Virtual

Finalment, crearem una màquina virtual dins de la nostra xarxa virtual.

4.1 Definició de la Màquina Virtual

Afegim el següent bloc de codi al nostre fitxer main.tf:

resource "azurerm_network_interface" "example" {
  name                = "example-nic"
  location            = azurerm_resource_group.example.location
  resource_group_name = azurerm_resource_group.example.name

  ip_configuration {
    name                          = "internal"
    subnet_id                     = azurerm_virtual_network.example.subnet[0].id
    private_ip_address_allocation = "Dynamic"
  }
}

resource "azurerm_virtual_machine" "example" {
  name                  = "example-vm"
  location              = azurerm_resource_group.example.location
  resource_group_name   = azurerm_resource_group.example.name
  network_interface_ids = [azurerm_network_interface.example.id]
  vm_size               = "Standard_DS1_v2"

  storage_os_disk {
    name              = "example-os-disk"
    caching           = "ReadWrite"
    create_option     = "FromImage"
    managed_disk_type = "Standard_LRS"
  }

  storage_image_reference {
    publisher = "Canonical"
    offer     = "UbuntuServer"
    sku       = "18.04-LTS"
    version   = "latest"
  }

  os_profile {
    computer_name  = "example-vm"
    admin_username = "adminuser"
    admin_password = "Password1234!"
  }

  os_profile_linux_config {
    disable_password_authentication = false
  }
}

4.2 Aplicació de la Configuració

Executem les següents comandes per aplicar la configuració:

terraform apply

  1. Resum

En aquest tema, hem après a:

  • Configurar l'Azure CLI i autenticar-nos a Azure.
  • Configurar el proveïdor d'Azure a Terraform.
  • Crear un grup de recursos, una xarxa virtual i una màquina virtual a Azure utilitzant Terraform.

Aquestes habilitats són fonamentals per gestionar la infraestructura a Azure de manera eficient i automatitzada. En el proper tema, explorarem com proveir recursos a Google Cloud Platform (GCP) amb Terraform.

© Copyright 2024. Tots els drets reservats