Freigeben über


Anpassen des Azure-Optimierungsmoduls

Das Azure-Optimierungsmodul (AOE) ist eine Reihe von Azure Automation-Runbooks, die Azure-Verbrauchs- und Leistungsdaten sammeln, erfassen und analysieren, um Empfehlungen zur Kostenoptimierung bereitzustellen. Das Modul ist so konzipiert, dass es flexibel und anpassbar ist, sodass Sie sein Verhalten an die Anforderungen Ihrer Organisation anpassen können. Dieser Artikel enthält Anleitungen zum Anpassen der Einstellungen des Moduls. Es umfasst das Anpassen von Schwellenwerten, das Ändern von Zeitplänen und das Erweitern des Bereichs des Moduls.


Erweitern des Modulumfangs

Standardmäßig wird die azure Automation Managed Identity nur über das jeweilige Abonnement der Leserrolle zugewiesen. Sie können den Umfang ihrer Empfehlungen jedoch nur erweitern, indem Sie anderen Abonnements dieselbe Leserolle oder sogar einfacher eine Verwaltungsgruppe auf oberster Ebene gewähren.

Im Kontext von Empfehlungen für erweiterte virtuelle Computer (VM) mit der richtigen Größe können Sie Ihre virtuellen Computer auf mehrere Arbeitsbereiche melden. Wenn Sie andere Arbeitsbereiche – neben dem Hauptbereich eines AOE – einbeziehen müssen, müssen Sie der Variablen lediglich deren Arbeitsbereichs-IDs AzureOptimization_RightSizeAdditionalPerfWorkspaces hinzufügen (weitere Details finden Sie unter "Konfigurieren von Arbeitsbereichen").

Wenn Sie ein mehrinstanzenfähiger Kunde sind, können Sie die Reichweite von AOE auf einen anderen Mandanten als den Mandanten erweitern, in dem er bereitgestellt wurde. Um diese Erweiterung zu erreichen, müssen Sie die folgenden Voraussetzungen sicherstellen:

  • Erstellen Sie einen Dienstprinzipal (App-Registrierung) und einen geheimen Schlüssel im sekundären Mandanten.
  • Erteilen Sie den erforderlichen Berechtigungen für den Dienstprinzipal im sekundären Mandanten, nämlich Leser in Azure-Abonnements/Verwaltungsgruppen und globalen Reader in Microsoft Entra ID.
  • Erstellen Sie eine Automatisierungsanmeldeinformationen im Automatisierungskonto des AOE. Legen Sie die Client-ID des Dienstprinzipals als Benutzername und den geheimen Schlüssel als Kennwort fest.
  • Führen Sie das Register-MultitenantAutomationSchedules.ps1 Skript (im AOE-Stammordner verfügbar) im Kontext des Abonnements aus, in dem AOE bereitgestellt wurde. Dieses Skript erstellt neue Auftragspläne für jedes der Export-Runbooks und konfiguriert sie, um den sekundären Mandanten abzufragen. Sie müssen das Skript nur mit der folgenden Syntax aufrufen:
./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>]

Zeitpläne anpassen

Standardmäßig wird die Basiszeit für die AOE-Automatisierungszeitpläne als Bereitstellungszeitpunkt festgelegt. Bald nach Abschluss der ersten Bereitstellung werden die Exporte, Erfassungen und Empfehlungen runbooks gemäß den Standardzeitplänen des Moduls ausgeführt. Wenn Sie beispielsweise AOE auf einem Montag um 11:00 Uhr bereitstellen, erhalten Sie jeden Montag um 2:30 Uhr neue Empfehlungen. Wenn dieser Zeitplan aus irgendeinem Grund nicht Ihren Anforderungen entspricht, können Sie ihn mithilfe des Reset-AutomationSchedules.ps1 Skripts (verfügbar im AOE-Stammordner) auf die Zeit zurücksetzen, die Ihnen besser passt. Sie müssen lediglich das folgende Skript aufrufen. Folgen Sie der Syntax, und beantworten Sie die Eingabeanforderungen:

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

Die von Ihnen ausgewählte Basiszeit muss in UTC angegeben sein und muss gemäß dem Wochentag und der Stunde definiert werden, an dem Empfehlungen generiert werden sollen. Sie müssen 3h30m von der von Ihnen ausgewählten Zeit ableiten. Der Grund dafür ist, dass die Basiszeit die Zeitpläne für alle abhängigen Automatisierungsrunbooks definiert, die ausgeführt werden müssen, bevor die Empfehlungen generiert werden. Angenommen, Sie möchten jeden Montag um 8h30 Uhr Empfehlungen generieren; Die Basiszeit ist das nächste Kalenderdatum, das auf einen Montag um 5h00 Uhr fällt. Das format des von Ihnen ausgewählten Datums muss JJJJ-MM-tt HH:mm:ss sein, 2022-01-03 05:00:00z. B. .

Das Skript fordert Sie außerdem auf, bei Bedarf die Hybrid-Workergruppe einzugeben, in der die Runbooks ausgeführt werden sollen (siehe nächster Unterabschnitt).


Skalieren von AOE-Runbooks mit Hybrid Worker

Standardmäßig werden AOE Automation-Runbooks im Kontext der Azure Automation Sandbox ausgeführt. Aufgrund der Speicherbeschränkungen der Automatisierungs-Sandbox können Leistungsprobleme auftreten. Sie können auch private Endpunkte für das Speicherkonto oder SQL-Datenbank implementieren, um die Sicherheit von AOE zu erschweren. In beiden Fällen müssen Sie Runbooks von einem Hybrid Worker ausführen. Es handelt sich um einen virtuellen Azure- oder lokalen Computer mit der Automatisierungshybrid worker-Erweiterung. Um den Ausführungskontext für die AOE-Runbooks zu ändern, müssen Sie das Reset-AutomationSchedules.ps1 Skript verwenden. Erfahren Sie, wie Sie das Skript im vorherigen Unterabschnitt verwenden. Geben Sie nach dem Festlegen der Laufzeit für die Ausführung von Runbooks den Namen der Hybrid-Workergruppe ein, in dem die Runbooks ausgeführt werden sollen.

Wichtig

  • Der Hybrid-Worker-Computer muss die erforderlichen PowerShell-Module installiert haben. Die upgrade-manifest.json Datei enthält die Liste der erforderlichen Module.
  • Nachdem Sie den Ausführungskontext des Runbook in Hybrid Worker geändert haben, müssen Sie immer das DoPartialUpgrade Flag verwenden, wenn Sie AOE aktualisieren, oder sonst gehen die Einstellungen für den Runbook-Zeitplan verloren, und kehren Sie zur Standard-Sandkastenkonfiguration zurück.
  • Die verwaltete Identität, die für die Authentifizierung bei Azure, Microsoft Entra ID und Abrechnungskontobereichen verwendet wird, ist weiterhin die azure Automation. Er wird auch verwendet, wenn dem Hybrid-Worker-Computer eine verwaltete Identität zugewiesen ist (siehe Details). Vom Benutzer zugewiesene verwaltete Identitäten werden nur im Kontext von Hybrid-Workern unterstützt, wenn:
    • Das Automatisierungskonto verfügt nicht über eine verwaltete Identität, d. h. nur der Hybrid-Worker-Computer kann über eine vom Benutzer zugewiesene verwaltete Identität verfügen.
    • Alle Runbooks werden im Kontext des Hybrid-Workers ausgeführt. In diesem Fall müssen Sie eine AzureOptimization_UAMIClientID Automatisierungsvariable mit der Vom Benutzer zugewiesenen verwalteten Identitätsclient-ID als Wert erstellen.
    • Der Wert der AzureOptimization_AuthenticationOption Automatisierungsvariable wird aktualisiert auf UserAssignedManagedIdentity.

Anpassen von Schwellenwerten

Für Empfehlungen für Beraterkosten erzeugt die Standardkonfiguration der AOE quantile 99. VM-Metrikaggregationen, Sie können sie jedoch so anpassen, dass sie weniger konservativer sind. Es gibt auch anpassbare Metrikschwellenwerte, die zum Berechnen der Anpassungsbewertung verwendet werden. Die Standardschwellenwerte sind 30 % für CPU (5 % für Herunterfahren Empfehlungen), 50 % für Arbeitsspeicher (100 % für das Herunterfahren) und 750 MBit/s für die Netzwerkbandbreite (10 MBit/s für das Herunterfahren). Alle anpassbaren Konfigurationen sind als Azure Automation-Variablen verfügbar. In den Informationen in der nächsten Tabelle werden die relevantesten Konfigurationsvariablen hervorgehoben. Um darauf zuzugreifen, wechseln Sie zur Menüoption "Freigegebene Ressourcen für das Automatisierungskonto – Variablen ".

Variable Beschreibung
AzureOptimization_AdvisorFilter Wenn Sie nicht an Empfehlungen für alle Säulen des Nicht-Kostenberaters interessiert sind, können Sie einen Filter auf Säulenebene angeben (kommagetrennte Liste mit mindestens einem der folgenden Werte: HighAvailability,Security,Performance,OperationalExcellence). Standardmäßig werden alle Säulen verwendet.
AzureOptimization_AuthenticationOption Die Standardauthentifizierungsmethode für Automatisierungs-Runbooks lautet RunAsAccount. Sie können sich jedoch ändern ManagedIdentity , wenn Sie einen Hybrid-Worker in einer Azure-VM verwenden.
AzureOptimization_ConsumptionOffsetDays Das Runbook für die Azure-Verbrauchsdatensammlung fragt jeden Tag nach Abrechnungsereignissen ab, die vor sieben Tagen aufgetreten sind (Standard). Sie können zu einem näheren Offset wechseln, bedenken Sie jedoch, dass einige Abonnementtypen (z. B. MSDN) einen niedrigeren Wert nicht unterstützen.
AzureOptimization_PerfPercentileCpu Das Standardmäßige Quantil für CPU-Metrikaggregationen ist 99. Da das Quantil niedriger ist, passt sich der Algorithmus für die Anpassung der Größe des virtuellen Computers mit der richtigen Größe weniger konservativer an.
AzureOptimization_PerfPercentileDisk Das Standardmäßige Quantil für E/Durchsatzmetriken von Datenträgern beträgt 99. Da das Quantil niedriger ist, passt sich der Algorithmus für die Anpassung der Größe des virtuellen Computers mit der richtigen Größe weniger konservativer an.
AzureOptimization_PerfPercentileMemory Das Standardmäßige Quantil für Speichermetrikenaggregationen ist 99. Da das Quantil niedriger ist, passt sich der Algorithmus für die Anpassung der Größe des virtuellen Computers mit der richtigen Größe weniger konservativer an.
AzureOptimization_PerfPercentileNetwork Das Standardmäßige Quantil für Netzwerkmetrikenaggregationen ist 99. Da das Quantil niedriger ist, passt sich der Algorithmus für die Anpassung der Größe des virtuellen Computers mit der richtigen Größe weniger konservativer an.
AzureOptimization_PerfPercentileSqlDtu Das Standardmäßige Quantil, das für SQL DB DTU-Metriken verwendet werden soll. Da sich das Quantil verringert, passt sich der SQL-Datenbank Algorithmus mit der rechten Größe weniger konservativer an.
AzureOptimization_PerfThresholdCpuPercentage Der CPU-Schwellenwert (in %Prozessorzeit). Darüber verringert sich die Größe des virtuellen Computers mit der richtigen Größe. Darunter löst der Azure Virtual Machine Scale Set (Scale Set) die Empfehlungsauslöser für die rechte Größe aus.
AzureOptimization_PerfThresholdCpuShutdownPercentage Der CPU-Schwellenwert (in %Prozessorzeit). Darüber verringert sich die Anpassungsbewertung des virtuellen Computers mit der richtigen Größe (nur Empfehlungen für das Herunterfahren).
AzureOptimization_PerfThresholdCpuDegradedMaxPercentage Der CPU-Schwellenwert (maximal in %Prozessorzeit beobachtet). Darüber löst der Skalierungssatz die Empfehlungsauslöser für die rechte Größe aus.
AzureOptimization_PerfThresholdCpuDegradedAvgPercentage Der CPU-Schwellenwert (In % Prozessorzeit beobachteter Durchschnitt). Darüber löst der Skalierungssatz die Empfehlungsauslöser für die rechte Größe aus.
AzureOptimization_PerfThresholdMemoryPercentage Der Speicherschwellenwert (in % verwendeter Arbeitsspeicher). Darüber verringert sich die Größe des virtuellen Computers mit der richtigen Größe. Darunter löst der Skalierungssatz "Kostenempfehlung" die richtige Größe aus.
AzureOptimization_PerfThresholdMemoryShutdownPercentage Der Speicherschwellenwert (in % verwendeter Arbeitsspeicher). Darüber verringert sich die Anpassungsbewertung des virtuellen Computers mit der richtigen Größe (nur Empfehlungen für das Herunterfahren).
AzureOptimization_PerfThresholdMemoryDegradedPercentage Der Speicherschwellenwert (in % verwendeter Arbeitsspeicher). Darüber löst der Skalierungssatz die Empfehlungsauslöser für die rechte Größe aus.
AzureOptimization_PerfThresholdNetworkMbps Der Netzwerkschwellenwert (in Total Mbps). Darüber verringert sich die Größe des virtuellen Computers mit der richtigen Größe.
AzureOptimization_PerfThresholdNetworkShutdownMbps Der Netzwerkschwellenwert (in Total Mbps). Darüber verringert sich die Anpassungsbewertung des virtuellen Computers mit der richtigen Größe (nur Empfehlungen für das Herunterfahren).
AzureOptimization_PerfThresholdDtuPercentage Der Schwellenwert für den Prozentsatz der DTU-Verwendung. Darunter wird eine SQL-Datenbank Instanz als unterlastet betrachtet.
AzureOptimization_RecommendAdvisorPeriodInDays Das Intervall in Tagen, um im Log Analytics-Repository nach Empfehlungen zu suchen – der Standardwert ist 7, da Advisor-Empfehlungen einmal pro Woche gesammelt werden.
AzureOptimization_RecommendationAADMaxCredValidityYears Die maximale Anzahl von Jahren für die Gültigkeit von Anmeldeinformationen/Zertifikaten des Dienstprinzipals – jede Gültigkeit über diesem Intervall generiert eine Sicherheitsempfehlung. Der Standardwert ist 2.
AzureOptimization_RecommendationAADMinCredValidityDays Die mindeste Anzahl von Tagen für anmeldeinformationen/zertifikate des Dienstprinzipals, bevor sie ablaufen – jede Gültigkeit unterhalb dieses Intervalls generiert eine Operational Excellence-Empfehlung. Der Standardwert ist 30.
AzureOptimization_RecommendationLongDeallocatedVmsIntervalDays Die Anzahl der aufeinander folgenden Tage, für die ein virtueller Computer zugeordnet wurde, bevor er für den Löschvorgang empfohlen wird (virtueller Computer wurde für lange Zeit mit Datenträgern behandelt, die noch Kosten entstehen). Der Standardwert ist 30.
AzureOptimization_RecommendationVNetSubnetMaxUsedPercentageThreshold Der maximale Prozentsatz, der für die Subnetz-IP-Speicherplatznutzung toleriert wurde. Standardwert ist 80.
AzureOptimization_RecommendationVNetSubnetMinUsedPercentageThreshold Der mindestprozentige Prozentsatz für die Nutzung von Subnetz-IP-Speicherplatz – jede Verwendung unter diesem Wert kennzeichnet das jeweilige Subnetz als geringer IP-Speicherplatz. Der Standardwert ist 5.
AzureOptimization_RecommendationVNetSubnetEmptyMinAgeInDays Das Mindestalter in Tagen für ein leeres Subnetz, das gekennzeichnet werden soll, wodurch das Kennzeichnen neu erstellter Subnetze vermieden wird. Der Standardwert ist 30.
AzureOptimization_RecommendationVNetSubnetUsedPercentageExclusions Durch Trennzeichen getrennte, in einfache Anführungszeichen eingeschlossene Liste von Subnetznamen, die von den Empfehlungen für subnetznutzungsprozentige Empfehlungen ausgeschlossen werden müssen, 'gatewaysubnet'z. B. ,'azurebastionsubnet'. Wird standardmäßig auf 'gatewaysubnet' festgelegt.
AzureOptimization_RecommendationRBACAssignmentsPercentageThreshold Der maximale Prozentsatz der RBAC-Zuordnungen begrenzt die Verwendung. Standardwert ist 80.
AzureOptimization_RecommendationResourceGroupsPerSubPercentageThreshold Der maximale Prozentsatz der Anzahl der Ressourcengruppen pro Abonnement beschränkt die Nutzung. Standardwert ist 80.
AzureOptimization_RecommendationRBACSubscriptionsAssignmentsLimit Die maximale Grenze für RBAC-Zuordnungen pro Abonnement. Derzeit auf 2000 festgelegt (wie dokumentiert).
AzureOptimization_RecommendationRBACMgmtGroupsAssignmentsLimit Der maximale Grenzwert für RBAC-Zuordnungen pro Verwaltungsgruppe. Derzeit auf 500 (wie dokumentiert) festgelegt.
AzureOptimization_RecommendationResourceGroupsPerSubLimit Der maximale Grenzwert für die Anzahl der Ressourcengruppen pro Abonnement. Derzeit auf 980 festgelegt (wie dokumentiert).
AzureOptimization_RecommendationStorageAcountGrowthThresholdPercentage Der minimale Prozentsatz des Speicherkontowachstums, der erforderlich ist, um "Speicher" als keine Aufbewahrungsrichtlinie zu kennzeichnen.
AzureOptimization_RecommendationStorageAcountGrowthMonthlyCostThreshold Die mindesten monatlichen Kosten (in Ihrer EA/MCA-Währung), die erforderlich sind, um Speicher als keine Aufbewahrungsrichtlinie zu kennzeichnen.
AzureOptimization_RecommendationStorageAcountGrowthLookbackDays Der Lookbackzeitraum (in Tagen) für die Analyse des Speicherkontowachstums.
AzureOptimization_ReferenceRegion Die Azure-Region, die als Referenz zum Abrufen der Liste der verfügbaren SKUs verwendet wird (Standardeinstellung westeuropeist ).
AzureOptimization_RemediateRightSizeMinFitScore Die Mindestgröße für die Bewertung einer VM mit der richtigen Größe muss erforderlich sein, damit die Korrektur durchgeführt werden kann.
AzureOptimization_RemediateRightSizeMinWeeksInARow Die mindeste Anzahl von Wochen in einer Zeile, die eine EMPFEHLUNG für virtuelle Computer mit der richtigen Größe ist, muss abgeschlossen sein, damit die Korrektur durchgeführt wird.
AzureOptimization_RemediateRightSizeTagsFilter Die Tagnamen/Wertpaare müssen eine Empfehlung für die rechte Größe eines virtuellen Computers aufweisen, damit die Korrektur durchgeführt werden kann. Beispiel: [ { "tagName": "a", "tagValue": "b" }, { "tagName": "c", "tagValue": "d" } ]
AzureOptimization_RemediateLongDeallocatedVMsMinFitScore Die Mindestpassungsbewertung einer langen Vm-Empfehlung für den virtuellen Computer muss für die Behebung erforderlich sein.
AzureOptimization_RemediateLongDeallocatedVMsMinWeeksInARow Die mindeste Anzahl von Wochen in einer Zeile, die eine lange Vm-Empfehlung für deallocated VM empfohlen wird, muss abgeschlossen sein, damit die Behebung erfolgt.
AzureOptimization_RemediateLongDeallocatedVMsTagsFilter Die Tagnamen-Wert-Paare müssen eine lange Vm-Empfehlung für deallocated VM haben, damit die Korrektur durchgeführt werden kann. Beispiel: [ { "tagName": "a", "tagValue": "b" }, { "tagName": "c", "tagValue": "d" } ]
AzureOptimization_RemediateUnattachedDisksMinFitScore Die Mindestgröße für die Bewertung eines nicht angefügten Datenträgers muss für die Behebung erforderlich sein.
AzureOptimization_RemediateUnattachedDisksMinWeeksInARow Die Mindestanzahl von Wochen in einer Zeile, für die eine Empfehlung für nicht angefügte Datenträger erforderlich ist, muss abgeschlossen sein, damit die Korrektur durchgeführt wird.
AzureOptimization_RemediateUnattachedDisksAction Die Aktion, die für eine Korrektur von nicht angefügten Datenträgern angewendet werden soll (Delete oder Downsize).
AzureOptimization_RemediateUnattachedDisksTagsFilter Die Tagnamen/Wertpaare müssen eine Empfehlung für nicht angefügte Datenträger aufweisen, damit die Korrektur erfolgen kann. Beispiel: [ { "tagName": "a", "tagValue": "b" }, { "tagName": "c", "tagValue": "d" } ]
AzureOptimization_RightSizeAdditionalPerfWorkspaces Eine durch Trennzeichen getrennte Liste anderer Log Analytics-Arbeitsbereichs-IDs, in denen nach VM-Metriken gesucht werden soll (siehe Konfigurieren von Arbeitsbereichen).
AzureOptimization_PerfThresholdDiskIOPSPercentage Der Schwellenwert für die Datenträger-IOPS-Verwendung. Darunter löst die unterlastete Premium-SSD-Datenträger empfehlungsauslöst.
AzureOptimization_PerfThresholdDiskMBsPercentage Der Schwellenwert für die Verwendung des Datenträgerdurchsatzes. Darunter löst die unterlastete Premium-SSD-Datenträger empfehlungsauslöst.
AzureOptimization_RecommendationsMaxAgeInDays Das maximale Alter (in Tagen) für eine Empfehlung, die in der SQL-Datenbank aufbewahrt werden soll. Standard: 365.
AzureOptimization_RetailPricesCurrencyCode Der Währungscode (z. B. EUR, USD usw.), mit dem die Verkaufspreise für Reservierungen erfasst werden.
AzureOptimization_PriceSheetMeterCategories Die kommagetrennten Meterkategorien, die für die Preisblattfilterung verwendet werden, um unnötige Daten zu vermeiden. Wird standardmäßig auf "Virtual Machines,Storage" festgelegt.
AzureOptimization_ConsumptionScope Der Umfang der Verbrauchsexporte: Subscription (Standard), BillingProfile (nur MCA) oder BillingAccount (für MCA) erfordert das Hinzufügen der Rolle "Abrechnungskontoleser" zur verwalteten AOE-Identität. Weitere Details finden Sie hier.

Verwandte Produkte:

Verwandte Lösungen: