Megosztás a következőn keresztül:


Ajánlott finOps-eljárások adatbázisokhoz

Ez a cikk az adatbázis-szolgáltatások bevált FinOps-eljárásainak gyűjteményét ismerteti. Stratégiákat biztosít a költségek optimalizálásához, a hatékonyság javításához és az Azure Resource Graph -lekérdezések használatával az adatbázis-erőforrások elemzéséhez. Az alábbi eljárások követésével biztosíthatja, hogy az adatbázis-szolgáltatások költséghatékonyak legyenek, és igazodjanak a szervezet pénzügyi céljaihoz.


Cosmos DB

A következő szakaszok ARG-lekérdezéseket biztosítanak a Cosmos DB-hez. Ezek a lekérdezések segítenek betekintést nyerni a Cosmos DB-fiókokba, és meggyőződni arról, hogy a megfelelő kérelemegységekkel (KÉRELEM-ekkel) vannak konfigurálva. Az Azure Advisor javaslatainak kihasználásával és a használati minták elemzésével optimalizálhatja a RU-kat (kéréspontok) a költséghatékonyság érdekében.

Lekérdezés: Cosmos DB-kérelemegységek megerősítése

Az Azure-környezetben ez az ARG-lekérdezés elemzi a Cosmos DB-fiókokat annak érdekében, hogy biztosítsa, hogy megfelelő kérelemegységekkel (RUs) legyenek konfigurálva.

Leírás

Ez a lekérdezés azonosítja a Cosmos DB-fiókokat, és javaslatokat ad az igényegységek (RUs) használati minták alapján történő optimalizálására. Az Azure Advisor javaslatai segítenek a kérési egységek költséghatékonysági optimalizálásában.

Kategória

Optimalizálás

Lekérdezés

advisorresources
| where type =~ 'microsoft.advisor/recommendations'
| where properties.impactedField == 'microsoft.documentdb/databaseaccounts'
    and properties.recommendationTypeId == '8b993855-1b3f-4392-8860-6ed4f5afd8a7'
| order by id asc
| project 
    id, subscriptionId, resourceGroup,
    CosmosDBAccountName = properties.extendedProperties.GlobalDatabaseAccountName,
    DatabaseName = properties.extendedProperties.DatabaseName,
    CollectionName = properties.extendedProperties.CollectionName,
    EstimatedAnnualSavings = bin(toreal(properties.extendedProperties.annualSavingsAmount), 1),
    SavingsCurrency = properties.extendedProperties.savingsCurrency

Lekérdezés: Cosmos DB-gyűjtemények, amelyek kihasználnák, ha másik átviteli módra váltanak

Ez az ARG-lekérdezés azonosítja az Azure-környezetben található Cosmos DB-gyűjteményeket, amelyek az Azure Advisor javaslatai alapján kihasználnák az átviteli mód váltását.

Leírás

Ez a lekérdezés olyan Cosmos DB-gyűjteményeket jelenít meg, amelyek javaslatokkal rendelkeznek az átviteli mód (például manuálisról automatikus skálázásra vagy fordítva) váltására a teljesítmény és a költség optimalizálása érdekében. Az Azure Advisor javaslatait használja a lehetséges fejlesztések kiemeléséhez.

Kategória

Optimalizálás

Előnyök

  • Költségoptimalizálás: Azonosítja azokat a Cosmos DB-gyűjteményeket, amelyek a használati minták és javaslatok alapján megfelelőbb átviteli módra váltva csökkenthetik a költségeket.
  • Teljesítménykezelés: Biztosítja, hogy a Cosmos DB-gyűjtemények az optimális átviteli sebességet használják, növeljék a teljesítményt, és elkerüljék a túlkiépítést vagy az alulkiépítést.

Lekérdezés

advisorresources
| where type =~ 'microsoft.advisor/recommendations'
| where properties.impactedField == 'microsoft.documentdb/databaseaccounts'
    and properties.recommendationTypeId in (
        ' cdf51428-a41b-4735-ba23-39f3b7cde20c',
        ' 6aa7a0df-192f-4dfa-bd61-f43db4843e7d'
    )
| order by id asc
| project 
    id, subscriptionId, resourceGroup,
    CosmosDBAccountName = properties.extendedProperties.GlobalDatabaseAccountName,
    DatabaseName = properties.extendedProperties.DatabaseName,
    CollectionName = properties.extendedProperties.CollectionName,
    EstimatedAnnualSavings = bin(toreal(properties.extendedProperties.annualSavingsAmount), 1),
    SavingsCurrency = properties.extendedProperties.savingsCurrency

Lekérdezés: A Cosmos DB biztonsági mentési módjának részletei

Ez az ARG-lekérdezés elemzi azokat a Cosmos DB-fiókokat, amelyek a "Periodikus" biztonsági mentési szabályzatot használják, és nincs engedélyezve több írási hely.

Kategória

Optimalizálás

Lekérdezés

resources
| where type == "microsoft.documentdb/databaseaccounts"
| where resourceGroup in ({ResourceGroup})
| where properties.backupPolicy.type == 'Periodic'
    and tobool(properties.enableMultipleWriteLocations) == false
| extend BackupCopies = toreal(properties.backupPolicy.periodicModeProperties.backupRetentionIntervalInHours)
    / (toreal(properties.backupPolicy.periodicModeProperties.backupIntervalInMinutes) / real(60))
| where BackupCopies >= 10
    or (BackupCopies > 2
        and toint(properties.backupPolicy.periodicModeProperties.backupRetentionIntervalInHours) <= 168)
| order by id asc
| project id, CosmosDBAccountName=name, resourceGroup, subscriptionId, BackupCopies

SQL Database-adatbázisok

A következő szakaszok ARG-lekérdezéseket biztosítanak az SQL Database-ekhez. Ezek a lekérdezések segítenek azonosítani azokat az SQL-adatbázisokat, amelyek tétlenek, régiek, fejlesztés alatt vagy tesztelési célokra használhatók. Ezeknek az adatbázisoknak az elemzésével optimalizálhatja a költségeket, és javíthatja a hatékonyságot a kihasználatlan erőforrások leszerelésével vagy visszavásárlásával.

Lekérdezés: SQL DB üresjáratban

Ez az ARG-lekérdezés azonosítja az SQL-adatbázisokat olyan névvel, amely jelzi, hogy régiek, fejlesztés alatt állnak vagy tesztelési célokra használhatók.

Kategória

Optimalizálás

Lekérdezés

resources
| where type == "microsoft.sql/servers/databases"
| where name contains "old" or name contains "Dev"or  name contains "test"
| where resourceGroup in ({ResourceGroup})
| extend SQLDBName = name, Type = sku.name, Tier = sku.tier, Location = location
| order by id asc
| project id, SQLDBName, Type, Tier, resourceGroup, Location, subscriptionId

Lekérdezés: Nem használt rugalmas készletek elemzése

Ez az ARG-lekérdezés azonosítja a potenciálisan tétlen rugalmas készleteket az Azure SQL-környezetben az egyes rugalmas készletekhez társított adatbázisok számának elemzésével.

Kategória

Optimalizálás

Lekérdezés

resources
| where type == "microsoft.sql/servers/elasticpools"
| extend elasticPoolId = tolower(tostring(id))
| extend elasticPoolName = name
| extend elasticPoolRG = resourceGroup
| extend skuName = tostring(sku.name)
| extend skuTier = tostring(sku.tier)
| extend skuCapacity = tostring(sku.capacity)
| join kind=leftouter (
    resources
    | where type == "microsoft.sql/servers/databases"
    | extend elasticPoolId = tolower(tostring(properties.elasticPoolId))
) on elasticPoolId
| summarize databaseCount = countif(isnotempty(elasticPoolId1)) by 
    elasticPoolId,
    elasticPoolName,
    serverResourceGroup = resourceGroup,
    name,
    skuName,
    skuTier,
    skuCapacity,
    elasticPoolRG
| where databaseCount == 0
| project elasticPoolId,
    elasticPoolName,
    databaseCount,
    elasticPoolRG,
    skuName,
    skuTier,
    skuCapacity

Visszajelzés küldése

Kérem, tájékoztasson minket egy gyors visszajelzéssel arról, hogyan haladunk. Ezeket a felülvizsgálatokat a FinOps-eszközök és -erőforrások fejlesztésére és bővítésére használjuk.

Ha valami konkrétat keres, szavazzon egy meglévőre, vagy hozzon létre egy új ötletet. Ossza meg ötleteit másokkal, hogy több szavazatot kapjon. A legtöbb szavazattal rendelkező ötletekre összpontosítunk.


Kapcsolódó erőforrások:

Kapcsolódó megoldások: