Udostępnij przez


Zmniejszanie emisji dwutlenku węgla na platformie Azure

Optymalizacja emisji dwutlenku węgla na platformie Azure współpracuje z usługą Azure Advisor, aby zapewnić zalecenia dotyczące optymalizacji. Usługa Azure Advisor identyfikuje bezczynne i niedostatecznie wykorzystywane zasoby oraz pokazuje skojarzone oszczędności emisji dwutlenku węgla i kosztów implementacji zaleceń. Zalecenia mogą obejmować zamykanie bezczynnych maszyn wirtualnych i uprawnienia maszyn wirtualnych. Aby uzyskać więcej zaleceń i informacji na temat usługi Azure Advisor, zobacz Obniżanie kosztów usług przy użyciu usługi Azure Advisor.

Aby wyświetlić zalecenia dotyczące optymalizacji emisji dwutlenku węgla, przejdź na stronę Redukcja emisji i wybierz odpowiednią subskrypcję oraz grupy zasobów.

Na tej stronie przedstawiono łączną liczbę dostępnych zaleceń i potencjalne możliwości oszczędzania pod względem kosztów i emisji dwutlenku węgla. Pokazuje również odpowiedniki oszczędności emisji dwutlenku węgla obliczone przez kalkulator United States EPA Greenhouse Gas Odpowiedniki.

Wyświetlanie zaleceń

Lista zaleceń w tabeli przedstawia nieefektywne wykorzystane zasoby, które mogą pomóc w obniżeniu emisji dwutlenku węgla. Każde zalecenie pokazuje skojarzone oszczędności emisji dwutlenku węgla i potencjalne oszczędności kosztów, które mogą pochodzić z działania zgodnie z zaleceniem.

Postępuj zgodnie z zaleceniem

Aby podjąć działania zgodnie z zaleceniem, wybierz nazwę zasobu lub tekst w kolumnie Zalecenie. Wybranie tekstu zalecenia powoduje przejście do strony akcji zasobu. Na przykład strona zmiany rozmiaru, strona zmiany liczby wystąpień lub strona przeglądu zasobu w celu uzyskania zaleceń dotyczących usuwania.

Zrzut ekranu przedstawiający stronę redukcji emisji.

Konwertowanie oszczędności emisji na odpowiedniki

Kalkulator równoważności gazów cieplarnianych umożliwia konwersję danych emisji na równoważną ilość dwutlenku węgla (CO2) emitowaną przy użyciu tej ilości. Kalkulator ułatwia tłumaczenie abstrakcyjnych pomiarów na konkretne terminy, takie jak roczne emisje z drzew, gospodarstw domowych lub worków na śmieci. Ten kalkulator może być przydatny w komunikowaniu strategii redukcji gazów cieplarnianych, celów redukcji lub innych inicjatyw mających na celu zmniejszenie emisji gazów cieplarnianych.

Aby dowiedzieć się więcej o typach zaleceń, zobacz Obniżanie kosztów usług przy użyciu usługi Azure Advisor.

Zalecenia dotyczące redukcji emisji wywozu

Zalecenia dotyczące redukcji emisji można wyeksportować przy użyciu usługi Azure Resource Graph. Uruchom następujące zapytanie w Eksploratorze usługi Azure Resource Graph. Następnie możesz pobrać wyniki jako plik CSV.

Eksport obejmuje:

  • Identyfikator rekomendacji
  • Identyfikator subskrypcji/nazwa subskrypcji
  • Nazwa grupy zasobów
  • Miesięczne oszczędności kosztów
  • Miesięczne oszczędności emisji dwutlenku węgla w kilogramach
  • Nazwa zasobu
  • Komunikat z zaleceniem
  • Typ zalecenia
  • Szczegółowe informacje o rekomendacji, w tym metadane zasobów, takie jak identyfikator zasobu i nazwa roli
// 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

Następne kroki