Iniciando com Terraform

V1.0 – Novembro 2024

Versão Autor Descrição
V1.0 – 2024-11-21 Diogo Hatz d50037923 Versão Inicial
V1.0 – 2024-11-21 Wisley da Silva Paulo 00830850 Revisão do Documento
V1.0 – 2024-11-21 Gustavo Scovini 00918380 Revisão do Documento

Objetivo

Este documento objetiva apresentar os procedimentos necessários para a efetivação da configuração do provedor Huawei Cloud na ferramenta de infraestrutura como código Terraform para implementações Huawei Cloud Stack Online (HCSO).

IAM

Para delegar permissões para a criação de recursos através da ferramenta Terraform, faz-se necessária a criação de uma chave de acesso AK/SK no console da Huawei Cloud, chave a qual será utilizada para autenticação com a conta da Huawei Cloud.

Para isso, acesse o console da Huawei Cloud, passe o mouse sobre o nome da conta no canto superior direito e clique em “My Credentials”. Feito isso, clique em “Access Keys” e em “Create Access Key”.

Caso uma janela de aviso seja exibida, aceite a criação da credencial e clique em “Create”, seguido por “Download” para realizar o download do par de chaves AK/SK.

Nota: As permissões da chave AK/SK criada serão herdadas do usuário que a criou. Caso algum problema oriundo de permissão seja encontrado, tome como referência a seguinte documentação de permissões do IAM para delegar as permissões necessárias: https://support.huaweicloud.com/intl/en-us/productdesc-iam/iam_01_0036.html.

Terraform

Primeiramente, baixe e instale a ferramenta Terraform, disponível no seguinte hyperlink:https://developer.hashicorp.com/terraform/install?product_intent=terraform.

Após a realização da instalação da ferramenta, crie um arquivo .tf no diretório desejado em que o código relativo à infraestrutura será armazenado. Feito isso, edite o arquivo e insira ambos trechos de código abaixo relativos ao provedor do registry Terraform, substituindo os parâmetros em destaque:

terraform {
  required_providers {
    huaweicloud = {
      source  = "huaweicloud/huaweicloud"
      version = ">= 1.36.0"
    }
  }
}

provider "huaweicloud" {
  region     = "{região}"
  access_key = "{AK}"
  secret_key = "{SK}"
  cloud = "{dominio}"
  auth_url="https://iam-pub.{região}.{dominio}"
  insecure = true
}
  • região: região do HCSO em que os recursos serão criados;

  • AK: access Key criada no item 2.0 deste documento;

  • SK: secret Key criada no item 2.0 deste documento;

  • domínio: domínio do console HCSO;

  • insecure: parâmetro opcional, somente necessário em caso de erros decorrentes de certificados do HCSO.

Após ter configurado os campos de terraform e provedor, crie algum recurso para realizar a validação do funcionamento da ferramenta. Abaixo segue um trecho de código de exemplo para criar uma VPC:

resource "huaweicloud_vpc" "vpc-hcso" {
  name = "vpc-hcso"
  cidr = "10.0.0.0/8"
}

Nota: Segue o registry oficial do provedor Terraform da Huawei Cloud, compatível tanto com a nuvem pública Huawei Cloud quanto com implementações HCSO: https://registry.terraform.io/providers/huaweicloud/huaweicloud/latest/docs. Alternativamente, também existe o seguinte registry que pode ser utilizado exclusivamente para implementações HCSO: https://registry.terraform.io/providers/huaweicloud/hcso/latest/docs.

Exemplo

A seguir segue um exemplo de validação da configuração realizada na ferramenta Terraform, assim como o resultado no console HCSO:

Utilizando o comando terraform init para inicializar o repositório Terraform:

Utilizando o comando terraform plan para realizar a verificação do código desenvolvido pelo Terraform:

Utilizando o comando terraform apply para aplicar as modificações realizadas, no caso a criação do recurso VPC:

Resultado da criação da VPC no console HCSO:

Referências