Nesta postagem, falaremos como criar um VM dentro do Compute Engine do GCP.
O que é Nifi?
O Apache NiFi é um projeto de software mantido pela Apache Software Foundation projetado para automatizar a integração de dados entre sistemas de software, suportando lógica de roteamento, transformação e mediação de dados.
Foi baseado no software "NiagaraFiles", desenvolvido pela NSA (National Security Agency), que também é a fonte de uma parte de seu nome atual - NiFi .
O que é Compute Engine?
O Google Compute Engine permite a criação de uma infraestrutura dentro do Google Cloud no formato de máquinas virtuais sob demanda, é considerado como IAS (Infraestrutura como serviço).
Passo a Passo
1. O primeiro passo a fazer é o login em sua conta do GCP, para este tutorial você vai precisar de uma conta que possua um projeto.
2. Vá até menu, selecione Compute Engine>Instâncias de VM.
3.Clique em Criar:
4.Especifique um nome para sua VM:
5. Permita o tráfego HTTP e HTTPS:
6. Na opção Disco de inicialização é possível selecionar o sistema operacional da VM, clique em alterar:
7. Selecione Ubuntu e clique em Selecionar:
8. Clique em Criar:
Observação: Ao clicar em linha de comando ao fim da página aparecerá o comando de criação via Cloud Shell:
gcloud beta compute --project=$PROJECT_ID instances create minha-vm-linux \
--zone=us-central1-a \
--machine-type=n1-standard-1 \
--subnet=default \
--image=ubuntu-1604-xenial-v20200923 \
--image-project=ubuntu-os-cloud \
--boot-disk-size=10GB \
--boot-disk-type=pd-standard \
--boot-disk-device-name=minha-vm-linux
9.Aguarde a criação da VM:
10. Após a criação será possível se conectar na VM, clique em SSH:
11. Será necessário instalar o java 8, execute o comando abaixo no terminal da VM:
sudo apt-get update
sudo apt-get install openjdk-8-jdk
12. Baixe os binários do Nifi:
sudo mkdir /apache-nifi -p
cd /apache-nifi
sudo wget http://ftp.unicamp.br/pub/apache/nifi/1.12.1/nifi-1.12.1-bin.tar.gz
Observação: Caso o comando wget apresente falha por não encontrar o arquivo, verifique o link atualizado no site do Nifi.
13. Descompacte o pacote e movimente a pasta para o diretório /opt/
sudo tar -zxvf nifi-1.12.1-bin.tar.gz
sudo mv nifi-1.12.1 /opt/
cd /opt/nifi-1.12.1
bin/nifi.sh install
14. Instale o nifi:
sudo bin/nifi.sh install
15. Verifique onde está instalado o java:
java -XshowSettings:properties -version 2>&1 > /dev/null | grep 'java.home'
16. Altere o arquivo nifi-env.sh para adicionar o valor do comando anterior no campo java_home, use o comando abaixo para editar o arquivo:
sudo nano /opt/nifi-1.12.1/bin/nifi-env.sh
Altere o trecho:
Adicione o caminho do java_home:
17. Inicie o serviço do nifi:
sudo /etc/init.d/nifi start
O comando terá um retorno semelhante a este:
http://<SEU_IP_EXTERNO>:8080/nifi/
19. Caso não tenha entrado, será preciso criar uma regra de firewall para a porta 8080. Vá até menu, selecione Rede VPC>Firewall.
20.Clique em Criar Firewall:
18.Preencha as informações conforme abaixo e clique em criar:
Observação: As propriedades desta tela significam:
- Nome: Nome da regra de firewall, considere apenas letras minúsculas e nenhum espaço.
- Descrição: É opcional mas importante colocar algo significativo para informação.
- Rede: São as redes VPC já criadas, selecione a rede onde deseja aplicar as regras de firewall.
- Prioridade: É a prioridade da regra aplicada à rede. Quanto menor o valor a prioridade será mais alta, o padrão é 1000.
- Direção do tráfego: Define se o trafego será de entrada saída.
- Ação se houver correspondência: Define se o trafego será permitido ou negado.
- Destinos: Será onde será aplicada a regra, é possível aplicar as regras em todas as instâncias da rede, permitir apenas em tags ou contas de serviço específicas.
- Filtro de origem: Uma fonte que será validada para permitir ou negar. Você pode filtrar por intervalos de IP, sub-redes, tags de origem e contas de serviço.
- Intervalos de IP de origem: Especifica os intervalos de IP em que será aplicado a regra.
- Segundo filtro de origem: Permite colocar outro filtro para aplicação de regra.
- Protocolo e portas: Permite especificar as portas/protocolos que serão trabalhados nessa regra, é possível ter várias portas em uma única regra.
21. Tente acessar o link novamente, deverá aparecer a interface do nifi:
Referências
- Compute Engine
https://cloud.google.com/compute
- Apache Nifi