Como rastrear recursos não utilizados na AWS?

8

Estou usando a AWS há algum tempo. Sempre tenho dificuldade em rastrear os recursos da AWS e como eles estão interconectados. Obviamente, estou usando o Terraform, mas ainda há sempre operações ad-hoc que reduzem minha visibilidade.

Desde que fui cobrado várias vezes por recursos / serviços presentes, mas não utilizados por mim.

Os serviços não utilizados incluem recursos que não estão apontando para outros serviços, mas presentes no ambiente da AWS.

Sugestões de ferramentas também são bem-vindas.

Veer Abheek Singh Manhas
fonte
2
Não está claro o que você quer dizer com recursos não utilizados. Você quer dizer recursos que estão parados (isto é, não estão sendo utilizados)? Recursos em execução, mas não executando as operações necessárias? Um volume EBS ativo não associado a nenhuma instância do EC2 ou um ELB que não aponta para nenhuma instância?
PrestonM 06/02
Eu sugeriria usar Cloudyn aqui, pois é feito para o que você está procurando.
Alok Singh
@PrestonM Refiro-me a ambos. Principalmente para ELBs que não estão apontando para nenhuma instância, mas também para os recursos que estão parados.
Veer Abheek Singh Manhas

Respostas:

5

Existem algumas maneiras de abordar a exclusão de recursos não utilizados, talvez etiquetando itens que fazem parte de algum grupo confiável ou conhecido, como alguns sugeriram aqui e, em seguida, monitorando manualmente os recursos que não estão identificados adequadamente.

Você pode estender isso para um script python que é executado de vez em quando para identificar e excluir esses recursos.

No entanto, existem outras opções (potencialmente menos intensivas).

1) A AWS já fornece uma maneira de monitorar nossos recursos, identificar os não utilizados e encerrá- los com alarmes do CloudWatch . Você pode começar configurando alguns alarmes com base em algum conjunto de verificações que você já pode estar fazendo manualmente. Quando estiver satisfeito com a precisão do alarme, você poderá adicionar uma etapa de terminação à cadeia.

2) Como alternativa, nossos amigos da Netflix criaram essa ferramenta divertida chamada JanitorMonkey para monitorar e excluir grupos não utilizados de Instâncias, Volumes do EBS, Instantâneos do EBS e Escalonamento automático. Faz parte do chamado pacote de código aberto "Exército Simian" original da Netflix e escrito em Java. Mesmo que tenha alguns anos agora, essa coisa é altamente configurável e vale a pena dar uma olhada.

Ambas as opções aqui permitem configurar avisos e regras de negócios que atendem às suas necessidades. Além disso, o uso do CloudWatch também pode ser uma boa oportunidade para aprender mais sobre os logs da AWS e a identificação de anomalias.

llorrac
fonte
O zelador parece estar aposentado.
silverdagger
3

Criei essa ferramenta, chamada AWS Inventory e, eventualmente, abrangerá todos os recursos disponíveis em sua conta. Embora ainda esteja em andamento, deve ser muito fácil adicionar os itens que podem estar faltando apenas adicionando o nome da API a uma lista.

A ferramenta é apenas um único arquivo HTML usado aws-sdk.jspara consultar todas as APIs list...e diferentes describe...dos serviços habilitados para CORS.

O projeto é licenciado pelo MIT e de código aberto em https://github.com/devops-israel/aws-inventory .

Evgeny
fonte
3

Se você deseja fazer isso exclusivamente com as ferramentas fornecidas pela AWS, tente o seguinte:

  1. descobrir um esquema de marcação que funcione para você
  2. marque todos os recursos que você provisiona, verifique se nada ficou marcado
  3. para itens que você provisiona fora do terraform e nem sempre é marcado corretamente pelo seu esquema de marcação, use o serviço AWS Config para aplicar o esquema de marcação

Depois de ter todos os seus recursos marcados, use o AWS Budgets para monitorar e rastrear as alterações nos gastos e receber alertas quando ultrapassar o limite de orçamento definido.

Além disso, criar e rever periodicamente alguns relatórios dentro da AWS Custos Explorer para localizar mudanças diárias na região gasto / gastos serviço / etc .

O uso de um esquema de marcação rigoroso e significativo ajuda a manter uma conta saudável com menos dinheiro sendo desperdiçado.

tolib
fonte
O problema com a marcação é. Você tem que fazer isso por tudo que precisa. Obviamente, tenho minhas tags críticas presentes. De vez em quando surge algo novo e eu tenho que mudar o esquema de marcação conforme os KPIs mudam. Não é realmente uma solução escalável.
Veer Abheek Singh Manhas
2
é se você automatizar todo o seu marcação ter um olhar para grafitti-macaco / ferramentas similares que as etiquetas ajudar a implantar / assegurar um esquema de marcação
Tolib
2

Essa seria uma maneira de fazer, usando apenas o console da AWS.

Eu tenho usado o TotalCloud para muitas outras coisas, mas isso é muito fácil na plataforma. Parece estar livre por enquanto. Eu o uso com duas grandes contas da AWS há 3 meses.

Ele mostra tudo em uma única exibição com visão topológica visual, o que facilita bastante o entendimento dos relacionamentos entre recursos / serviços. O agrupamento pode definitivamente ajudá-lo a encontrar os recursos, conforme necessário.

xachela
fonte
tentei, bastante horrível.
Evgeny
@Evgeny Mind adicionando por quê? Parece uma recomendação brilhante acima, e a resposta recebeu uma recompensa; portanto, seria útil ver por que não funcionou para você para ajudar outras pessoas a tomar uma decisão informada.
Tim Malone
O "porquê" é que é um software de qualidade muito baixa. Horrivelmente quebrado. Muito pior que o console da AWS. Tentar "ver" o que você realmente tem na AWS com base no uso deste software é um exercício inútil. Desculpe, alguns softwares não são bons.
precisa