Gerenciar notificações de alerta de orçamento programático

Visão geral

O comportamento típico de um orçamento é enviar e-mails de alerta quando as regras de limite de alerta de orçamento acionam uma notificação por e-mail.

Diagrama das notificações de alerta de orçamento
Figura 1: ilustra a funcionalidade padrão de e-mail para notificações de alerta de orçamento e o método opcional para automatizar as respostas de controle de custos usando o Pub/Sub para notificações programáticas.

No entanto, se você estiver usando orçamentos como uma ferramenta de controle de custos, as notificações por e-mail podem não ser o melhor método de notificação a ser usado para garantir a ação imediata de controle dos custos do Google Cloud. Além das notificações por e-mail, use notificações programáticas para automatizar as respostas de controle de custos. Exemplos de respostas de controle de custos incluem:

  • limitar seus gastos com o Google Cloud desativando automaticamente o faturamento ou encerrando recursos.
  • Encaminhar suas mensagens de orçamento para outras mídias (como o Slack).
  • Controlar o uso de recursos ajustando as cotas.

Para mais informações, consulte Exemplos de respostas automatizadas de controle de custos.

Permissões exigidas para a tarefa

Se você estiver gerenciando orçamentos no nível da Conta de faturamento do Cloud ou for um proprietário de projeto sem nenhum papel na Conta de faturamento do Cloud, precisará de um conjunto diferente de permissões, descritas a seguir: seções.

Se você estiver monitorando custos no nível da conta de faturamento

Se você estiver monitorando principalmente os custos da conta de faturamento do Cloud, precisará de permissões no nível da conta.

Se você tiver acesso limitado ou nenhum acesso à Conta de faturamento do Cloud, poderá ter permissões para projetos de sua propriedade.

Se a organização usa papéis personalizados para autenticação, você precisa destas permissões específicas:

Para que papéis personalizados modifiquem um orçamento existente do Cloud Billing para conectá-lo a um tópico existente do Pub/Sub, você precisa destas permissões específicas:

Se você estiver monitorando custos no nível do projeto

Se você tiver acesso limitado ou nenhum acesso a uma conta de faturamento do Cloud, poderá gerenciar orçamentos com escopo apenas nos projetos de sua propriedade.

Se a organização usa papéis personalizados para autenticação, você precisa destas permissões específicas:

Se você definir as políticas da organização para limitar o compartilhamento de recursos por domínio, por exemplo, ativando enforceInTransit nos tópicos do Pub/Sub, poderá encontrar um erro ao tentar configurar os tópicos do Pub/Sub ou conectá-los a um orçamento do Cloud Billing.

Nesse caso, talvez você precise forçar o acesso à conta para conectar um tópico do Pub/Sub a um orçamento. Para forçar o acesso à conta, faça o seguinte:

  1. Remova a política da organização que contém a restrição de domínio usando um dos seguintes métodos:

  2. Siga as etapas para conectar um tópico do Pub/Sub a um orçamento do Cloud Billing.

  3. Ative novamente a política da organização para a organização ou o projeto (opcional).

Sobre as permissões do Google Cloud

Para mais informações sobre as permissões do Faturamento do Cloud, consulte:

Para mais informações sobre as permissões de projeto do Google Cloud, consulte:

Como configurar e ativar notificações programáticas do Pub/Sub

Para permitir que notificações programáticas recebam mensagens do Pub/Sub com o status atual do seu orçamento, conecte um tópico do Pub/Sub ao seu orçamento do Cloud Billing.

Para conectar, editar ou remover um tópico do Pub/Sub vinculado ao seu orçamento, faça o seguinte:

1. Criar um tópico do Pub/Sub

Configure um tópico do Pub/Sub para o Faturamento do Cloud publicar seus alertas de orçamento. Se você já tiver configurado um tópico do Pub/Sub para orçamentos do Cloud Billing, poderá reutilizá-lo para todos os orçamentos ou criar um tópico exclusivo por orçamento.

  1. Acesse a página Pub/Sub no console do Google Cloud.

    Faça login no Pub/Sub do Console do Google Cloud

  2. Selecione um projeto.

    Recomendamos que você crie e use um projeto do Google Cloud separado para conter todas as suas necessidades de FinOps e administração de faturamento de uma conta do Cloud Billing, incluindo os tópicos do Pub/Sub relacionados ao Cloud Billing. Saiba mais sobre os benefícios de usar um projeto focado em FinOps para seus casos de uso de administração de faturamento.

  3. Clique em Criar tópico.

  4. No campo ID do Tópico forneça um nome para o tópico e clique em Criar tópico.

2. Conectar um orçamento do Cloud Billing a um tópico do Pub/Sub

Para conectar um orçamento do Cloud Billing a um tópico do Pub/Sub, faça o seguinte:

  1. Usando o procedimento adequado ao seu nível de acesso às contas do Cloud Billing, faça login na página Orçamentos e alertas na seção "Faturamento" do Console do Google Cloud:

    Usuários com permissões na conta do Cloud Billing Apenas usuários com permissões no nível do projeto (Prévia)

    Se você tiver permissões da conta do Cloud Billing, selecione uma opção na lista de contas de faturamento que você tem permissão para acessar.

    1. Faça login na página Orçamentos e alertas no Console do Google Cloud.

      Abrir orçamentos e alertas
    2. No prompt, escolha a conta do Cloud Billing em que você quer gerenciar os orçamentos.

      A página Orçamentos e alertas é aberta para a conta de faturamento selecionada.

    Se você tiver apenas permissões de projeto, mas não tiver permissões na conta do Cloud Billing do seu projeto, selecione seu projeto antes de acessar a seção "Faturamento".

    1. Faça login no painel do console do Google Cloud e selecione um projeto.

      Abrir o console do Google Cloud
    2. Selecione o projeto em que você quer gerenciar os orçamentos.
    3. Em seguida, navegue até o Billing: abra o menu de navegação do console do Google Cloud () e selecione Faturamento.

      Se for solicitado que você escolha a conta de faturamento que quer visualizar e gerenciar, clique em Ir para a conta de faturamento vinculada para conferir a conta de faturamento vinculada ao projeto selecionado.

      A página Visão geral do faturamento é aberta para a conta de faturamento selecionada.

    4. Na seção Gerenciamento de custos do menu de navegação Faturamento, selecione Orçamentos e alertas.
  2. Se necessário, crie um orçamento. Se preferir, clique no nome de um orçamento para editá-lo.

  3. Na seção Ações, em Gerenciar notificações, selecione Conectar um tópico do Pub/Sub a este orçamento.

  4. No campo Projeto, clique em Selecionar um projeto e escolha o projeto que contém os tópicos do Pub/Sub que você configurou. Se você seguiu a recomendação na seção anterior, esse é seu projeto do Google Cloud de FinOps ou administração de faturamento.

  5. Em Selecionar um tópico do Pub/Sub, escolha um tópico existente ou crie um novo selecionando Criar um tópico.

    • Se você estiver criando um novo tópico, no campo ID do tópico, forneça um nome de tópico e clique em Criar tópico.
    • Depois de criado, o tópico será selecionado.
  6. Clique em Salvar.

Formato da notificação

As notificações enviadas ao tópico do Pub/Sub são compostas de duas partes:

  • Atributos: um conjunto de pares de chave-valor com a descrição do evento.
  • Dados: uma string que contém um objeto JSON com a descrição dos detalhes do alerta de orçamento.

Atributos

Os atributos são pares de chave-valor incluídos em todas as notificações enviadas pelo Faturamento do Cloud para seu tópico do Pub/Sub. As notificações sempre contêm o seguinte conjunto de pares de chave-valor, independentemente da carga útil.

Nome do atributo Exemplo Descrição
billingAccountId 01D4EE-079462-DFD6EC O identificador da Conta de faturamento do Cloud que detém o orçamento.
budgetId de72f49d-779b-4945-a127-4d6ce8def0bb O identificador do alerta de orçamento na Conta de faturamento do Cloud.
schemaVersion 1.0 A versão do esquema de notificações.

Data

Para a versão do esquema 1.x, os detalhes do alerta de orçamento são retornados em uma string UTF-8 codificada em base64, que contém um objeto JSON com as seguintes propriedades:

Dados Exemplo Descrição
budgetDisplayName "My Personal Budget" O nome legível atribuído ao orçamento.
costAmount 140.321 O valor acumulado dos custos. O tipo de custo monitorado depende dos filtros e das configurações do orçamento.
costIntervalStart "2021-02-01T08:00:00Z" O início do período de alerta do orçamento. `costAmount` inclui os custos de uso a partir dessa data. Esse é o primeiro dia do período do orçamento (mês, trimestre, ano ou período personalizado) em que o uso do orçamento ocorreu.
budgetAmount 152.557 O valor alocado no orçamento.
budgetAmountType "SPECIFIED_AMOUNT" O tipo de valor do orçamento. Pode ser um dos seguintes valores:
  • "SPECIFIED_AMOUNT": um valor fixo.
  • "LAST_MONTH_COST": total de custos incorridos durante o último mês.
  • "LAST_PERIODS_COST": os custos incorridos durante o último período de calendário não mensal, como um trimestre ou um ano.
alertThresholdExceeded 0.9 O limite máximo de alertas de custo real configurado foi excedido. O valor está em formato decimal (por exemplo, 0,9 é 90%). Essa chave não está presente se o custo real não exceder um limite.
forecastThresholdExceeded 0.2 O alerta de limite máximo de custo previsto foi excedido. O valor é uma porcentagem em formato decimal (por exemplo, 0,2 é 20%). Essa chave não está presente se o custo previsto não exceder nenhum limite.
currencyCode "USD" A moeda do alerta de orçamento. Todos os custos e valores orçamentários do alerta estão nessa moeda.

Garantias de entrega de notificações ao Pub/Sub

Depois de criar um orçamento e conectá-lo a um tópico do Pub/Sub, é possível receber notificações programáticas, conforme descrito aqui:

  • As notificações de orçamento são enviadas ao tópico do Pub/Sub várias vezes por dia com o status atual do seu orçamento. Trata-se de uma frequência diferente dos e-mails de alerta de orçamento, que são enviados somente quando um limite de orçamento é atingido.
  • As notificações de Pub/Sub são enviadas mesmo que a conta de faturamento do Cloud não tenha nenhum uso.
  • Pode levar várias horas para receber a primeira notificação do Pub/Sub.
  • O Pub/Sub somente garante a entrega pelo menos uma vez. É possível receber uma mensagem várias vezes, e as mensagens podem chegar fora de ordem.
  • Se a entrega falhar devido a um erro de configuração do tópico do Pub/Sub, você não vai receber uma notificação.

    Pode haver uma falha na entrega por um dos seguintes motivos: