Aws – Arruda – Data Consulting https://modelo6.augustomello.com.br Mon, 02 May 2022 11:09:13 +0000 pt-BR hourly 1 https://wordpress.org/?v=6.8.3 https://modelo6.augustomello.com.br/wp-content/uploads/2025/08/cropped-Logo-Arruda-Consulting-2025-Picto-1b-32x32.png Aws – Arruda – Data Consulting https://modelo6.augustomello.com.br 32 32 Como Iniciar e Desligar Instâncias no serviço AWS EC2 automaticamente e fazer o Pentaho Server Iniciar como um Serviço. https://modelo6.augustomello.com.br/como-iniciar-e-desligar-instancias-no-servico-aws-ec2-automaticamente-e-fazer-o-pentaho-server-iniciar-como-um-servico/ https://modelo6.augustomello.com.br/como-iniciar-e-desligar-instancias-no-servico-aws-ec2-automaticamente-e-fazer-o-pentaho-server-iniciar-como-um-servico/#comments Mon, 02 May 2022 11:09:13 +0000 https://arrudaconsulting.com.br/?p=4845 Olá Tudo bem? No artigo de hoje irei te mostrar como programar a inicialização e o desligamento de instâncias no serviço da AWS  EC2 (Amazon Elastic Compute Cloud) e fazer o Pentaho Server Iniciar e desligar automaticamente, como um serviço desta instância.

Em um cenário de arquiteturas Cloud voltadas para implementações de processos de BI e BIG Data, temos a possibilidade de escolher os recursos computacionais para os nossos servidores, para que possam dar sustentabilidade aos processos de engenharia de dados, montando assim arquiteturas que sejam escaláveis, com alta disponibilidade e também com maiores possibilidades de previsão dos custos, porém os desafios para se gerenciar um ambiente como este são enormes, e se não houver cuidado, podemos ter serviços sendo utilizados de forma errada, instâncias ligadas sem necessidade, aumentando assim os custo desta arquitetura.

Pensando nisso, como poderíamos programar para que as instâncias, onde estão instalados os servidores de nossas aplicações, possam ser ligadas e desligadas de forma automática para orquestrar a execução dos nossos pipelines de dados para carga de Data Lakes e Data Warehouses ?

Vem comigo!!!

Irei te mostrar como fazer isso através deste artigo.

Na arquitetura em questão, temos uma instância Linux (Ubuntu) e um cenário onde o processo de ELT / ETL é orquestrado pelas ferramentas da suíte Pentaho, data integration e Pentaho Server.

Vamos iniciar o processo pela programação da instância, iremos utilizar os serviços abaixo:

  • AWS IAM (Identity and Access Management) – Criar a Politica e a função que dará permissão para execução do Workload.
  • AWS Lambda – Criar o código para execução do Workload.
  • AWS EventBridge – Criar as regras e programar a execução do agendamento.

Criar a Politica no AWS IAM

Acesse o serviço IAM no console da AWS

  • Clicar em Políticas.
  • Criar Política.
  • Escolher opção JSON e colar o código abaixo:

{
“Version”: “2012-10-17”,
“Statement”: [
{
“Effect”: “Allow”,
“Action”: [
“logs:CreateLogGroup”,
“logs:CreateLogStream”,
“logs:PutLogEvents”
],
“Resource”: “arn:aws:logs:*:*:*”
},
{
“Effect”: “Allow”,
“Action”: [
“ec2:Start*”,
“ec2:Stop*”
],
“Resource”: “*”
}
]

}

 

  • Clicar em Próximo: Tags.
  • Clicar em Próximo: Revisar.
  • Faça a revisão da política e em seguida clique em Criar Política.

 

 

 

 

 

 

 

 

 

 

 

 

 

Criar a Função no AWS IAM

Com esta função daremos permissão ao serviço AWS Lambda que definimos na política criada.

  •  Clicar em Funções escolher as opções conforme print abaixo e clicar em próximo.

  • Adicionar a política criada e clicar em próximo, na próxima tela, nomeie, revise e clique em criar função

Agora que já criamos as permissões no IAM iremos partir para o LAMBDA para criar os códigos de inicialização e desligamento da EC2.

Criando as funções no AWS LAMBDA

  • Acessar o serviço AWS LAMBDA
  • Criar função
  • Nomeie sua função
  • Escolha a opção de Python que será utilizada para escrita do código
  • Atribua permissão com base numa função existente ( aquela que criamos acima).
  • Clique em criar função

Ao clicar em criar função abrirá a tela abaixo, observe com atenção o que precisa ser feito:

  • Limpe o conteúdo do Lambda function e cole o seguinte código:

import boto3
region = ‘inserir nome da região
instances = [‘inserir o id da instancia‘]
ec2 = boto3.client(‘ec2’, region_name=region)
def lambda_handler(event, context): ec2.start_instances(InstanceIds=instances)
print(‘started your instances: ‘ + str(instances))Observação: para preencher os campos acima em negrito, acesse sua instancia e veja em qual região foi criada e copie o Id da Instancia.

  • Clicar em Deploy
  • Clicar novamente em Funções onde repetiremos o processo acima para criar a função Lambda de desligamento
  • Limpe o conteúdo do Lambda function e cole o seguinte código:

import boto3
region = ‘inserir nome da região
instances = [‘inserir o id da instância‘]
ec2 = boto3.client(‘ec2’, region_name=region)
def lambda_handler(event, context): ec2.stop_instances(InstanceIds=instances)
print(‘stopped your instances: ‘ + str(instances))Observação: para preencher os campos acima em negrito, acesse sua instancia e veja em qual região foi criada e copie o Id da Instancia.

Finalizado este processo teremos duas funções Lambda criadas, sendo uma para iniciar e outra para desligar a instância. Agora precisamos criar a regra no AWS EventBridge para executar estas funções e configurar o agendamento.

Criando o evento no AWS EventBridge

  • Acessar o serviço AWS EventBridge
  • Dentro da guia eventos, clique em Regras
  • Criar Regra
    Observe exemplo de como deverá ficar

  • Clique novamente em criar Regra e repita o processo acima para criar o evento de desligamento.
  • Ao final desta etapa você terá duas regras criadas e com agendamento configurado, em caso de dúvidas na criação do agendamento clique aqui
    Observação: por padrão o agendamento segue o fuso GMT, será necessário então acrescentar 3 horas para adapta-lo ao fuso horário do Brasil.

Realize os testes do agendamento e confira no painel de EC2 se a sua instância esta ligando e desligando conforme esperado.

Com a aplicação dos passos acima já podemos programar os nossos servidores usando os serviços da AWS, mas e quanto ao Pentaho Server? como podemos inicializa-lo ou desliga-lo com base nestes mesmos agendamentos que criamos para as instancias ao invés de ter que acessar o terminal e executar manualmente os comandos de start e stop?

Vamos lá!!! vou te mostrar como, saca só!!!

Para fazermos o Pentaho Server iniciar, precisamos criar um script de inicialização utilizando o systemmd.

  • Acesse sua instância linux via terminal #telapreta!!!!
  • execute o comando sudo vi /etc/systemd/system/pentaho.service
    • Na tela que irá abrir clique na tecla I, para habilitar o arquivo para edição e cole o script abaixo:

[Unit]
Description=Pentaho Server
After=network.target

[Service]
Type=forking

Environment=PENTAHO_JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64
Environment=JRE_HOME=/usr/lib/jvm/java-8-openjdk-amd64/jre
Environment=CATALINA_PID=/opt/pentaho/pentaho-server/tomcat/temp/tomcat.pid

ExecStart=/opt/pentaho/pentaho-server/start-pentaho.sh
ExecStop=/opt/pentaho/pentaho-server/stop-pentaho.sh
ExecLimpeza=/opt/pentaho/pentaho-server/executa_limpeza_arquivos_pentaho_server.sh

User=root
Group=root
UMask=0007
RestartSec=10
Restart=always

[Install]

WantedBy=multi-user.target

  • para sair desta tela de edição e salvar o comando criado realize o seguinte procedimento:
  • Clicar em ESC : wq (ESC + dois pontos+w+q)
  • Execute o comando sudo systemctl enable pentaho.service para habilitar o serviço.
  • Execute o comando sudo systemctl daemon-reload para carregar o serviço.
  • Execute o comando sudo systemctl start pentaho para iniciar o Pentaho Server.
  • Execute o comando sudo  systemctl status pentaho para checar o status.

Observação: Fique atento as variáveis de ambiente, caso não as tenha criadas, execute o comando vi /etc/environment e crie as variaveis, caso contrário os serviços não irão inicializar.

Se os procedimentos estiverem todos corretos, ao iniciar a instancia, o Pentaho Server irá iniciar junto e quando a instancia for desligada, será realizado o stop.

E assim terminamos mais um artigo, curtiram? solução top de mercado para orquestrarmos nossos Pipelines de dados no ambiente AWS.

Material de Aprofundamento:

Se você quiser aprender mais sobre Integração de Dados em Nuvem com AWS  Então Clique Aqui para conhecer o Curso de AWS com Pentaho.

Você irá aprender uma das habilidades mais procuradas do mercado de dados nesse curso completo! O Que é e como criar um Data Lake do zero na AWS (Amazon Web Services)

 

]]>
https://modelo6.augustomello.com.br/como-iniciar-e-desligar-instancias-no-servico-aws-ec2-automaticamente-e-fazer-o-pentaho-server-iniciar-como-um-servico/feed/ 1
Como criar um Alarme de Faturamento na AWS utilizando o CloudWatch. https://modelo6.augustomello.com.br/como-criar-um-alarme-de-faturamento-na-aws-utilizando-o-cloudwatch/ https://modelo6.augustomello.com.br/como-criar-um-alarme-de-faturamento-na-aws-utilizando-o-cloudwatch/#comments Fri, 19 Nov 2021 12:55:38 +0000 https://arrudaconsulting.com.br/?p=4590 Como criar um Alarme de Faturamento na AWS utilizando o CloudWatch.

Olá, tudo bem?  No artigo de hoje irei te mostrar como criar um alarme de faturamento na AWS.

Primeiramente para criar um alarme de faturamento na aws é necessário ativar o monitoramento, faça isso seguindo o passo a passo a seguir:

  • Primeiro acesse o console da AWS e selecionar a opção My Billing Dashboard;

  • Então Vá para o menu de preferências de Faturamento e marcar as opções conforme imagem abaixo:

  •  Acesse o serviço CloudWatch e na guia Alarmes, escolha a opção Faturamento e clique em Criar Alarme;

Observação: Se você não estiver logado na região da Virgínia, aparecerá uma mensagem na Tela solicitando que seja realizado a Alteração.

Faça a alteração, e siga com a configuração do Alarme.

  • Primeiro Clique em selecionar métrica e depois clique em Próximo;

  • Clique em Faturamento e escolha a opção carga total estimada;

  • Depois Selecione a opção de Moeda e clique em selecionar métrica;

  • Então Defina as condições conforme print abaixo e escolha o valor limite para o seu Alarme, após isso clique em próximo;

Configure as Ações

  • Escolha um nome para o seu alarme, indique um e-mail e depois clique em criar tópico;

Observação: Após clicar em criar tópico você precisará acessar o seu e-mail e confirmar a subscrição, depois de confirmar, retorne a pagina de configuração do Alarme para concluir a configuração.

  • Agora Marque a opção Selecione um tópico do SNS existente (somente após confirmar procedimento acima) e depois clique em próximo;

  • Então Defina um nome e uma descrição para o seu Alarme, clique em próximo e na tela que surgir, clique em Criar Alarme;

Finalizando a criação do Alarme ficará da seguinte forma:

Observação: Caso seu alarme fique com status de dados insuficientes é porque ainda não há dados de fatura para análise, sendo assim, é só aguardar.

Dessa forma temos um alarme de faturamento e toda vez que a estimativa de faturamento atingir o valor de limite estabelecido, você será notificado por e-mail

Então poderá acessar o dashboard (My Billing Dashboard) e verificar os serviços e tomar algumas ações preventivas.

Material de Aprofundamento:

Se você quiser aprender mais sobre Integração de Dados em Nuvem com AWS  Então Clique Aqui para conhecer o Curso de AWS com Pentaho.

Você irá aprender uma das habilidades mais procuradas do mercado de dados nesse curso completo! O Que é e como criar um Data Lake do zero na AWS (Amazon Web Services)

]]>
https://modelo6.augustomello.com.br/como-criar-um-alarme-de-faturamento-na-aws-utilizando-o-cloudwatch/feed/ 2
Criando uma instancia de Banco de dados na AWS. https://modelo6.augustomello.com.br/criando-uma-instancia-de-banco-de-dados-na-aws/ https://modelo6.augustomello.com.br/criando-uma-instancia-de-banco-de-dados-na-aws/#comments Thu, 04 Nov 2021 10:54:07 +0000 https://arrudaconsulting.com.br/?p=4504 Criando uma instancia de Banco de dados na AWS.

Antes de mais nada Talvez você já CONECTOU em um banco de dados na nuvem para acessar os dados e criar os seus relatórios e Dashboards, certo? mas você saberia CRIAR um banco de dados na nuvem?

Pois bem Nesse artigo iremos criar uma instância do Mysql, e iremos acessar esse banco de dados.

Antes de mais nada você precisa ter uma conta AWS.

E iremos utilizar o AWS RDS( Relation Database Service)

Este é o serviço da AWS para bancos de dados relacionais.

Iremos clicar em DB Instances.

 

Aqui irá aparecer todas as suas instâncias de bancos de dados.

E para criarmos a nossa instâncias é só clicar em “Create Database”

A AWS tem as seguintes opções de banco de dados relacionais:

Neste caso iremos escolher a opção do Mysql.

Após escolher o banco de dados, aqui temos 3 opções de Templates:

Como aqui é só um teste iremos a opção free tier.

Nessa etapa é aonde informamos o nome da nossa instancia, usuário e senha.

Agora tem um detalhe importante que é aonde ativamos o acesso público, que sem ele estar habilitado a gente não consegue conectar no banco do nosso note, só iriamos conseguir acessar estando em uma maquina dentro da AWS, ou seja uma VM utilizando o serviço EC2.

Agora é só ir até o final da Página e clicar em “Create Database”

E esperar alguns minutos até a sua instância Mysql ser criada na AWS.

E pronto, Instância disponível!

Só clicar em mysql, para ver maiores informações sobre a instância.

Então agora é só conectar no banco de dados? Ainda não.

Apesar do banco de dados estar liberado o acesso público para podermos conectar nele, ainda precisamos adicionar o nosso IP para a porta 3306 que é a porta padrão do Mysql.

Ou seja pra conectarmos em um banco mysql precisamos de 2 coisas:

  • Permitir o acesso público a instância.
  • Liberar o Seu ip ou ip público para porta que o seu banco de dados utiliza.

e aqui temos a informação do endpoint, porta, se o acess o público esta liberado, agora clica no Sercuriy group.

Clica em Inbound rules, e depois em edit.

Neste caso aqui iremos adicionar uma regra de entrada.

E agora é clicar em add rule, para adicionar uma regra.

Iremos escolher o tipo Mysql / Aurora, a porta é a 3306 que é a padrão do Mysql.

E iremos escolher anywhere, para testarmos, neste caso qualquer pessoa que tiver as credenciais terá acesso.

Se quiser escolher o teu ip, só você irá ter acesso, mas se o seu IP mudar você teoricamente não acessa o banco de dados.

E agora salva as alterações.

E podemos tentar acessar o banco de dados com alguma IDE de banco de dados como:

  • HeidSQL
  • Dbeaver
  • Workbench

No meu caso eu vou utilizar o HeidSQL.

Então o IP seria o Endpoint.

User: admin

Senha: a que você cadastrou na hora de criar o banco de dados.

Por Fim

conectado com sucesso!!!

E esse é tutorial de como Criar uma instancia de Banco de dados na AWS. e como acessar a mesma instância se quiser aprender mais sobre AWS com Pentaho conheça nosso Curso de AWS.

CURSO COMPLETO DE AWS

E se você quiser aprender ainda mais sobre Integração dos Dados em Nuvem Então Clique Aqui para conhecer o Curso de AWS com Pentaho.

Você irá aprender uma das habilidades mais procuradas no mercado de dados: O Que é e como criar um Data Lake do zero na AWS (Amazon Web Services)

O melhor você ganha acesso a nossa Comunidade Pentarruda onde ajudamos uns aos outros compartilhando muita informação e resolvendo dúvidas relacionado a Engenharia de Dados e Business Intelligence!

]]>
https://modelo6.augustomello.com.br/criando-uma-instancia-de-banco-de-dados-na-aws/feed/ 4