适用于存储的 FinOps 最佳做法

本文概述了一系列经过验证的用于存储服务的 FinOps 做法。 它提供优化成本、提高效率和使用 Azure Resource Graph (ARG) 查询来深入了解存储资源的策略。 通过遵循这些做法,可以确保存储服务经济高效,并与组织的财务目标保持一致。


Backup

以下部分提供备份服务的 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

查询:列出恢复服务保管库

此 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

磁盘

以下部分为磁盘服务提供 ARG 查询。 这些查询可帮助你深入了解磁盘资源,并确保这些资源配置了相应的设置。 通过分析磁盘快照和识别空闲磁盘,可以优化磁盘服务,提高成本效益。

查询:空闲磁盘

此 ARG 查询标识 Azure 环境中的空闲或未附加的托管磁盘。

类别

优化

查询

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

查询:使用高级存储的快照

此 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

存储帐户

以下部分提供存储帐户的 ARG 查询。 它可帮助你深入了解存储资源,并确保它们已配置适当的设置。 通过分析存储帐户和识别旧存储帐户类型,可以优化存储服务,提高成本效益。

查询:存储帐户 v1

此 ARG 查询标识仍在使用旧版 v1 类型的存储帐户,这可能不提供与较新的存储帐户类型相同的功能和效率。

类别

优化

查询

resources
| where type =~ 'Microsoft.Storage/StorageAccounts'
    and kind !='StorageV2'
    and kind !='FileStorage'
| where resourceGroup in ({ResourceGroup})
| 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

正在查找更多内容?

我们错过了什么吗? 是否希望看到添加的内容? 我们非常想了解你希望在此处介绍的任何问题、问题或解决方案。 创建一个新问题 ,其中包含要在此处查看的详细信息。


相关资源:

相关解决方案: