Compartilhar via


Reduzir as emissões de carbono no Azure

A otimização de carbono no Azure funciona com o Assistente do Azure para fornecer recomendações de otimização. O Assistente do Azure identifica recursos em estado ocioso e subutilizados e mostra as economias de carbono e de custos associadas à implementação das recomendações. As recomendações podem incluir o desligamento de máquinas virtuais ociosas e o ajuste adequado das máquinas virtuais. Para obter mais recomendações e informações sobre o Assistente do Azure, consulte Reduzir custos de serviço usando o Assistente do Azure.

Para exibir as recomendações de otimização de carbono, navegue até a página Redução de Emissões e selecione a assinatura e os grupos de recursos desejados.

Esta página mostra o número total de recomendações disponíveis e possíveis oportunidades de salvamento em termos de custo e carbono. Também mostra equivalentes de economia de carbono, conforme calculado pela calculadora de equivalentes de gases de efeito estufa da EPA dos Estados Unidos.

Exibir recomendações

A lista de recomendações na tabela mostra recursos ineficientes utilizados que podem ajudar a reduzir as emissões de carbono. Cada recomendação mostra a economia de carbono associada e as economias de custos potenciais que podem vir da atuação em uma recomendação.

Agir sobre a recomendação

Para agir sobre a recomendação, selecione o nome do recurso ou o texto na coluna Recomendação. Selecionar o texto da recomendação leva você para a página de ação do recurso. Por exemplo, a página de redimensionamento, a página de alteração de contagem de instâncias ou a página de visão geral do recurso para recomendações de exclusão.

Uma captura de tela mostrando a página de redução de emissões.

Converter economias de emissões em equivalentes

A calculadora de Equivalências de Gases de Efeito Estufa permite converter dados de emissões na quantidade equivalente de dióxido de carbono (CO2) emitida usando essa quantidade. A calculadora ajuda você a traduzir medidas abstratas em termos concretos que você pode entender, como as emissões anuais de árvores, residências ou sacos de lixo. Essa calculadora pode ser útil para comunicar sua estratégia de redução de gases de efeito estufa, metas de redução ou outras iniciativas destinadas a reduzir as emissões de gases de efeito estufa.

Para saber mais sobre os tipos de recomendações, consulte Reduzir custos de serviço usando o Assistente do Azure.

Exportar recomendações de redução de emissões

Você pode exportar recomendações de redução de emissões usando o Azure Resource Graph. Execute a consulta a seguir no Azure Resource Graph Explorer. Posteriormente, você pode baixar os resultados como CSV.

A exportação inclui:

  • ID de recomendação
  • ID da assinatura/nome da assinatura
  • Nome do grupo de recursos
  • Economia mensal de custos
  • Economia mensal de carbono em quilogramas
  • Nome do recurso
  • Mensagem de recomendação
  • Tipo de recomendação
  • Detalhes sobre a recomendação, incluindo os metadados de recurso, como ID do recurso e nome da função
// Export emissions reduction recommendations using Azure Resource Graph

advisorresources
  | where tolower(type) == "microsoft.advisor/recommendations"
  | extend RecommendationTypeId = tostring(properties.recommendationTypeId)
  | where RecommendationTypeId in ("94aea435-ef39-493f-a547-8408092c22a7", "e10b1381-5f0a-47ff-8c7b-37bd13d7c974")
  | project stableId=name, subscriptionId, resourceGroup, properties, recommendationId=id
  | join kind=leftouter(
      advisorresources
      | where tolower(type) == 'microsoft.advisor/suppressions'
      | extend tokens = split(id, '/')
      | extend stableId = iff(array_length(tokens) > 3, tokens[(array_length(tokens)-3)], '')
      | extend expirationTimeStamp = todatetime(iff(strcmp(tostring(properties.ttl), '-1') == 0, '9999-12-31', properties.expirationTimeStamp))
      | where expirationTimeStamp > now()
      | project suppressionId = tostring(properties.suppressionId), stableId, expirationTimeStamp
  ) on stableId
  | join kind = leftouter (
      advisorresources
      | where tolower(type) == 'microsoft.advisor/configurations'
      | where isempty(resourceGroup) == true
      | project subscriptionId, excludeRecomm = properties.exclude, lowCpuThreshold = properties.lowCpuThreshold
  ) on subscriptionId
  | extend isActive = iff(isempty(excludeRecomm), true, tobool(excludeRecomm) == false)
  | extend isNotExcludedViaCpuThreshold = iff((isnotempty(lowCpuThreshold) and isnotnull(properties.extendedProperties) and isnotempty(properties.extendedProperties.MaxCpuP95)),
      todouble(properties.extendedProperties.MaxCpuP95) < todouble(lowCpuThreshold),
      iff((isnull(properties.extendedProperties) or isempty(properties.extendedProperties.MaxCpuP95) or todouble(properties.extendedProperties.MaxCpuP95) < 100),
          true,
          false))
  | where isActive == true and isNotExcludedViaCpuThreshold == true
  | join kind = leftouter (
      advisorresources
      | where type =~ 'microsoft.advisor/configurations'
      | where isnotempty(resourceGroup) == true
      | project subscriptionId, resourceGroup, excludeProperty = properties.exclude
  ) on subscriptionId, resourceGroup
  | extend shouldBeIncluded = iff(isempty(excludeProperty), true, tobool(excludeProperty) == false)
  | where shouldBeIncluded == true
  | summarize expirationTimeStamp = max(expirationTimeStamp), suppressionIds = make_list(suppressionId) by recommendationId, stableId, subscriptionId, resourceGroup, tostring(properties)
  | extend isRecommendationActive = (isnull(expirationTimeStamp) or isempty(expirationTimeStamp))
  | extend properties = parse_json(properties)
  | extend monthlyCostSavings = toreal(properties.extendedProperties.savingsAmount)
  | extend monthlyCarbonSavingsKg = toreal(properties.extendedProperties.PotentialMonthlyCarbonSavings)
  | where monthlyCarbonSavingsKg > 0
  | extend resourceId = properties.resourceMetadata.resourceId, resourceName = tostring(properties.extendedProperties.roleName), recommendationMessage = properties.extendedProperties.recommendationMessage, recommendationType=tostring(properties.extendedProperties.recommendationType)
  | project recommendationId, subscriptionId, resourceGroup, suppressionIds, isRecommendationActive, monthlyCostSavings, monthlyCarbonSavingsKg, resourceId, resourceName, recommendationMessage, recommendationType| where isRecommendationActive == true| order by monthlyCarbonSavingsKg desc

Próximas etapas