記憶體的 FinOps 最佳做法

本文概述已實證的 FinOps 作法集合,適用於記憶體服務。 其提供將成本優化、提高效率,以及使用 Azure Resource Graph (ARG) 查詢以深入瞭解記憶體資源的策略。 遵循這些做法,您可以確定您的記憶體服務符合成本效益,並符合貴組織的財務目標。


備份

下列各節提供備份服務的 ARG 查詢。 這些查詢可協助您深入瞭解備份資源,並確保它們已使用適當的設定進行設定。 藉由分析備份專案和識別閑置備份,您可以將備份服務優化,以達到成本效益。

查詢:閑置備份

此 ARG 查詢會分析 Azure 復原服務保存庫中的備份專案,並識別未備份超過 90 天的任何備份專案。

類別

最佳化

查詢

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

檢索:列出復原服務保存庫 (Recovery Services Vaults)

此 Azure Resource Graph (ARG) 查詢會擷取 Azure 復原服務保存庫的詳細數據。 此查詢也包含 SKU 層、備援設定和其他相關元數據的相關信息。

類別

最佳化

查詢

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

磁碟

Azure 管理磁碟是由 Azure 管理並搭配虛擬機使用的區塊層級儲存磁碟區。 管理磁碟為您的虛擬機工作負載提供高可用性、可擴展性與安全性。

相關資源:

移除未連接的磁碟

建議:移除或降級未連接的管理磁碟,以避免不必要的儲存成本。

關於未連接磁碟

當虛擬機被刪除時,其相關的管理磁碟可能不會自動被刪除。 這些未連接(孤立)磁碟會根據磁碟類型和大小持續產生儲存成本。 查詢排除處於主動 SAS 傳輸模式或 Azure Site Recovery 複本或種子磁碟的磁碟,因為這些磁碟預期會暫時脫離連接。

Note

FinOps 集線 器能自動識別未連接磁碟。 了解更多

識別未連結的磁碟

請使用以下 ARG 查詢來識別未掛接的管理磁碟。

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

查詢:磁碟快照副本超過30天

此 ARG 查詢會識別超過 30 天的磁碟快照集。

類別

最佳化

查詢

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

降級高級快照

建議:管理磁碟快照使用標準儲存,取代高級儲存,以降低儲存成本。

關於高級快照

儲存在高級儲存空間的管理磁碟快照成本高於標準儲存。 在大多數情況下,快照不需要高級儲存的效能,因為它們用於備份和復原,而非主動輸入輸出。 降級為標準儲存可大幅降低快照成本,且不影響其功能。

Note

FinOps 中樞 能自動識別使用高級儲存的快照。 了解更多

識別高級快照

請使用以下 ARG 查詢來辨識使用高級儲存裝置的受管磁碟快照。

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

儲存體帳戶

Azure 儲存體 帳號會在 Azure 中為你的資料提供獨特的命名空間。 儲存帳號經歷了多代演變,使用舊有帳號類型可能會限制使用新功能與優化的存取。

相關資源:

升級舊有儲存帳號

建議:將使用 GPv1 或 BlobStorage 類型的儲存帳號升級到 GPv2,以獲得更好的價格層級、功能並持續支援。

關於舊有儲存帳號

使用 GPv1 或 BlobStorage 類型的儲存帳號不支援最新的 Azure 儲存體 功能,例如區塊 blob 的存取層級、生命週期管理政策和不可變性政策。 GPv2 儲存帳號提供相同功能外加額外功能,價格具競爭力或更低。 Microsoft 建議將所有 GPv1 和 BlobStorage 帳號升級到 GPv2。

Note

FinOps 中樞 能自動識別舊有儲存帳戶。 了解更多

識別舊有儲存帳戶

請使用以下 ARG 查詢,找出仍在使用 GPv1 或 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

提供意見反應

請寫下您的快速評價,讓我們知道我們的表現如何。 我們會使用這些評論來改善及擴充 FinOps 工具和資源。

如果您要尋找特定專案,請投票給現有專案或建立新想法。 與其他人分享想法,以獲得更多的選票。 我們專注於擁有最多選票的想法。


相關資源:

相關解決方案: