Utilizando o Terraform com o OCI (Oracle Cloud Infrastructure) - Parte 1

Por Alex Zaballa Oracle ACE director
Publicado em Setembro 2018

Revisado por Mario Andrés Escobar




Neste artigo irei demostrar como utilizar o Terraform com a Cloud da Oracle (OCI).

O que é o Terraform?

O Terraform é uma ferramenta para construir, alterar e controlar a infraestrutura de forma segura e eficiente. Ela foi criada pela HashiCorp e faz parte do que chamamos de Infrastructure as Code.



Primeiramente é necessário realizar o download e instalação do Terraform.

O Download pode ser realizado no site abaixo:

https://www.terraform.io/downloads.html



Após o download, basta descompactar o arquivo conforme imagens abaixo:

Comandos:

  1. $ unzip terraform_0.11.7_darwin_amd64.zip
  2. $ mkdir /Users/alexzaballa/terraform -p
  3. $ mv terraform /Users/alexzaballa/terraform

 

Verificando a versão do Terraform:

 

Após o download do Terraform, é necessário realizar o download do terraform-provider-oci.

O Download pode ser realizado no site abaixo:

https://github.com/oracle/terraform-provider-oci

Após o download do terraform-provider-oci, basta descompactar o arquivo conforme imagens abaixo:

Comandos:

  1. $ gunzip darwin_amd64.tar.gz
  2. $ tar -xvf darwin_amd64.tar
  3. $ mkdir -p ~/.terraform.d/plugins
  4. $ cp -r darwin_amd64 ~/.terraform.d/plugins/.

 

Agora será necessário gerar as chaves conforme a documentação abaixo:

https://docs.cloud.oracle.com/iaas/Content/API/Concepts/apisigningkey.htm

Comandos:

  1. $   mkdir ~/.oci
  2. $   openssl genrsa -out ~/.oci/oci_api_key.pem 2048
  3. $   chmod go-rwx ~/.oci/oci_api_key.pem
  4. $   openssl rsa -pubout -in ~/.oci/oci_api_key.pem -out ~/.oci/oci_api_key_public.pem


Para este artigo, irei setar as variáveis de ambiente utilizadas pelo Terraform no arquivo .bash_profile:

  • TF_VAR_tenancy_ocid
  • TF_VAR_user_ocid
  • TF_VAR_compartment_ocid
  • TF_VAR_fingerprint
  • TF_VAR_private_key_path
  • TF_VAR_region

 

O Tenancy OCID pode ser encontrado no final de cada página do OCI:

 

O User OCID pode ser encontrado em Identity, Users:

 

O Compartment OCID pode ser encontrado em Identity, Compartments:

 

A chave publica foi gerada anteriormente no seguinte diretório:

 

O conteúdo da chave pública deve ser copiado para as API Keys, que ficam em Identity, Users:

 

 

Com isso será gerado o Fingerprint:

 

 

O arquivo .bash_profile ficará da seguinte forma:

 

 



Neste artigo iremos criar e depois remover uma VCN (Virtual Cloud Network).

O download do arquivo de exemplo vcn.tf pode ser feito na url abaixo:

https://github.com/oracle/terraform-provider-oci/blob/master/docs/examples/networking/vcn/vcn.tf

 

 

O comando terraform init irá carregar as variáveis de ambiente do terraform:

 

O comando terraform plan irá nos mostrar o que será criado:

 

Utilizando o comando terraform apply iremos criar a VNC:

 

Utilizando o comando terraform destroy iremos remover a VNC criada anteriormente:

 

 

Referências:

https://github.com/oracle/terraform-provider-oci

 


Alex Zaballa, formado em Análise de Sistemas, é especialista em Banco de Dados Oracle com sólidos conhecimentos em Servidores de Aplicação e Sistemas Operacionais; trabalha com Oracle há 18 anos, é Oracle ACE Director, certificado OCM Database 12c/MAA/11G/Cloud e conta com mais de 275 outras certificações em produtos da Oracle. Alex também é membro do Groupo de Usuários Oracle do Brasil (GUOB), fundador do Grupo de Usuários Oracle de Angola (GUOA) e membro do time OraWorld.

Este artigo foi revisto pela equipe de produtos Oracle e está em conformidade com as normas e práticas para o uso de produtos Oracle