Conteúdo[Esconder][Mostrar]
O infracusto é importante para DevOps, SRE e desenvolvedores que procuram estimar os custos de nuvem para projetos de infraestrutura como código, como o Terraform. Com o Infracost, você pode ver rapidamente um detalhamento de custos ao comparar diferentes opções, o que ajuda a obter melhores insights antes de uma grande decisão.
Como funciona o Infracost?
A Infracost pode verificar mais de 3 milhões de preços digitalizando seu código Terraform e produz uma estimativa de custo simples e fácil de ler antes de lançar os recursos.
Você também pode usar o Infracost para saber quais linhas de código têm o maior impacto no custo, pois mapeia o custo para os recursos em suas solicitações pull. Ao integrar o Infracost ao seu CI/CD, você pode colaborar com sua equipe e possibilitar discussões sobre o impacto das mudanças em seu fluxo de trabalho existente.
A Infracost funciona por meio do serviço de back-end da API Cloud Pricing e, com a ferramenta CLI, você pode analisar um plano do Terraform no formato JSON. A API faz referência cruzada ao custo individual de cada recurso de nuvem em uso, bem como seus parâmetros de custo relacionados com base no provedor de nuvem.
O programa não requer credenciais para funcionar e não faz nenhuma alteração no Terraform ou nos recursos de nuvem analisados. Ao usar a contagem de tipos de recursos do Terraform, a API garante que novos recursos sejam contabilizados.
Existem duas maneiras principais pela qual a Infracost mostra a repartição dos custos:
A) Repartição Completa dos Custos
B) Diferença de Custos Mensais entre Estado Atual e Planejado
Introdução ao Infracost (passo a passo)
Siga este guia passo a passo para instalar e começar a usar o Infracost:
1. Instale o Infracost
O primeiro passo para começar é instalar o Infracost, mas primeiro você deve ter Terraform instalado.
Aqui está uma olhada nas diferentes versões do Infracost:
Homebrew macOS:
infraestrutura de instalação de fermentação
infracost –version # Deve mostrar v0.9.7
manual do macOS:
# Baixa a CLI com base em seu SO/arch e coloca em /usr/local/bin
curl -fsSL https://raw.githubusercontent.com/infracost/infracost/master/scripts/install.sh | eh
Linux:
# Baixa a CLI com base em seu SO/arch e coloca em /usr/local/bin
curl -fsSL https://raw.githubusercontent.com/infracost/infracost/master/scripts/install.sh | eh
Docker:
docker pull infracost/infracost
execução do docker –rm \
-e INFRACOST_API_KEY = veja_following_step_on_how_to_get_this \
-e AWS_ACCESS_KEY_ID=$AWS_ACCESS_KEY_ID\
-e AWS_SECRET_ACCESS_KEY=$AWS_SECRET_ACCESS_KEY\
-v $PWD/:/code/ infracost/infracost repartição –path /code/
# Adicione outros sinalizadores/envs necessários para Infracost ou Terraform
# Por exemplo, eles podem ser necessários se você estiver usando o AWS assume-role:
# -e AWS_SESSION_TOKEN=$AWS_SESSION_TOKEN \
# -e AWS_REGION=$AWS_REGION \
Windows:
Baixe e descompacte o Último lançamento. Execute-o a partir do prompt de comando ou Powershell usando .\infracost.exe --no-color
juntamente com outros comandos/sinalizadores necessários (a saída colorida tem um bug que precisamos corrigir no Windows). Você também deve mover o arquivo exe para uma pasta que esteja em seu PATH
variável de ambiente, por exemplo C:\Windows
.
2. Obtenha uma chave de API
A próxima etapa é registrar uma chave de API gratuita, que a CLI usa para consultar a API Cloud Pricing para tarefas como obter preços para tipos de instância.
Todos os sistemas operacionais:
registro de infra-custo
A chave é salva em ~/.config/infracost/credentials.yml
.
3. Execute o Infracost
Agora você está pronto para executar o Infracost, que não faz nenhuma alteração no estado do Terraform ou nos recursos de nuvem. Você pode executá-lo com o projeto Terraform fornecido para testá-lo.
Todos os sistemas operacionais:
clone do git https://github.com/infracost/example-terraform.git
cd exemplo-terraform/sample1
# Jogue com main.tf e execute novamente para comparar os custos
desagregação de infra-custo –caminho .
# Mostre a diferença dos custos mensais, edite o arquivo yml e execute novamente para comparar os custos
infracost diff –caminho . –sync-usage-file –usage-file infracost-usage.yml
4. Adicionar ao CI/CD
Agora você pode usar o Infracost's Integrações de CI/CD para adicionar automaticamente comentários de pull request, que mostram as diferenças da estimativa de custo. Isso também fornecerá uma rede de segurança, permitindo que as equipes discutam o impacto no custo das mudanças como parte de seu fluxo de trabalho.
Uso
A infracost
A CLI tem os seguintes comandos principais:
breakdown
: mostrar a repartição completa dos custosdiff
: mostra a diferença dos custos mensais entre o estado atual e o planejado
Use um arquivo de configuração do Infracost se seu repositório tiver vários projetos ou espaços de trabalho do Terraform. Seus resultados serão combinados na mesma divisão ou saída de diferença.
Uso Avançado
A Infracost também possui vários métodos avançados de uso que podem ser usados além dos métodos de uso regulares. Esses métodos avançados também podem ser usados por meio de um arquivo de configuração do Infracost.
Arquivo de plano do Terraform
O Infracost pode ser executado em um arquivo de plano do Terraform, o que implica que você já executou o Terraform init.
Infracost apenas executa o Terraformshow
neste caso, o que significa que não requer credenciais de nuvem ou --terraform-plan-flags
a ser definido.
cd caminho/para/código
init terraform
plano terraform -out tfplan.binary
detalhamento de infra-custo – caminho tfplan.binary
infracost diff –caminho tfplan.binary
Estado do Terraform
Se você quiser ver o detalhamento de custos do estado atual do Terraform, você deve saber o infracost breakdown
comando tem um --terraform-use-state
flag, o que seria útil neste caso. Você já deve executar o Terraform apply
, então o Infracost apenas executa o Terraform show
, que não requer credenciais de nuvem ou --terraform-plan-flags
a ser definido.
detalhamento de infra-custo – exemplos de caminho/terraform –terraform-use-state
Arquivo JSON do estado do Terraform
Você pode executar o infracost breakdown
em um arquivo JSON de estado do Terraform. Este seria o [formato de saída JSON] do estado em vez da representação JSON interna. Deve ser gerado executando terraform show -json
dentro de um projeto do Terraform, e é especialmente útil se você quiser ver o detalhamento de custos do estado atual do Terraform. Nesse caso, significa que você já executa o Terraform apply
, o que significa que não há credenciais de nuvem ou --terraform-plan-flags
é requerido.
Quais nuvens e recursos são suportados?
A Infracost suporta mais de 200 recursos do Terraform em AWS, Google e Azure, enquanto outras ferramentas de IaC como Pulumi e Formação de nuvens estão incluídos no roteiro. O suporte para novos recursos está sendo adicionado constantemente, por isso é importante verificar o repositório para lançamentos.
Conclusão
Infracost é uma ferramenta útil ferramenta para desenvolvedores, DevOps, SRE e outros que procuram ver rapidamente o detalhamento de custos e comparar diferentes opções antecipadamente. Também é uma boa opção se você deseja integrá-lo ao CI e/ou precisa de suporte para AWS e Google Cloud. Se você deseja criar uma melhor colaboração entre sua equipe, a Infracost também pode ajudar nesse sentido. Todos esses recursos o tornam uma ferramenta que você deve considerar fortemente a implementação para estimativas de custo de nuvem para o Terraform.
Deixe um comentário