DEV Community

Cover image for Configurando o Amazon QuickSight para custos na AWS
Felipe KiKo for AWS Community Builders

Posted on • Updated on

Configurando o Amazon QuickSight para custos na AWS

Olá!

Quando queremos controlar nossos custos na AWS, a imagem sempre que vem a cabeça é a de dashboards e reports, certo?

Com o Amazon QuickSight conseguimos montar essas visualizações de uma maneira bem simples e profissional!

Nesse artigo rápido vou mostrar o passo-a-passo de como configurar do zero o QuickSight + CUR (Cost and Usage Report) da AWS

1. Criando seu Cost and Usage Reports

O primeiro passo é configurar um CUR para que a AWS envie os dados de custo da(s) sua(s) conta(s). Caso você tenha diversas contas (controladas pela Organization), você poderá configurar na sua Payer Account, pois ai terá todos os dados de todas as contas, senão pode seguir na sua conta individual

No serviço de "Billing", vá em "Cost & Usage Reports" e clique em "Create Report"; Nessa primeira tela será solicitado o nome do seu report

Dica: Caso você queria mais detalhes no reports, selecione "Include resource IDs", pois ele irá adicionar os IDs dos recursos...mas cuidado, dependendo da utilização da sua conta, isso poderá aumentar bem a quantidade de registros nos seus reports, por consequência os custos

Tela da etapa 1 da criação de um novo CUR

Na próxima tela você irá configurar o bucket onde a AWS irá enviar os reports, e selecionar a integração com Amazon Athena

Dica 1: Crie um novo bucket dedicado somente para esses reports

Dica 2: Caso você queria detalhes por hora dos seus custos, para controlar por exemplo em qual horário temos mais utilização de recursos, marque a granularidade para "Hourly", pois depois de configurado, não será possível alterar

Tela da etapa 2 da criação de um novo CUR

E na última tela ele irá mostrar uma revisão, basta finalizar e pronto! Seu novo CUR está configurado! Agora é necessário esperar pelo menos 24 horas para a AWS começar a enviar os dados para o seu bucket

2. Criando o Crawler e a tabela no Athena

Após os primeiros arquivos começarem a ser enviados, já conseguimos criar uma crawler para popular uma tabela Athena com os dados do billing

Gosto de utilizar o Athena para esse fim, porque se preciso extrair mais informações, sem a necessidade visual, escrevo as queries e executo direto no Athena

No serviço "AWS Glue", vá em "Crawlers" e "Add crawler", na primeira tela vamos definir o nome do nosso crawler

Tela da etapa 1 da criação do Crawler

Depois vamos configurar o tipo, mas nessa tela podemos deixar o padrão mesmo

Tela da etapa 2 da criação do Crawler

Agora vamos indicar onde está nossos arquivos de dados, ou seja, os dados do CUR que criamos no passo 1, onde basta indicar o bucket e a path onde os arquivos estão

A path geralmente será "{BUCKET}/awscur/{NOME DO BUCKET}/{NOME DO BUCKET}" (sim, ficou estranho, mas é o jeito que os arquivos são enviados hahaha)

Outra configuração é excluir algumas extensões no momento do scan, onde você pode adicionar essas aqui:

**.json
**.yml
**.sql
**.csv
**.gz
**.zip

Tela da etapa 3 da criação do Crawler

Na próxima tela, pode deixar a opção "No" selecionada, pois não vamos precisar de outro data store

Tela da etapa 4 da criação do Crawler

Agora vamos configurar a role para execução do serviço, onde podemos criar uma nova sem problemas!

Tela da etapa 5 da criação do Crawler

Na tela de frequência de execução, podemos configurar para executar diariamente, visto que o report completo do CUR geralmente é D-2 (hoje menos 2 dias)

Tela da etapa 6 da criação do Crawler

Nesse momento, vamos configurar a database onde os dados serão enviados, e como não temos uma database, pode clicar em "Add database"

Na tela que irá abrir, preencha o nome da sua database, e o restante pode deixar o padrão mesmo

Após clicar em "Create", irá voltar para a tela da etapa 6, nessa tela expanda a configuração "Configuration options (optional)" e selecione a configuração "Delete tables and partitions from the data catalog"

Tela da etapa 7 da criação do Crawler

A última tela irá fazer uma revisão das suas configurações, e caso esteja tudo OK, basta clicar em "Finish"

Pronto! Sua configuração está feita! Selecione o seu novo crawler criado e clique no botão "Run crawler" para fazermos a primeira execução dele, e caso tudo certo, será exibido que uma nova tabela foi adicionada!

3. Criando seu Cost and Usage Reports

A última etapa do processo é conectar essa nossa nova tabela do Athena no QuickSight, e para isso vamos acessar o serviço "QuickSight"

Nota: Caso seja a primeira vez que você entra no QuickSight, ele irá solicitar para criar um novo usuário. Recomendo visitar a página de custos do QuickSight para entender um pouco mais sobre os valores cobrados

Já no QuickSight, a primeira coisa que devemos fazer é configurar um novo Dataset apontando para a nossa tabela no Athena, então na tela principal clique em "Datasets" na lateral esquerda e em seguida em "New dataset"

Nas opções exibidas selecione "Athena", e irá abrir uma janela onde você deve colocar o nome do seu dataset, e após isso, só clicar em "Create data source"

Ele irá avançar para uma próxima tela onde irá exibir suas tabelas do Athena disponível, basta selecionar a database e tabela que criamos na etapa 2 e clicar em "Select"

Na próxima tela, você poderá utilizar o SPICE (armazenamento do próprio QuickSight) ou executar as queries direto (geralmente utilizo essa)

E pronto...nosso dataset está criado! Ele irá gerar uma análise já utilizando esse dataset novo, porém ainda temos que fazer mais uma liberação...

Na parte superior, clique no usuário e em "Manage QuickSight"

Quando abrir a tela, vá em "Security & permissions", e em "QuickSight access to AWS services" clique no botão "Manage"

Na tela que abrir, logo abaixo de "Amazon S3", clique em "Select S3 buckets" e no modal que será aberto, selecione o bucket criado na etapa 1

Pronto! Seu dataset está pronto e agora é só criar suas análises! Em próximos artigo vou mostrar algumas sugestões de dashboards voltados a custos na AWS e como cria-los!

Referencias

Até mais e muito obrigado pela Leitura! Ah, e se sentiu falta de alguma informação, algo que possa estar errado ou se quiser tirar dúvidas, fiquem a vontade de comentar! 😃

Top comments (0)