Sdílet prostřednictvím


Přizpůsobení optimalizačního modulu Azure

Optimalizační modul Azure (AOE) je sada runbooků Azure Automation, které shromažďují, ingestují a analyzují data o spotřebě a výkonu Azure za účelem poskytování doporučení pro optimalizaci nákladů. Modul je navržený tak, aby byl flexibilní a přizpůsobitelný a umožňuje přizpůsobit jeho chování tak, aby lépe vyhovoval potřebám vaší organizace. Tento článek obsahuje pokyny k přizpůsobení nastavení enginu. Zahrnuje úpravu prahových hodnot, změnu plánů a rozšíření rozsahu systému.


Rozšíření rozsahu motoru

Ve výchozím nastavení má spravovaná identita Azure Automation přiřazenou roli Čtenář pouze v příslušném předplatném. Rozsah jeho doporučení můžete rozšířit jednoduše tím, že udělíte stejnou roli Čtenář i dalším předplatným, nebo dokonce jednodušeji pro celou skupinu pro správu nejvyšší úrovně.

V kontextu doporučení pro správnou velikost augmentovaného virtuálního stroje mohou vaše virtuální počítače hlásit více pracovním prostorům. Pokud potřebujete zahrnout další pracovní prostory - kromě hlavního, který AOE používá - do rozsahu doporučení, stačí do proměnné AzureOptimization_RightSizeAdditionalPerfWorkspaces přidat ID jejich pracovních prostorů (další podrobnosti najdete v konfiguraci pracovních prostorů).

Pokud máte více adresářů ID Entra (označovaných také jako tenanti), můžete rozšířit dosah AOE na jiného tenanta, než na kterém byl nasazen. Abyste toho dosáhli, máte dvě možnosti, z nichž každá má své výhody a nevýhody:

"Service principal" v sekundárním tenantovi Nasazení služby Azure Lighthouse
Poskytuje nejširší pokrytí funkcí (viz omezení níže). Poskytuje téměř kompletní pokrytí funkcí (viz omezení níže).
Využívá méně bezpečnou a nespravovanou možnost ověřování na základě tajných kódů. Poskytuje robustní ověřování s opětovným využitím spravované identity enginu.
Nepodporuje opakované využití metrik výkonu z pracovních prostorů služby Log Analytics v sekundárním tenantovi při rozšiřování doporučení pro správnou velikost virtuálního počítače. Nezahrnuje podporu pro objekty Microsoft Entra, které mají vliv na úplnost sešitu identit a rolí a doporučení souvisejících s ID společnosti Microsoft. Karta přehledu sešitu pro dodržování zásad nepřináší data ze sekundárního tenantu; podporuje se pouze podrobná analýza zásad.
Implementace je založená na spuštění pomocného skriptu PowerShellu. Implementace je založená na nasazení šablony Azure Resource Manageru.
Více škálovatelné pokrytí sekundárního tenanta stačí udělit oprávnění hlavní službě v oboru vyšší úrovně. Nasazení se provádí pro předplatné v sekundárním tenantovi; potřebuje Azure Policy ke škálování.
Méně nákladově efektivní, protože plány úloh se duplikují pro sekundárního tenanta Nákladově efektivnější, protože stávající plány úloh budou automaticky zahrnovat sekundárního tenanta.

Multitenantní s objektem služby v sekundárním klientovi

Pokud chcete rozšířit rozsah motoru pomocí přístupu založeného na hlavním uživateli služby, musíte zajistit následující požadavky:

  • Vytvořte hlavní služební účet (registraci aplikace) a tajemství v sekundárním tenantovi.
  • Udělte požadovaná oprávnění instančnímu objektu v sekundárním tenantovi, konkrétně Čtenář v předplatných Azure a skupinách pro správu a Globální čtenář v Microsoft Entra ID.
  • Vytvořte Automatizační přihlašovací údaje v účtu Automation AOE. Nastavte ID klienta služebního objektu jako uživatelské jméno a tajný klíč jako heslo.
  • Register-MultitenantAutomationSchedules.ps1 Spusťte skript (dostupný v kořenové složce AOE) v kontextu předplatného, ve kterém byla nasazena služba AOE. Tento skript vytvoří nové plány úloh pro každý z exportovaných runbooků a nakonfiguruje je pro dotazování sekundárního tenanta. Stačí volat skript pomocí následující syntaxe:
./Register-MultitenantAutomationSchedules.ps1 -AutomationAccountName <AOE automation account> -ResourceGroupName <AOE resource group> -TargetSchedulesSuffix <suffix to append to every new job schedules, e.g., Tenant2> -TargetTenantId <secondary tenant GUID> -TargetTenantCredentialName <name of the Automation credential created in the previous step> [-TargetSchedulesOffsetMinutes <offset in minutes relative to original schedules, defaults to 0>] [-TargetAzureEnvironment <AzureUSGovernment|AzureGermanCloud|AzureCloud>] [-ExcludedRunbooks <An array of runbook names to exclude from the process>] [-IncludedRunbooks <An array of runbook names to include in the process>]

Vícenájemce s Azure Lighthouse

Pokud chcete rozšířit rozsah enginu pomocí přístupu založeného na službě Azure Lighthouse, musíte zajistit splnění následujících předpokladů:

  • Připravte šablonu Azure Resource Manageru, která se nasadí v sekundárním tenantovi. Referenční šablonu as-is můžete opakovaně používat v našem úložišti (souborlighthouse-template.json je dostupný v kořenové složce AOE ).
  • Pokud nasazujete šablonu pro jedno předplatné, stačí postupovat podle kroků popsaných zde, pomocí výše uvedené referenční šablony a zadáním hodnot parametrů šablony (jako samostatný soubor parametrů nebo přímo v rozhraní webu Azure Portal).
  • Pokud potřebujete nasadit na více předplatných ve velkém měřítku, můžete využít Azure Policy a postupovat podle pokynů dostupných zde a upravit kód definice zásady podle výše uvedené referenční šablony.
  • Bez ohledu na přístup k nasazení musíte zadat následující parametry šablony:
    • managedByTenantId – ID tenanta Microsoft Entra, ve kterém byla nasazena služba AOE.
    • principalId – ID objektu Microsoft Entra systémově spravované identity automatizačního účtu AOE.
    • principalIdDisplayName – název účtu AOE Automation.

Úprava plánů

Ve výchozím nastavení je základní čas plánů „AOE Automation“ nastaven jako čas nasazení. Brzy po dokončení počátečního nasazení se exporty, importy a doporučení runbooků spouštějí podle výchozích rozvrhů enginu. Pokud například nasadíte AOE v pondělí v 11:00, dostanete nová doporučení každé pondělí v 2:30. Pokud tento plán z nějakého důvodu nevyhovuje vašim potřebám, můžete ho obnovit na dobu, která vám bude lépe vyhovovat, pomocí Reset-AutomationSchedules.ps1 skriptu (k dispozici v kořenové složce AOE). Stačí zavolat následující skript. Postupujte podle syntaxe a odpovězte na vstupní požadavky:

./Reset-AutomationSchedules.ps1 -AutomationAccountName <AOE automation account> -ResourceGroupName <AOE resource group> [-AzureEnvironment <AzureUSGovernment|AzureGermanCloud|AzureCloud>]

Výchozí čas, který zvolíte, musí být v UTC a musí být určen podle dne v týdnu a hodiny, ve které chcete, aby byly vygenerovány doporučení. Musíte odečíst 3h30m od času, který zvolíte. Je to proto, že základní čas určuje harmonogramy pro všechny automatizační runbooky, které na něm závisejí a musí se spustit před tím, než dojde ke generování doporučení. Řekněme například, že chcete, aby se doporučení vygenerovala každé pondělí v 8:30; základním časem je další pondělí v 5:00 ráno. Formát zvoleného data musí být RRRR-MM-dd HH:mm:ss, 2022-01-03 05:00:00například .

Skript vás také požádá, abyste v případě potřeby zadali skupinu Hybrid Worker, ve které se mají runbooky spouštět (viz další pododdíl).


Škálování runbooků AOE pomocí Hybrid Workeru

Ve výchozím nastavení se runbooky AOE Automation spouští v kontextu sandboxu Azure Automation. Může dojít k problémům s výkonem kvůli limitům paměti sandboxu Automation. Nebo se můžete rozhodnout implementovat privátní koncové body pro účet úložiště nebo službu SQL Database pro posílení zabezpečení služby AOE. V obou případech potřebujete spustit runbooky z Hybrid Workeru. Jedná se o virtuální počítač Azure nebo místní virtuální počítač s rozšířením Automation Hybrid Worker. Pokud chcete změnit kontext spuštění runbooků AOE, musíte použít Reset-AutomationSchedules.ps1 skript. Podívejte se, jak použít skript v předchozí pododdílu. Po nastavení základního času spouštění runbooků zadejte název skupiny Hybrid Worker, ve které se mají runbooky spouštět.

Důležité

  • Počítač Hybrid Worker musí mít nainstalované požadované moduly PowerShellu. Soubor upgrade-manifest.json obsahuje seznam požadovaných modulů.
  • Jakmile změníte kontext spuštění runbooku na Hybrid Worker, musíte vždy použít DoPartialUpgrade příznak při upgradu AOE nebo jinak ztratíte nastavení plánu runbooku a vrátíte se k výchozí konfiguraci sandboxu.
  • Spravovaná identita použitá k ověřování v rámci Azure, Microsoft Entra ID a rozsahů fakturačního účtu je stále ta, kterou používá Azure Automation. Použije se i v případě, že má počítač Hybrid Worker přiřazenou spravovanou identitu (viz podrobnosti). Spravované identity přiřazené uživatelem jsou podporovány v kontextu Hybrid Worker pouze v těchto případech:
    • Účet Automation nemá přidruženou spravovanou identitu, to znamená, že spravovanou identitu přiřazenou uživatelem může mít jenom počítač Hybrid Worker.
    • Všechny runbooky běží v kontextu Hybrid Workeru. V tomto případě musíte vytvořit proměnnou Automation AzureOptimization_UAMIClientID s hodnotou ID klienta spravované identity přiřazené uživatelem.
    • Hodnota proměnné Automation se aktualizuje na AzureOptimization_AuthenticationOption.

Úprava prahových hodnot

U doporučení k nákladům Advisora výchozí konfigurace AOE vytváří agregace metrik virtuálních počítačů na 99. percentilu, ale můžete je upravit tak, aby byly méně konzervativní. K výpočtu skóre přizpůsobení se používají také upravitelné prahové hodnoty metrik. Výchozí prahové hodnoty jsou 30 % pro procesor (5 % pro doporučení k vypnutí), 50 % paměti (100 % pro vypnutí) a 750 Mb/s pro šířku pásma sítě (10 Mb/s pro vypnutí). Všechny nastavitelné konfigurace jsou k dispozici jako proměnné Azure Automation. Informace v další tabulce zvýrazňují nejrelevavantnější konfigurační proměnné. Pokud k nim chcete získat přístup, přejděte na možnost nabídky Účet pro Automatizaci – Sdílené prostředky - Proměnné.

Proměnná Popis
AzureOptimization_AdvisorFilter Pokud vás nezajímá získání doporučení pro všechny pilíře služby Non-Cost Advisor, můžete zadat filtr na úrovni pilíře (seznam oddělený čárkami s alespoň jednou z následujících hodnot: HighAvailability,Security,Performance,OperationalExcellence). Výchozí nastavení pro všechny pilíře.
AzureOptimization_AuthenticationOption Výchozí metoda ověřování pro Runbooky Automation je RunAsAccount. Pokud ale na virtuálním počítači Azure používáte Hybrid Worker, můžete změnit na ManagedIdentity.
AzureOptimization_ConsumptionOffsetDays Runbook pro shromažďování dat Azure Consumption se každý den dotazuje na události fakturace, ke kterým došlo před sedmi dny (výchozí). Můžete změnit na užší posun, ale mějte na paměti, že některé typy předplatného (například MSDN) nepodporují nižší hodnotu.
AzureOptimization_PerfPercentileCpu Výchozí percentil pro agregace metrik procesoru je 99. S nižším percentilem se algoritmus hodnocení správné velikosti virtuálního počítače upravuje méně konzervativně.
AzureOptimization_PerfPercentileDisk Výchozí percentil pro agregace metrik vstupně-výstupních operací a propustnosti disku je 99. S nižším percentilem se algoritmus hodnocení správné velikosti virtuálního počítače upravuje méně konzervativně.
AzureOptimization_PerfPercentileMemory Výchozí percentil pro agregace metrik paměti je 99. S nižším percentilem se algoritmus hodnocení správné velikosti virtuálního počítače upravuje méně konzervativně.
AzureOptimization_PerfPercentileNetwork Výchozí percentil pro agregace síťových metrik je 99. S nižším percentilem se algoritmus hodnocení správné velikosti virtuálního počítače upravuje méně konzervativně.
AzureOptimization_PerfPercentileSqlDtu Výchozí percentil, který se má použít pro metriky DTU databáze SQL. S nižším percentilem se algoritmus správné velikosti služby SQL Database upravuje méně konzervativně.
AzureOptimization_PerfThresholdCpuPercentage Prahová hodnota procesoru (v % času procesoru). Nad ním se sníží skóre přizpůsobení správné velikosti virtuálního počítače. Pod ní se aktivuje doporučení ke správnému nastavení nákladů ve škálovací sadě virtuálních počítačů Azure (škálovací sada).
AzureOptimization_PerfThresholdCpuShutdownPercentage Prahová hodnota procesoru (v % času procesoru). Nad tímto se skóre přizpůsobení optimální velikosti virtuálního počítače sníží (pouze doporučení k vypnutí).
AzureOptimization_PerfThresholdCpuDegradedMaxPercentage Prahová hodnota procesoru (maximum pozorované v % času procesoru) Nad ní se spouštěče doporučení výkonu správně nastavují pro optimální velikost škálovací skupiny.
AzureOptimization_PerfThresholdCpuDegradedAvgPercentage Prahová hodnota procesoru (průměr pozorovaný v % času procesoru) Nad ní se triggery doporučení k výkonu škálovací sady správně zvětšují.
AzureOptimization_PerfThresholdMemoryPercentage Prahová hodnota paměti (v % využité paměti). Nad ním se sníží skóre přizpůsobení správné velikosti virtuálního počítače. Pod ní se aktivují doporučení k optimalizaci nákladů podle správné velikosti škály.
AzureOptimization_PerfThresholdMemoryShutdownPercentage Prahová hodnota paměti (v % využité paměti). Nad ním se skóre optimální velikosti virtuálního počítače sníží (pouze doporučení pro vypnutí).
AzureOptimization_PerfThresholdMemoryDegradedPercentage Prahová hodnota paměti (v % využité paměti). Nad tím se spouští doporučení pro správnou velikost výkonu škálovací sady.
AzureOptimization_PerfThresholdNetworkMbps Prahová hodnota sítě (v součtu Mb/s) Nad ním se sníží skóre přizpůsobení správné velikosti virtuálního počítače.
AzureOptimization_PerfThresholdNetworkShutdownMbps Prahová hodnota sítě (v součtu Mb/s) Nad ním se skóre přizpůsobení správné velikosti virtuálního počítače sníží (pouze doporučení k vypnutí).
AzureOptimization_PerfThresholdDtuPercentage Procentuální prahová hodnota využití DTU. Pod ní je instance služby SQL Database považována za nedostatečně využitou.
AzureOptimization_RecommendAdvisorPeriodInDays Interval ve dnech, ve které se má hledat doporučení Advisoru v úložišti Log Analytics – výchozí hodnota je 7, protože doporučení Advisoru se shromažďují jednou týdně.
AzureOptimization_RecommendationAADMaxCredValidityYears Maximální počet let platnosti přihlašovacích údajů nebo certifikátu služebního objektu – jakákoli platnost nad tímto intervalem generuje doporučení pro zabezpečení. Výchozí hodnota je 2.
AzureOptimization_RecommendationAADMinCredValidityDays Minimální počet dnů pro pověření nebo certifikát služebního hlavního účtu před vypršením jeho platnosti – jakákoli platnost pod tímto intervalem generuje doporučení provozní dokonalosti. Výchozí hodnota je 30.
AzureOptimization_RecommendationLongDeallocatedVmsIntervalDays Počet po sobě jdoucích dnů, kdy byl virtuální počítač dealokován před doporučením k odstranění (Virtuální počítač byl dealokován dlouho, přičemž disky stále způsobují náklady). Výchozí hodnota je 30.
AzureOptimization_RecommendationVNetSubnetMaxUsedPercentageThreshold Maximální procento tolerované pro využití prostoru IP podsítě Výchozí hodnota je 80.
AzureOptimization_RecommendationVNetSubnetMinUsedPercentageThreshold Minimální procento využití prostoru PROTOKOLU IP podsítě – jakékoli využití pod touto hodnotou označuje příslušnou podsíť jako použití nízkého prostoru PROTOKOLU IP. Výchozí hodnota je 5.
AzureOptimization_RecommendationVNetSubnetEmptyMinAgeInDays Minimální stáří ve dnech pro prázdné podsítě, aby byly označeny příznakem, čímž se vyhnete označení nově vytvořených podsítí. Výchozí hodnota je 30
AzureOptimization_RecommendationVNetSubnetUsedPercentageExclusions Seznam názvů podsítí, které jsou odděleny čárkami a uzavřeny v jednoduchých uvozovkách, které musí být vyloučeny z doporučení ohledně procenta využití podsítě, například 'gatewaysubnet','azurebastionsubnet'. Výchozí hodnota je 'gatewaysubnet'.
AzureOptimization_RecommendationRBACAssignmentsPercentageThreshold Maximální procento přiřazení RBAC omezuje využití. Výchozí hodnota je 80.
AzureOptimization_RecommendationResourceGroupsPerSubPercentageThreshold Maximální procento počtu skupin prostředků na předplatné omezuje využití. Výchozí hodnota je 80.
AzureOptimization_RecommendationRBACSubscriptionsAssignmentsLimit Maximální limit pro přiřazení RBAC v rámci předplatného. Aktuálně je nastavená na hodnotu 2000 (jak je uvedeno v dokumentu).
AzureOptimization_RecommendationRBACMgmtGroupsAssignmentsLimit Maximální limit pro přiřazení RBAC v rámci skupiny pro správu. Aktuálně je nastavená na 500 (jak je uvedeno).
AzureOptimization_RecommendationResourceGroupsPerSubLimit Maximální limit počtu skupin prostředků na jedno předplatné. Aktuálně je nastavená na 980 (jak je uvedeno).
AzureOptimization_RecommendationStorageAcountGrowthThresholdPercentage Minimální procento růstu účtu úložiště vyžadované k označení účtu úložiště jako nemajícího nastavené zásady uchovávání informací.
AzureOptimization_RecommendationStorageAcountGrowthMonthlyCostThreshold Minimální měsíční náklady (ve vaší měně EA/MCA) nezbytné pro označení, že úložiště nemá zavedenou politiku uchovávání.
AzureOptimization_RecommendationStorageAcountGrowthLookbackDays Období zpětného pohledu (ve dnech) pro analýzu růstu úložiště.
AzureOptimization_ReferenceRegion Oblast Azure použitá jako referenční informace k získání seznamu dostupných skladových položek (výchozí hodnota je westeurope).
AzureOptimization_RemediateRightSizeMinFitScore Minimální skóre přizpůsobení, které musí mít doporučení správné velikosti virtuálního počítače, aby došlo k nápravě.
AzureOptimization_RemediateRightSizeMinWeeksInARow Aby bylo možné provést nápravu, musí být dosažen minimální počet týdnů v řadě podle doporučení správné velikosti virtuálního počítače.
AzureOptimization_RemediateRightSizeTagsFilter Doporučení správné velikosti virtuálního počítače musí obsahovat dvojice název/hodnota značky, aby byla provedena náprava. Příklad: [ { "tagName": "a", "tagValue": "b" }, { "tagName": "c", "tagValue": "d" } ]
AzureOptimization_RemediateLongDeallocatedVMsMinFitScore Minimální skóre přizpůsobení, které musí mít doporučení pro uvolněný virtuální počítač, aby mohla nastat náprava.
AzureOptimization_RemediateLongDeallocatedVMsMinWeeksInARow Aby bylo možné provést nápravu, musí být doporučení pro dlouhodobé deallokované virtuální počítače dokončeno po minimální počet po sobě jdoucích týdnů.
AzureOptimization_RemediateLongDeallocatedVMsTagsFilter Dvojice název/hodnota značky, které musí mít dlouhé doporučení dealokovaného virtuálního počítače pro provedení nápravy. Příklad: [ { "tagName": "a", "tagValue": "b" }, { "tagName": "c", "tagValue": "d" } ]
AzureOptimization_RemediateUnattachedDisksMinFitScore Minimální skóre přizpůsobení, které musí mít doporučený nepřipojený disk, aby došlo k nápravě.
AzureOptimization_RemediateUnattachedDisksMinWeeksInARow Aby proběhla náprava, musí být minimální počet týdnů v řadě, kdy je doporučení pro nepřipojený disk splněn.
AzureOptimization_RemediateUnattachedDisksAction Akce, která se má použít pro nápravu doporučení nepřipojeného disku (Delete nebo Downsize).
AzureOptimization_RemediateUnattachedDisksTagsFilter Páry názvů a hodnot značek, které musí mít doporučení pro nepřipojený disk, aby mohla proběhnout náprava. Příklad: [ { "tagName": "a", "tagValue": "b" }, { "tagName": "c", "tagValue": "d" } ]
AzureOptimization_RightSizeAdditionalPerfWorkspaces Čárkami oddělený seznam dalších ID pracovních prostorů služby Log Analytics, kde hledat metriky virtuálních počítačů (viz Konfigurace pracovních prostorů).
AzureOptimization_PerfThresholdDiskIOPSPercentage Prahová hodnota procenta využití disku (IOPS). Pod ním se aktivuje doporučení pro málo využívané disky SSD úrovně Premium.
AzureOptimization_PerfThresholdDiskMBsPercentage Prahová hodnota využití propustnosti disku. Pod ním se aktivuje doporučení pro málo využívané disky SSD úrovně Premium.
AzureOptimization_RecommendationsMaxAgeInDays Maximální stáří (ve dnech) pro doporučení, které se má uchovávat v databázi SQL. Výchozí hodnota: 365.
AzureOptimization_RetailPricesCurrencyCode Kód měny (například EUR, USD atd.) použitý ke shromáždění maloobchodních cen Rezervací.
AzureOptimization_PriceSheetMeterCategories Kategorie měřiče oddělené čárkami používané pro filtrování ceníků, aby se zabránilo ingestování nepotřebných dat. Výchozí hodnota je "Virtual Machines,Storage".
AzureOptimization_ConsumptionScope Rozsah exportů spotřeby: Subscription (výchozí), BillingProfile (pouze MCA) nebo BillingAccount (pro MCA, vyžaduje přidání role Čtenář fakturačního účtu do spravované identity AOE). Projděte si další podrobnosti.

Související produkty:

Související řešení: