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 as 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).
  • Limitar 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

Para definir tópicos do Pub/Sub e vinculá-los a um orçamento do Cloud Billing, você precisa dos seguintes papéis:

  • Para criar ou modificar um orçamento para sua conta de faturamento do Cloud, você precisa do papel Administrador da conta de faturamento na conta de faturamento do Cloud.
  • Para definir ou modificar tópicos do Pub/Sub, você precisa do papel Editor do Pub/Sub no projeto de destino que contém os tópicos do Pub/Sub.

    Especificamente, você precisa ter as seguintes permissões:

    Para editar um orçamento existente do orçamento do Cloud Billing para conectá-lo a um tópico existente do Pub/Sub, é necessário estas permissões específicas:

Se você tiver definido políticas da organização para limitar o compartilhamento de recursos por domínio, será possível encontrar um erro ao tentar configurar os tópicos do Pub/Sub ou conecte-os 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. Especificamente, 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).

Para mais informações sobre as permissões 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 do Pub/Sub no Console do Google Cloud.

    Fazer login no Pub/Sub do Console do Cloud

  2. Selecione um projeto.

  3. Clique em Criar tópico.

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

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. Faça login no Console do Google Cloud

    Fazer login no Console do Cloud

  2. Abra o menu de navegação () do console e selecione Faturamento.

    Se você tiver mais de uma Conta de faturamento do Cloud, siga um destes procedimentos:

    • Para gerenciar o Faturamento do Cloud do projeto atual, selecione Ir para a conta de faturamento vinculada.
    • Para localizar outra conta de faturamento do Cloud, selecione Gerenciar contas de faturamento e escolha aquela em que você quer gerenciar um orçamento
  3. No menu de navegação de faturamento, selecione Orçamentos e alertas.

  4. Se necessário, crie um orçamento. Se preferir, clique no nome de um orçamento para editá-lo. É possível também editar as regras de alerta dele.

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

  6. 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 administração de faturamento.

  7. Em Selecionar um tópico do Pub/Sub, escolha um tópico atual ou selecione 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 CREATE TOPIC.
    • Depois de criado, o tópico será selecionado.
  8. Clique em Save.

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.

Dados

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:

Data 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 um 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. Veja a seguir os valores possíveis:
  • "SPECIFIED_AMOUNT": um valor fixo
  • "LAST_MONTH_COST": os custos totais gerados durante o último mês.
  • "LAST_PERIODS_COST": os custos gerados durante o último período, 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 quando o custo não excede 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 estará 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 houver falha na entrega devido a um erro de configuração do tópico do Pub/Sub, você não receberá uma notificação.

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

    • O tópico do Pub/Sub não existe mais.
    • O Cloud Billing não tem mais permissão para publicar no tópico Pub/Sub.
    • Você excedeu sua cota de notificações.