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
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
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
Depois vamos configurar o tipo, mas nessa tela podemos deixar o padrão mesmo
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
Na próxima tela, pode deixar a opção "No" selecionada, pois não vamos precisar de outro data store
Agora vamos configurar a role para execução do serviço, onde podemos criar uma nova sem problemas!
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)
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"
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
- Custos do QuickSight: https://aws.amazon.com/quicksight/pricing/
- Documentação QuickSight: https://aws.amazon.com/quicksight/
- Documentação do Athena: https://aws.amazon.com/athena/
- Documentação CUR: https://aws.amazon.com/aws-cost-management/aws-cost-and-usage-reporting/
- Cost Optimization no AWS Well-Architected Labs: https://www.wellarchitectedlabs.com/cost/
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)