Infrastructure as Code (IaC): Passo a Passo para Iniciar no Linux/Ubuntu com um Computador de Estudante

Se você é estudante e deseja aprender Infrastructure as Code (IaC) usando um computador rodando Linux/Ubuntu, este guia passo a passo vai te ajudar a começar. Neste tutorial, vamos configurar e usar o Terraform para gerenciar infraestrutura na nuvem, uma das ferramentas mais populares de IaC. A ideia é começar de maneira prática, usando um ambiente leve, adequado para o seu computador.


Pré-requisitos:

  • Sistema Operacional: Linux/Ubuntu
  • Recursos do Computador: 4 GB de RAM, 2 núcleos de CPU, armazenamento livre (mínimo 10 GB para o ambiente)
  • Nível de Conhecimento: Básico em Linux e conceitos de nuvem
  • Ferramenta de IaC: Terraform

Passo 1: Instalar o Terraform no Ubuntu

1.1. Atualize os pacotes do sistema

Antes de qualquer instalação, é importante garantir que o sistema está atualizado.

sudo apt update && sudo apt upgrade -y

1.2. Instale o Terraform

O Terraform não está disponível por padrão no repositório do Ubuntu, então precisamos adicionar o repositório oficial da HashiCorp.

  1. Adicione o repositório HashiCorp:
sudo apt install -y gnupg software-properties-common curl
curl -fsSL https://apt.releases.hashicorp.com/gpg | sudo gpg --dearmor -o /usr/share/keyrings/hashicorp-archive-keyring.gpg
  1. Adicione o repositório do Terraform:
sudo apt-add-repository "deb [signed-by=/usr/share/keyrings/hashicorp-archive-keyring.gpg] https://apt.releases.hashicorp.com $(lsb_release -cs) main"
  1. Instale o Terraform:
sudo apt update && sudo apt install terraform
  1. Verifique a instalação:
terraform -v

Isso exibirá a versão instalada do Terraform, confirmando que a instalação foi bem-sucedida.

Termos de Pesquisa: “Instalar Terraform no Ubuntu”, “Como configurar Terraform no Linux”, “Tutoriais básicos de Terraform”


Passo 2: Configurar um Provedor de Nuvem (AWS)

Agora que o Terraform está instalado, vamos configurá-lo para usar a AWS como o provedor de nuvem. A AWS oferece um plano gratuito que é ideal para testes e aprendizado.

2.1. Criar uma Conta na AWS

  1. Se ainda não tiver uma conta, vá até aws.amazon.com/free e crie uma conta gratuita.
  2. Após a criação, faça login no AWS Management Console.

2.2. Criar um Usuário com Permissões de Administração

  1. Acesse o IAM (Identity and Access Management) no Console da AWS.
  2. Crie um novo usuário com permissões administrativas e acesso programático (Access Key e Secret Key).
  3. Salve essas chaves (Access Key e Secret Key), pois precisaremos delas na configuração.

Termos de Pesquisa: “Criar usuário IAM na AWS”, “AWS Free Tier”, “Configuração AWS para Terraform”


Passo 3: Configurar o Provedor AWS no Terraform

Agora, vamos configurar o Terraform para usar o provedor AWS. Para isso, criaremos um arquivo de configuração.

3.1. Criar um Diretório para o Projeto

Abra o terminal e crie uma pasta para o seu projeto:

mkdir ~/meu-projeto-terraform
cd ~/meu-projeto-terraform

3.2. Criar o Arquivo de Configuração do Terraform

Crie um arquivo chamado main.tf dentro da pasta do projeto:

nano main.tf

Cole o seguinte código no arquivo main.tf para configurar o provedor AWS:

provider "aws" {
  region     = "us-west-2"  # Substitua pela região da AWS que você prefere
  access_key = "SEU_ACCESS_KEY"
  secret_key = "SEU_SECRET_KEY"
}

Importante: Substitua SEU_ACCESS_KEY e SEU_SECRET_KEY pelos valores que você salvou ao criar o usuário IAM.

3.3. Inicializar o Terraform

Agora, inicialize o Terraform para baixar os plugins necessários:

terraform init

Esse comando prepara o Terraform para funcionar com o provedor AWS.


Passo 4: Escrever o Código para Criar Infraestrutura

Com a configuração básica feita, vamos escrever um código simples que cria uma instância EC2 na AWS.

4.1. Adicionar Código para Criar uma Instância EC2

No mesmo arquivo main.tf, adicione o seguinte código abaixo da configuração do provedor:

resource "aws_instance" "meu_servidor" {
  ami           = "ami-0c55b159cbfafe1f0"  # Amazon Linux 2 AMI
  instance_type = "t2.micro"

  tags = {
    Name = "ServidorEstudante"
  }
}

4.2. Explicação do Código

  • AMI: É o ID da imagem da instância que será criada (Amazon Linux 2 no caso).
  • instance_type: Define o tipo da instância, no caso t2.micro, que é coberta pelo nível gratuito da AWS.
  • tags: Um identificador para nomear o recurso criado, facilitando a visualização no Console da AWS.

4.3. Criar o Plano de Execução

Agora, vamos verificar o que o Terraform pretende fazer. Para isso, execute:

terraform plan

Esse comando vai mostrar o que será criado, mas sem modificar nada ainda.

4.4. Aplicar o Código

Depois de revisar o plano, aplique as mudanças para que o Terraform crie a infraestrutura:

terraform apply

O Terraform vai pedir confirmação. Digite yes para continuar.

Após alguns minutos, sua instância EC2 estará pronta e rodando na AWS!


Passo 5: Gerenciar e Limpar a Infraestrutura

Quando você terminar de usar os recursos, é importante destruí-los para evitar cobranças. Para remover a infraestrutura criada, execute o comando:

terraform destroy

Isso vai desprovisionar a instância EC2 e quaisquer outros recursos criados pelo Terraform.


Passo 6: Automação e Boas Práticas

Agora que você criou sua primeira infraestrutura com o Terraform, considere adotar algumas boas práticas:

  1. Uso de Variáveis: Em vez de inserir diretamente chaves de acesso no código, use variáveis de ambiente ou arquivos .tfvars. Exemplo de variáveis em main.tf:
   variable "aws_access_key" {}
   variable "aws_secret_key" {}

   provider "aws" {
     region     = "us-west-2"
     access_key = var.aws_access_key
     secret_key = var.aws_secret_key
   }

Crie um arquivo terraform.tfvars:

   aws_access_key = "SEU_ACCESS_KEY"
   aws_secret_key = "SEU_SECRET_KEY"
  1. Controle de Versão: Armazene seu código em um repositório Git para controle de versão e colaboração.

Termos de Pesquisa: “Terraform best practices”, “Como usar variáveis no Terraform”, “Versionamento de código IaC”


Conclusão

Seguindo este guia, você configurou uma ferramenta de IaC no Ubuntu e provisionou uma instância EC2 na AWS. Isso é apenas o começo. O próximo passo é explorar mais funcionalidades, como redes, balanceadores de carga e bancos de dados, usando Terraform. Continue praticando e explorando as boas práticas de IaC para otimizar seus projetos.


Dicas de Termos de Busca (para continuar aprendendo):

  • “Tutoriais avançados de Terraform”
  • “Como configurar redes com Terraform”
  • “AWS Free Tier para estudantes”
  • “Terraform automation best practices”

Termos no YouTube:

  • “Terraform setup on Ubuntu”
  • “AWS EC2 instance with Terraform tutorial”
  • “How to use Terraform variables in production”
Edvaldo Guimrães Filho Avatar

Published by

Categories:

Leave a comment