Terraform & VirtualBox

Michelle Mesquita
3 min readMay 17, 2022

--

Hoje, trouxe um assunto que já falamos sobre o Ansible, mas que também é muito falado pelo Terraform quando o assunto é IaC. Infraestrutura como serviço 😊

E para o que isso serve?

Permite gerenciar infraestrutura com configuração nos arquivos do que usar a interface gráfica. Como também, diminui o tempo. Permite automatizar.

É possível escrever códigos muito simples, comunicando-se via API com diferentes tipos de provedores de nuvem: AWS, Google Cloud, Azure ou IBM Cloud, por exemplo.

Assim, trouxe um exemplo prático para quem quer começar nesse mundo.

Não trouxe no ambiente em nuvem, porque já existem muitos documentos e artigos na Internet. Dessa maneira, trouxe uma abordagem utilizando o Virtual Box, apenas para exemplificar, visto que a ideia é automatizar qualquer infraestrutura. No entanto, o grande benefício é quando o utilizamos com o ambiente em ☁️ (nuvem)

Para o nosso exemplo, podemos seguir a seguinte documentação:

Primeiramente, não se esqueça de instalar o Terraform na sua máquina local.

No meu caso, eu utilizei o Mac Os. Portanto, torna-se mais fácil utilizar o brew gerenciador de pacote que você pode instalar utilizando esse link: https://brew.sh/index_pt-br

brew install terraform

Agora, com o Terraform instalado, podemos seguir para o nosso exemplo que também está disponível no meu GitHub:

Então, podemos criar uma pasta onde criaremos um arquivo main.tf

Nesse arquivo, colocaremos o nosso provider, que no caso é “terra-farm/virtualbox”

Enquanto na parte de recursos, podemos colocar a quantidade de máquinas virtuais que queremos levantar, da onde estamos retirando essa imagem, memória que será utilizada também. Então, podemos configurar da maneira que acharmos melhor, conforme a documentação anterior.

network_adapter { 
type = “hostonly”
host_interface = “vboxnet0”
}

Uma parte importante é dizer o tipo de conexão que deseja-se realizar. No MacOs, só foi possível realizar o teste utilizando "hostonly" e dizendo a interface escolhida.

Após criado o arquivo, devemos utilizar alguns comandos do Terraform para criarmos essa máquina virtual:

terraform initterraform planterraform apply -auto-approve

Aqui podemos ver funcionando 😊

Uma dica, para utilizar o host-only no virtual box:

➡️ Clicar em Host Network Manager

➡️ Criar uma nova rede! Esse nome será usado ali em "host-interface"

Não esqueça de habilitar o servidor DHCP. Ele funciona como um servidor, onde apenas a máquina local (sua máquina pessoal) conseguirá acessar essa máquina virtual.

Caso queira destruir a máquina, também é muito simples:

terraform destroy -auto-approve

Espero que tenham gostado 💜

--

--

Michelle Mesquita
Michelle Mesquita

Written by Michelle Mesquita

DevSecOps & AppSec Engineer & Developer girl 👩‍💻

No responses yet