Monitorar e controlar custos

Last reviewed 2023-09-08 UTC

Neste documento, no Framework da arquitetura do Google Cloud, descrevemos as práticas recomendadas, ferramentas e técnicas para ajudar você a rastrear e controlar o custo dos seus recursos no Google Cloud.

As orientações nesta seção são destinadas aos usuários que provisionam ou gerenciam recursos na nuvem.

Áreas de foco em gerenciamento de custos

O custo dos recursos no Google Cloud depende da quantidade de recursos usados e da taxa de cobrança dos recursos.

Para gerenciar o custo dos recursos da nuvem, recomendamos que você se concentre nas seguintes áreas:

  • Visibilidade de custo
  • Otimização de recursos
  • Otimização da taxa

Visibilidade de custo

Acompanhe o gasto e os recursos e serviços que são cobrados para analisar o efeito do custo nos resultados comerciais. Recomendamos que você siga o modelo operacional FinOps, que sugere as seguintes ações para tornar informações de custo visíveis em toda a organização:

  • Alocar: atribua um proprietário a cada item de custo.
  • Relatório: disponibilize dados de custo, consumíveis e acionáveis.
  • Previsão: calcule e acompanhe os gastos futuros.

Otimização de recursos

Alinhe o número e o tamanho dos seus recursos de nuvem aos requisitos da sua carga de trabalho. Sempre que possível, pense em usar serviços gerenciados ou rearquitetar seus aplicativos. Normalmente, as equipes de engenharia individuais têm mais contexto do que a equipe central de FinOps (operações financeiras) sobre oportunidades e técnicas para otimizar a implantação de recursos. Recomendamos que a equipe de FinOps trabalhe com as equipes de engenharia individuais para identificar oportunidades de otimização de recursos que possam ser aplicadas em toda a organização.

Otimização da taxa

A equipe do FinOps geralmente toma decisões de otimização de taxas de maneira centralizada. Recomendamos que as equipes de engenharia individuais trabalhem com a equipe central do FinOps para aproveitar grandes descontos para reservas, uso contínuo, VMs do Spot, preço fixo, volume e desconto de contrato.

Recomendações de design

Nesta seção, sugerimos abordagens que podem ser usadas para monitorar e controlar custos.

Consolide o faturamento e o gerenciamento de recursos

Para gerenciar o faturamento e os recursos no Google Cloud com eficiência, recomendamos que você use uma única conta de faturamento para sua organização e use mecanismos internos de estorno para alocar custos. Use várias contas de faturamento para conglomerados e organizações com estrutura leve que não se afetem uns aos outros. Por exemplo, os revendedores podem precisar de contas distintas para cada cliente. O uso de contas de faturamento separadas também pode ajudar você a cumprir regulamentações fiscais específicas do país.

Outra prática recomendada é mover todos os projetos que você gerencia para sua organização. Recomendamos o uso do Resource Manager para criar uma hierarquia de recursos que ajude você a atingir os seguintes objetivos:

  • Estabeleça uma hierarquia de propriedade de recursos com base na relação de cada recurso com o pai imediato.
  • Controle como as políticas de acesso e os rótulos de alocação de custos são anexados e herdados pelos recursos na sua organização.

Além disso, recomendamos que você aloque o custo dos serviços compartilhados proporcionalmente com base no consumo. Revise e ajuste os parâmetros de alocação de custos periodicamente com base nas alterações nas metas e prioridades de negócios.

Acompanhar e alocar custos usando tags ou rótulos

Tags e rótulos são dois métodos diferentes que podem ser usados para anotar seus recursos do Google Cloud. As tags oferecem mais recursos do que os rótulos. Por exemplo, é possível implementar um controle detalhado sobre os recursos criando políticas de gerenciamento de identidade e acesso (IAM) que são condicionais baseadas em uma tag ou não anexada a um recurso compatível. Além disso, as tags associadas a um recurso são herdadas por todos os recursos filhos na hierarquia. Para mais informações sobre as diferenças entre tags e rótulos, consulte Visão geral das tags.

Se você estiver criando uma nova estrutura para alocação e rastreamento de custos, recomendamos o uso de tags.

Para categorizar os dados de custo na granularidade necessária, estabeleça um esquema de rotulagem que se adapte ao mecanismo de estorno da sua organização e ajude a alocar os custos adequadamente. É possível definir tags no nível da organização ou do projeto. É possível atribuir rótulos no nível do projeto e definir um conjunto de rótulos que podem ser aplicados por padrão a todos os projetos.

Defina um processo para detectar e corrigir anomalias e anomalias em projetos não rotulados Por exemplo, no Inventário de recursos do Cloud, é possível fazer o download de um inventário (arquivo .csv) de todos os recursos em um projeto e analisar o inventário para identificar recursos que não receberam nenhuma tag ou rótulo.

Para rastrear o custo dos recursos e serviços compartilhados (por exemplo, repositórios comuns, clusters multilocatários e assinaturas de suporte), considere usar uma tag ou rótulo especial para identificar projetos que contenham recursos compartilhados.

Configurar o controle de acesso de faturamento

Para controlar o acesso ao Cloud Billing, recomendamos atribuir o papel de "Administrador da conta de faturamento" apenas aos usuários que gerenciam dados de contato do faturamento. Por exemplo, talvez os funcionários do setor de finanças, contabilidade e operações precisem desse papel.

Para evitar um ponto único de falha no suporte de faturamento, atribua o papel "Administrador da conta de faturamento" a vários usuários ou a um grupo. Somente os usuários com o papel de administrador da conta de faturamento podem entrar em contato com o suporte. Para orientações detalhadas, consulte Exemplos de controle de acesso do Cloud Billing e Papéis importantes.

Faça as configurações a seguir para gerenciar o acesso ao faturamento:

  • Para associar uma conta de faturamento a um projeto, os membros precisam ter os papéis de usuário da conta de faturamento e do gerente de faturamento do projeto.
  • Para permitir que as equipes associem manualmente as contas de faturamento aos projetos, atribua o papel "Gerente de faturamento" do projeto no nível da organização e o papel "Usuário da conta de faturamento" na conta de faturamento. Você pode automatizar a associação de contas de faturamento durante a criação do projeto atribuindo os papéis de administrador do projeto e de usuário da conta de faturamento a uma conta de serviço. Recomendamos que você restrinja o papel de Criador da conta de faturamento ou remova todas as atribuições desse papel.
  • Para evitar falhas temporárias causadas por mudanças não intencionais no status de faturamento de um projeto, é possível bloquear o vínculo entre o projeto e a conta de faturamento dele. Para mais informações, consulte Proteger o link entre um projeto e a conta de faturamento dele.

Configurar relatórios de faturamento

Configure relatórios de faturamento para fornecer dados sobre as principais métricas que você precisa rastrear. Recomendamos que você acompanhe as seguintes métricas:

  • Tendências de custo
  • Usuários que gastam mais (por projeto e por produto)
  • Áreas de gastos irregulares
  • Veja insights importantes sobre toda a organização:
    • Detecção de anomalias
    • Tendências ao longo do tempo
    • Tendências que ocorrem em um padrão definido (por exemplo, mês a mês)
    • Comparação de custos e análise de comparativo de mercado entre cargas de trabalho internas e externas
    • Rastreamento de casos de negócios e realização de valores (por exemplo, custos de nuvem em comparação com o custo de recursos locais semelhantes)
    • Validação de que as faturas do Google Cloud são esperadas e precisas

Personalize e analise relatórios de custos com o BigQuery Billing Export e visualize dados de custos com o Looker Studio. Avalie a tendência dos custos reais e quanto você pode gastar usando a ferramenta de previsão.

Otimizar o uso e o custo dos recursos

Esta seção indica as práticas recomendadas para ajudar você a otimizar o uso e o custo dos seus recursos nos serviços do Google Cloud.

Para evitar gastos excessivos, considere configurar orçamentos e alertas padrão com limites altos para todos os seus projetos. Para ajudar a manter o orçamento, recomendamos que você faça o seguinte:

  • Configurar orçamentos e alertas para projetos em que os limites de uso absolutos são necessários (por exemplo, projetos de treinamento ou sandbox).

  • Defina orçamentos com base nos orçamentos financeiros que você precisa acompanhar. Por exemplo, se um departamento tem um orçamento geral de nuvem, defina o escopo do orçamento do Google Cloud para incluir os projetos específicos que você precisa rastrear.

  • Para garantir que os orçamentos sejam mantidos, delegue a responsabilidade de configurar orçamentos e alertas às equipes que têm as cargas de trabalho.

Para otimizar custos, também recomendamos o seguinte:

  • Limite o uso da API nos casos em que o impacto for mínimo ou inexistente para os negócios. O limite pode ser útil para projetos de sandbox ou treinamento e para projetos com orçamentos fixos (por exemplo, análise ad-hoc no BigQuery). O recurso não remove todos os recursos e dados dos projetos associados.
  • Use cotas para definir limites absolutos que limitam a implantação de recursos. Elas ajudam você a controlar custos e impedir o uso e o uso indevido de recursos. As cotas são aplicadas no nível do projeto, por tipo de recurso e por local.
  • Veja e implemente as recomendações de otimização de custos no Hub de recomendações.
  • Compre descontos por uso contínuo (CUD, na sigla em inglês) para economizar dinheiro em recursos para cargas de trabalho com necessidades previsíveis de recursos.

Ferramentas e técnicas

As características de provisionamento e pagamento por uso sob demanda da nuvem ajudam você a otimizar seus gastos com TI. Nesta seção, descrevemos ferramentas que o Google Cloud fornece e técnicas que podem ser usadas para rastrear e controlar o custo dos recursos na nuvem. Antes de usar essas ferramentas e técnicas, revise os conceitos básicos do Cloud Billing.

Relatórios de faturamento

O Google Cloud oferece relatórios de faturamento no Console do Google Cloud para ajudar você a visualizar seus gastos atuais e previstos. Com os relatórios de faturamento, você pode ver dados de custo em uma única página, descobrir e analisar tendências, prever o custo do final do período e tomar medidas corretivas quando necessário.

Os relatórios de faturamento oferecem os seguintes dados:

  • Os custos e tendências de custos de um determinado período, organizados da seguinte maneira:
    • Por conta de faturamento
    • Por projeto
    • Por produto (por exemplo, Compute Engine)
    • Por SKU (por exemplo, endereços IP estáticos)
  • Os possíveis custos se descontos ou créditos promocionais forem excluídos
  • Gasto previsto

Exportação de dados para o BigQuery

É possível exportar relatórios de faturamento para o BigQuery e analisar custos com visualizações granulares e históricas de dados, incluindo os dados categorizados com marcadores. É possível realizar análises mais avançadas usando o BigQuery ML. Recomendamos que você ative a exportação de relatórios de faturamento para o BigQuery quando criar a conta do Cloud Billing. O conjunto de dados do BigQuery contém dados de faturamento a partir da data em que você configurou a exportação do Faturamento do Cloud. O conjunto de dados não inclui dados do período anterior à ativação da exportação.

Para visualizar os dados de custo, crie painéis personalizados integrados ao BigQuery (modelos de exemplo: Looker e Looker Studio).

É possível usar tags e rótulos como critérios para filtrar os dados de faturamento exportados. O número de rótulos incluídos na exportação de faturamento é limitado. Até 1.000 mapas de rótulos em um período de uma hora são preservados. Eles não aparecem no arquivo PDF ou CSV da fatura. Anote os recursos usando rótulos que indicam a unidade de negócios, a unidade de estorno interno e outros metadados relevantes.

Controle de acesso ao faturamento

É possível controlar o acesso ao Cloud Billing para recursos específicos definindo políticas de gerenciamento de identidade e acesso (IAM) para os recursos. Para conceder ou limitar o acesso ao Cloud Billing é possível definir uma política do IAM no nível da organização, da conta de faturamento do Cloud e/ou do projeto.

O controle de acesso para faturamento e gerenciamento de recursos segue o princípio da separação de tarefas. Cada usuário tem apenas as permissões necessárias para o papel da empresa. Os papéis de administrador da organização e de faturamento não têm as mesmas permissões.

É possível definir permissões relacionadas ao faturamento nos níveis da conta de faturamento e da organização. Os papéis comuns são "Administrador da conta de faturamento", "Usuário da conta de faturamento" e "Visualizador da conta de faturamento".

Recomendamos que você use o faturamento com fatura ou configure uma forma de pagamento alternativa. Manter as configurações de contato e notificação para faturamento e pagamento.

Orçamentos, alertas e cotas

Com os orçamentos, você rastreia os custos reais do Google Cloud em comparação com os gastos planejados. Ao criar um orçamento, é possível configurar regras de alerta para acionar notificações por e-mail quando o gasto real ou previsto exceder um limite definido Também é possível usar orçamentos para automatizar as respostas de controle de custos.

Os orçamentos podem acionar alertas para informar sobre o uso de recursos e tendências de custo, além de solicitar ações de otimização de custos. No entanto, os orçamentos não impedem o uso ou o faturamento dos serviços quando o custo real atinge ou excede o orçamento ou o limite. Para controlar automaticamente os custos, use as notificações de orçamento para desativar o Cloud Billing de maneira programática em um projeto. Também é possível limitar o uso da API para interromper os custos após um limite de uso definido.

Você pode configurar alertas para contas e projetos de faturamento. Configure pelo menos um orçamento para uma conta.

Para evitar o provisionamento de recursos além de um nível predeterminado ou para limitar o volume de operações específicas, é possível definir cotas no nível do recurso ou da API. Veja exemplos de como usar cotas:

  • Controle o número de chamadas de API por segundo.
  • Limite o número de VMs criadas.
  • Restrinja o volume de dados consultados por dia no BigQuery.

Os proprietários de projetos podem reduzir a quantidade de cota que pode ser cobrada em um limite de cota, usando a API Service Usage para aplicar substituições do consumidor a limites de cota específicos. Para mais informações, consulte Como criar uma modificação de cota do consumidor.

Melhoria na eficiência da carga de trabalho

Recomendamos as seguintes estratégias para ajudar a tornar suas cargas de trabalho eficientes no Google Cloud:

  • Otimize o uso de recursos melhorando a eficiência do produto.
  • Reduza a taxa de cobrança dos recursos.
  • Controlar e limitar o uso e os gastos de recursos.

Ao selecionar técnicas de redução de custos e recursos do Google Cloud, considere o esforço necessário e a economia esperada, como mostrado no gráfico a seguir:

Estratégias de otimização de custos: mapa de economia para economia

Veja a seguir um resumo das técnicas mostradas no gráfico anterior:

  • É possível que as técnicas a seguir gerem uma grande economia com pouco esforço:
    • Descontos por uso contínuo
    • Escalonamento automático
    • Slots do BigQuery
  • As seguintes técnicas podem aumentar muito a economia com um esforço moderado a alto:
    • Spot VMs
    • Como reformular como aplicativos sem servidor ou em contêiner
    • Mudança de plataforma para usar serviços gerenciados
  • As técnicas a seguir potencialmente produzem economias moderadas com esforço moderado:
    • Tipos de máquina personalizados
    • Gerenciamento do ciclo de vida do Cloud Storage
    • Direitos de propriedade
    • Como recuperar recursos inativos

As técnicas explicadas nas seções a seguir podem ajudá-lo a melhorar a eficiência de suas cargas de trabalho.

Refatoração ou rearquitetura

É possível conseguir uma economia significativa de custos ao refatorar ou reestruturar sua carga de trabalho para usar os produtos do Google Cloud. Por exemplo, mudar para serviços sem servidor (como Cloud Storage, App Engine, BigQuery e Cloud Functions) compatível com escalonamento a zero pode ajudar a melhorar a eficiência. Para avaliar e comparar o custo desses produtos, use a calculadora de preços.

Direitos de propriedade

Essa técnica garante que o escalonamento da sua infraestrutura corresponda ao uso pretendido. Essa estratégia é relevante principalmente para soluções de infraestrutura como serviço (IaaS, na sigla em inglês) em que você paga pela infraestrutura subjacente. Por exemplo, você implantou 50 VMs, mas elas não estão totalmente usadas e determina que as cargas de trabalho possam ser executadas de maneira eficaz em menos (ou menores) VMs. Nesse caso, é possível remover ou redimensionar algumas VMs. O Google Cloud oferece recomendações de redimensionamento para ajudar você a detectar oportunidades para economizar dinheiro sem afetar o desempenho ao provisionar VMs menores. O redimensionamento requer menos esforço se realizado durante a fase de design do que a implantação de recursos na produção.

Escalonamento automático

Se os produtos que você usa forem compatíveis com o escalonamento automático dinâmico, pense em projetar as cargas de trabalho para aproveitar os benefícios de custo e desempenho. Por exemplo, para cargas de trabalho com uso intensivo de computação, é possível usar grupos de instâncias gerenciadas no Compute Engine ou colocar os aplicativos em contêineres e implantá-los em um cluster do Google Kubernetes Engine.

Recomendações do Active Assist

O Active Assist usa dados, inteligência e machine learning para reduzir a complexidade da nuvem e o esforço administrativo. O Active Assist facilita a otimização da segurança, do desempenho e dos custos da sua topologia em nuvem. Ele fornece recomendações inteligentes para otimizar seus custos e uso. Você pode aplicar essas recomendações para economizar imediatamente os custos e aumentar a eficiência.

Veja a seguir exemplos de recomendações fornecidas pelo Active Assist:

  • Redimensionamento de recursos do Compute Engine: redimensione as instâncias de VM para otimizar custos e desempenho baseados em uso. Identifique e exclua ou faça backup de VMs inativas e discos permanentes para otimizar o custo de infraestrutura.
  • Desconto por uso contínuo (CUD, na sigla em inglês): o Google Cloud analisa o uso histórico, encontra a quantidade de compromisso ideal para suas cargas de trabalho e fornece recomendações práticas e fáceis de entender para reduzir custos. Para mais informações, consulte Recomendador de desconto por compromisso de uso.
  • Projetos autônomos: descobrir projetos autônomos na sua organização e removê-los ou recuperá-los. Para mais informações, consulte Revisor de projeto autônomo.

Para ver a lista completa, consulte Recomendadores.

A seguir