Compartir a través de


Reducción de las emisiones de carbono en Azure

La optimización de carbono en Azure funciona con Azure Advisor para proporcionar recomendaciones de optimización. Azure Advisor identifica los recursos inactivos y infrautilizados y muestra el ahorro de carbono y costo asociado de la implementación de las recomendaciones. Las recomendaciones pueden incluir el apagado de las máquinas virtuales inactivas y la asignación de derechos a las máquinas virtuales. Para más recomendaciones e información sobre Azure Advisor, consulte Reducción de los costos de servicio mediante Azure Advisor.

Para ver las recomendaciones de optimización de carbono, vaya a la página de reducción de emisiones y seleccione la suscripción y los grupos de recursos deseados.

En esta página se muestra el número total de recomendaciones disponibles y posibles oportunidades de ahorro en términos de costo y carbono. También muestra el ahorro de carbono equivalente calculados por la calculadora de equivalencias de gases de efecto invernadero de la EPA de Estados Unidos.

Ver recomendaciones

La lista de recomendaciones de la tabla muestra recursos utilizados ineficazmente que pueden ayudar a reducir las emisiones de carbono. Cada recomendación muestra el ahorro de carbono asociado y posibles ahorros de costos que pueden provenir de actuar sobre una recomendación.

Actuar sobre la recomendación

Para actuar sobre la recomendación, seleccione el nombre del recurso o el texto de la columna Recomendación. Al seleccionar el texto de la recomendación, se le lleva a la página de acción del recurso. Por ejemplo, la página de redimensionamiento, la página de cambio de cantidad de instancias o la página de resumen del recurso relacionada con las recomendaciones de eliminación.

Una captura de pantalla que muestra la página de reducción de emisiones.

Convertir el ahorro de emisiones en equivalentes

La calculadora de equivalencias de gases de efecto invernadero permite convertir los datos de emisiones en la cantidad equivalente de dióxido de carbono (CO2) que sería emitida con esa cantidad. La calculadora le ayuda a traducir medidas abstractas en términos concretos que puede comprender, como las emisiones anuales de árboles, hogares o bolsas de basura. Esta calculadora puede ser útil para comunicar su estrategia de reducción de gases de efecto invernadero, objetivos de reducción u otras iniciativas destinadas a reducir las emisiones de gases de efecto invernadero.

Para más información sobre los tipos de recomendaciones, consulte Reducción de los costos de servicio mediante Azure Advisor.

Recomendaciones para la reducción de emisiones de exportación

Puede exportar recomendaciones de reducción de emisiones mediante Azure Resource Graph. Ejecute la consulta siguiente en el Explorador de Azure Resource Graph. Después, puede descargar los resultados como CSV.

La exportación incluye:

  • Id. de recomendación
  • Id. de suscripción/Nombre de la suscripción
  • Nombre del grupo de recursos
  • Ahorro mensual de costos
  • Ahorro mensual de carbono en kilos
  • Nombre del recurso
  • Mensaje de recomendación
  • Tipo de recomendación
  • Detalles sobre la recomendación, incluidos los metadatos del recurso, como el identificador de recurso y el nombre del rol
// 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

Pasos siguientes