Najlepsze rozwiązania dotyczące metodyki FinOps dla usługi Storage

W tym artykule opisano kolekcję sprawdzonych rozwiązań FinOps dotyczących usług magazynowania. Udostępnia strategie optymalizacji kosztów, poprawy wydajności i używania zapytań usługi Azure Resource Graph (ARG) w celu uzyskania wglądu w zasoby magazynu. Postępując zgodnie z tymi rozwiązaniami, możesz upewnić się, że usługi magazynowania są opłacalne i dostosowane do celów finansowych organizacji.


Backup

W poniższych sekcjach przedstawiono zapytania ARG dotyczące usług kopii zapasowych. Te zapytania ułatwiają uzyskanie wglądu w zasoby kopii zapasowej i upewnienie się, że zostały skonfigurowane przy użyciu odpowiednich ustawień. Analizując elementy kopii zapasowej i identyfikując bezczynne kopie zapasowe, można zoptymalizować usługi tworzenia kopii zapasowych pod kątem wydajności kosztów.

Zapytanie: bezczynne kopie zapasowe

To zapytanie usługi ARG analizuje elementy kopii zapasowej w ramach magazynów usługi Azure Recovery Services i identyfikuje wszystkie, których kopia zapasowa nie została utworzona przez ponad 90 dni.

Kategoria

Optymalizacja

Zapytanie

recoveryservicesresources
| where type =~ 'microsoft.recoveryservices/vaults/backupfabrics/protectioncontainers/protecteditems'
| extend vaultId = tostring(properties.vaultId)
| extend resourceId = tostring(properties.sourceResourceId)
| extend idleBackup= datetime_diff('day', now(), todatetime(properties.lastBackupTime)) > 90
| extend  resourceType=tostring(properties.workloadType)
| extend protectionState=tostring(properties.protectionState)
| extend lastBackupTime=tostring(properties.lastBackupTime)
| extend resourceGroup=strcat('/subscriptions/',subscriptionId,'/resourceGroups/',resourceGroup)
| extend lastBackupDate=todatetime(properties.lastBackupTime)
| where idleBackup != 0
| project resourceId,vaultId,idleBackup,lastBackupDate,resourceType,protectionState,lastBackupTime,location,resourceGroup,subscriptionId

Zapytanie: Lista skarbców usługi Recovery Services

To zapytanie usługi Azure Resource Graph (ARG) pobiera szczegóły skrytek usługi Azure Recovery Services. Zapytanie zawiera również informacje dotyczące warstwy jednostki SKU, ustawień nadmiarowości i innych odpowiednich metadanych.

Kategoria

Optymalizacja

Zapytanie

resources
| where type == 'microsoft.recoveryservices/vaults'
| where resourceGroup in ({ResourceGroup})
| extend skuTier = tostring(sku['tier'])
| extend skuName = tostring(sku['name'])
| extend resourceGroup = strcat('/subscriptions/', subscriptionId, '/resourceGroups/', resourceGroup)
| extend redundancySettings = tostring(properties.redundancySettings['standardTierStorageRedundancy'])
| order by id asc
| project id, redundancySettings, resourceGroup, location, subscriptionId, skuTier, skuName

Dyski

Dyski zarządzane platformy Azure to woluminy magazynu blokowego zarządzane przez platformę Azure i używane z maszynami wirtualnymi. Dyski zarządzane zapewniają wysoką dostępność, skalowalność i zabezpieczenia obciążeń maszyn wirtualnych.

Powiązane zasoby:

Usuwanie niedołączanych dysków

Zalecenie: Usuń lub zmień na niższy poziom niepodłączone dyski zarządzane, aby uniknąć niepotrzebnych kosztów magazynowania danych.

Informacje o niedołączanych dyskach

Po usunięciu maszyny wirtualnej skojarzone z nią dyski zarządzane mogą nie zostać automatycznie usunięte. Te nieprzyłączone (oddzielone) dyski nadal generują koszty magazynowania na podstawie ich typu i rozmiaru dysku. Zapytanie wyklucza dyski, które są w aktywnym trybie transferu SAS lub są dyskami repliki albo dyskami inicjującymi usługi Azure Site Recovery, ponieważ oczekuje się, że będą tymczasowo niepodłączone.

Note

Koncentratory FinOps mogą automatycznie identyfikować nieprzyłączone dyski. Dowiedz się więcej.

Identyfikowanie niedołączanych dysków

Użyj następującego zapytania ARG, aby zidentyfikować nieprzyłączone dyski zarządzane.

resources
| where type =~ 'microsoft.compute/disks' and managedBy == ""
| extend diskState = tostring(properties.diskState)
| where managedBy == ""
    and diskState != 'ActiveSAS'
    and tags !contains 'ASR-ReplicaDisk'
    and tags !contains 'asrseeddisk'
| extend DiskId=id, DiskIDfull=id, DiskName=name, SKUName=sku.name, SKUTier=sku.tier, DiskSizeGB=tostring(properties.diskSizeGB), Location=location, TimeCreated=tostring(properties.timeCreated), SubId=subscriptionId
| order by DiskId asc
| project DiskId, DiskIDfull, DiskName, DiskSizeGB, SKUName, SKUTier, resourceGroup, Location, TimeCreated, subscriptionId

Zapytanie: migawka dysku starsza niż 30 dni

To zapytanie ARG identyfikuje migawki dysku, które są starsze niż 30 dni.

Kategoria

Optymalizacja

Zapytanie

resources
| where type == 'microsoft.compute/snapshots'
| extend TimeCreated = properties.timeCreated
| extend resourceGroup = strcat("/subscriptions/",subscriptionId,"/resourceGroups/",resourceGroup)
| where TimeCreated < ago(30d)
| order by id asc 
| project id, resourceGroup, location, TimeCreated, subscriptionId

Obniżanie poziomu migawek w warstwie Premium

Zalecenie: Używaj magazynu w warstwie Standard dla migawek dysków zarządzanych zamiast warstwy Premium, aby zmniejszyć koszty przechowywania.

Informacje o migawkach w warstwie Premium

Migawki dysków zarządzanych przechowywane w magazynie Premium wiążą się z wyższymi kosztami niż w magazynie Standard. W większości przypadków migawki nie wymagają wydajności magazynu Premium, ponieważ są używane do tworzenia kopii zapasowych i odtwarzania, a nie do aktywnych operacji wejścia/wyjścia. Obniżenie poziomu do magazynu w warstwie Standardowa może znacznie obniżyć koszty migawek bez wpływu na ich funkcjonalność.

Note

Centra FinOps mogą automatycznie identyfikować migawki przy użyciu usługi Premium Storage. Dowiedz się więcej.

Identyfikowanie migawek w warstwie Premium

Użyj następującego zapytania usługi ARG, aby zidentyfikować migawki dysku zarządzanego przy użyciu magazynu w warstwie Premium.

resources
| where type == 'microsoft.compute/snapshots'
| extend
    StorageSku = tostring(sku.tier),
    resourceGroup = strcat('/subscriptions/',subscriptionId,'/resourceGroups/',resourceGroup),
    diskSize = tostring(properties.diskSizeGB)
| where StorageSku == "Premium"
| project id, name, StorageSku, diskSize, location, resourceGroup, subscriptionId

Konta magazynu

Konta usługi Azure Storage zapewniają unikalną przestrzeń nazw na platformie Azure dla Twoich danych. Konta magazynowe ewoluowały na przestrzeni kilku generacji, a korzystanie ze starszych typów kont może ograniczać dostęp do nowszych funkcji i optymalizacji.

Powiązane zasoby:

Uaktualnij starsze konta magazynu

Zalecenie: Uaktualnij konta magazynowe typu GPv1 lub BlobStorage do typu GPv2, aby uzyskać korzystniejsze warstwy cenowe, więcej funkcji i dalszą obsługę.

Informacje o starszych kontach magazynu

Konta magazynu typu GPv1 lub BlobStorage nie obsługują najnowszych funkcji usługi Azure Storage, takich jak warstwy dostępu dla obiektów blob blokowych, zasady zarządzania cyklem życia i zasady niezmienności. Konta magazynu GPv2 zapewniają te same funkcje i dodatkowe możliwości w konkurencyjnych lub niższych cenach. Microsoft zaleca uaktualnienie wszystkich kont GPv1 i BlobStorage do konta GPv2.

Note

Centra FinOps mogą automatycznie identyfikować starsze konta magazynu. Dowiedz się więcej.

Zidentyfikuj starsze konta magazynu

Użyj następującego zapytania ARG, aby zidentyfikować konta magazynowe, które nadal używają typu GPv1 lub BlobStorage.

resources
| where type =~ 'Microsoft.Storage/StorageAccounts'
    and kind !='StorageV2'
    and kind !='FileStorage'
| extend
    StorageAccountName = name,
    SAKind = kind,
    AccessTier = tostring(properties.accessTier),
    SKUName = sku.name,
    SKUTier = sku.tier,
    Location = location
| order by id asc
| project
    id,
    StorageAccountName,
    SKUName,
    SKUTier,
    SAKind,
    AccessTier,
    resourceGroup,
    Location,
    subscriptionId

Prześlij opinię

Daj nam znać, jak nam idzie, zostawiając krótką opinię. Te recenzje służą do ulepszania i rozszerzania narzędzi i zasobów FinOps.

Jeśli szukasz czegoś konkretnego, zagłosuj na istniejący lub utwórz nowy pomysł. Podziel się pomysłami z innymi osobami, aby uzyskać więcej głosów. Skupiamy się na pomysłach z największą większością głosów.


Powiązane zasoby:

Powiązane rozwiązania: