O gerenciamento eficaz de custos de nuvem é uma prioridade fundamental para empresas de todos os setores. Ele permite que as empresas obtenham entendimento claro, transparência e otimização de todos os custos associados à infraestrutura de nuvem.
Descrição do Problema
A falta de visibilidade no ciclo de vida de um volume causa custos extras para recursos não utilizados e negligenciados. Para clientes da AWS, volumes desvinculados do Elastic Block Storage (EBS) podem se tornar um motivo para cobranças inesperadas em uma fatura de nuvem da AWS. Em alguns casos, o ciclo de vida dos volumes EBS persiste mesmo se uma instância EC2 for encerrada. Esses volumes EBS desvinculados em contas da AWS não são usados, mas você ainda está pagando por eles.
Nossas recomendações ajudarão você a identificar volumes EBS não anexados negligenciados e excluí-los para otimizar os custos da nuvem e evitar recursos subutilizados.
Recomendações
Passo 1
Se quisermos encontrar todos os volumes, devemos percorrer todas as regiões disponíveis.
Comando aws cli:
aws ec2 describe-regions --query "Regiões[].NomeDaRegião" --texto de saída
Mais informações podem ser encontradas aqui:
https://awscli.amazonaws.com/v2/documentation/api/latest/reference/ec2/describe-regions.html
Passo 2
Para cada região disponível, devemos passar por todos os volumes e verificar o status atual. Se o status atual for disponível, este volume não está anexado a nenhuma instância.
Comando aws cli:
aws ec2 describe-volumes --region "$region" --filters Nome=status,Valores=disponível --query 'Volumes[].[VolumeId]' --texto de saída
Mais informações podem ser encontradas aqui:
https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-volumes.html
Otimização de custo de nuvem gratuita. Vida
Observação
O aws cli tem um mecanismo de paginação para grandes quantidades de dados na saída. Se você tiver muitos volumes em uma região, o script fornecido processará apenas a primeira página. Considere usar algo mais poderoso do que o aws cli.
Como resultado, um comando de linha:
para região em $(aws ec2 describe-regions --query "Regions[].RegionName" --output text); faça para volumeId em $(aws ec2 describe-volumes --region "$region" --filters Name=status,Values=available --query 'Volumes[].[VolumeId]' --output text); faça eco "Região: $region VolumeId $volumeId"; feito; feito
Restante
Este script mostra volumes que não estão anexados a nenhuma instância neste momento. Pode ser um estado temporário, e seria ótimo verificar a última data anexada antes de excluir o volume. Infelizmente, a aws não armazena um histórico de anexos. Nesse caso, você pode usar as seguintes variantes:
- Execute este script duas vezes com um dia de atraso e encontre volumes que ainda não foram anexados após um dia.
- Se sua conta tiver logs de trilha de nuvem habilitados. Você pode tentar encontrar a data do último anexo por esta instrução https://aws.amazon.com/ru/premiumsupport/knowledge-center/list-attachments-history-ebs-volume/
- O uso de ferramentas de terceiros como OptScale, FinOps e plataforma de gerenciamento de custos em nuvem pode ajudar você a identificar volumes EBS não anexados e reduzir custos em alguns cliques
👆🏻 Armazenar objetos em buckets públicos do AWS S3 pode ameaçar a segurança dos dados da sua empresa.
💡 Descubra as recomendações que ajudam você a gerenciar o acesso público aos recursos do AWS S3 corretamente e garantir que todos os buckets e objetos necessários tenham seu acesso público bloqueado → https://hystax.com/the-quickest-way-to-get-a-list-of-public-buckets-in-aws-to-enhance-your-security