O objetivo deste projeto é realizar a extração de dados climáticos do site Visual Crossing e disponibilizá-los no POWER BI, com o propósito de aprendizado. Para a implementação, foi escolhido utilizar a nuvem da AWS, mais especificamente o serviço EC2, e também empreguei as ferramentas Terraform e Ansible para facilitar o gerenciamento e a automação do ambiente.
Para começar, é necessário gerar uma API key no Visual Crossing. Aqui estão as instruções de como fazer isso.
Crie uma pasta key:
mkdir AWS/key/
Crie a chave SSH:
ssh-keygen -t rsa -f /AWS/key/xadia_acess
AVISO: Caso mude o caminho ou o nome da chave SSH, lembre-se de alterar nos seguintes arquivos:
- /AWS/ansible.cfg >> variável private_key_file
- /Terraform/terraform.tfvars >> variável chave
Para configurar o acesso à AWS CLI, siga este Passo a Passo da configuração da AWS CLI.
Instale o Terraform. A versão utilizada é a 1.5.4.
Entre na pasta cd AWS/Terraform
Crie o arquivo:
touch terraform.tfvars
Adicione as seguintes variáveis de configuração da zona, máquina e chave SSH:
# Variáveis para o Terraform
instancia= "sua_maquina_escolhida"
regiao_aws = "sua_zona_escolhida"
chave = "/AWS/key/xadia_acess"
ami = "sua_ami_escolhida
Execute o comando:
terraform init
Nota: Certifique-se de estar na pasta Terraform antes de executar o comando
terraform init
.
terraform apply -auto-approve
Nota: Serão criados 4 serviços na AWS EC2.
Instale o Ansible. A versão utilizada é a core 2.15.2.
Na pasta Ansible, acesse o arquivo config.ini e coloque o IP da máquina que é disponibilizado após a execução do Terraform.
Acesse a pasta Ansible no terminal:
cd /AWS/Ansible
Execute na pasta Ansible o comando:
ansible-vault create vault.yml
Dentro do arquivo vault.yml, insira as seguintes variáveis:
api_key: "sua_chave_api_do_Visual_Crossing"
Nota: A variável
api_key
é a chave disponibilizada pelo site Visual Crossing.
Caso haja dúvidas de como usar o Ansible Vault, acesse este link.
Dentro da pasta ansible, execute:
ansible-playbook playbook.yml --ask-vault-pass
Serão feitas 16 alterações dentro da máquina na AWS.
Acesse a máquina e configure o crontab