Einrichtungsoptionen des Azure-Optimierungsmoduls
In diesem Artikel werden die vorausgehenden Szenarien zum Einrichten oder Aktualisieren des Azure-Optimierungsmoduls (AOE) beschrieben.
Verwenden eines lokalen Repositorys
Wenn Sie alle Abhängigkeiten aus Ihrem eigenen lokalen Repository bereitstellen möchten, müssen Sie die Lösungsdateien in einer öffentlich erreichbaren URL veröffentlichen. Sie müssen sicherstellen, dass die gesamte AOE-Projektstruktur unter derselben Basis-URL verfügbar ist. Speicherkonto-SAS-tokenbasierte URLs werden nicht unterstützt.
.\Deploy-AzureOptimizationEngine.ps1 -TemplateUri <URL to the Bicep file (e.g., https://contoso.com/azuredeploy.bicep)> [-AzureEnvironment <AzureUSGovernment|AzureGermanCloud|AzureCloud>]
# Example - Deploying from a public endpoint
.\Deploy-AzureOptimizationEngine.ps1 -TemplateUri "https://contoso.com/azuredeploy.bicep"
# Example 2 - Deploying from a public endpoint, using resource tags
$tags = @{"CostCenter"="FinOps";"Environment"="Production"}
.\Deploy-AzureOptimizationEngine.ps1 -TemplateUri "https://contoso.com/azuredeploy.bicep" -ResourceTags $tags
Automatische Bereitstellung
Optional können Sie auch den SilentDeploymentSettingsPath
Eingabeparameter verwenden, um AOE auf automatisierte Weise bereitzustellen.
Die Datei, auf die verwiesen wird, sollte eine JSON-Datei sein, wobei die erforderlichen Attribute definiert sind (sofern nicht angegeben).
Ein Beispiel für den Inhalt einer solchen automatischen Bereitstellungsdatei ist:
{
"SubscriptionId": "<<SubscriptionId>>",
"NamePrefix": "<<CustomNamePrefix>>", // prefix for all resources. Fill in 'EmptyNamePrefix' to specify the resource names
"WorkspaceReuse": "n", // y = reuse existing workspace, n = create new workspace
"ResourceGroupName": "<<CustomName>>-rg", // mandatory if NamePrefix is set to 'EmptyNamePrefix'
"StorageAccountName": "<<CustomName>>sa", // mandatory if NamePrefix is set to 'EmptyNamePrefix'
"AutomationAccountName": "<<CustomName>>-auto", // mandatory if NamePrefix is set to 'EmptyNamePrefix'
"SqlServerName": "<<CustomName>>-sql", // mandatory if NamePrefix is set to 'EmptyNamePrefix'
"SqlDatabaseName": "<<CustomName>>-db", // mandatory if NamePrefix is set to 'EmptyNamePrefix'
"WorkspaceName": "<<ExistingName>>", // mandatory if WorkspaceReuse is set to 'n'
"WorkspaceResourceGroupName": "<<ExistingName>>", // mandatory if workspaceReuse is set to 'n'
"DeployWorkbooks": "y", // y = deploy the workbooks, n = don't deploy the workbooks
"TargetLocation": "westeurope",
"DeployBenefitsUsageDependencies": "y", // deploy the dependencies for the Azure commitments workbooks (EA/MCA customers only + agreement administrator role required)
"CustomerType": "MCA", // mandatory if DeployBenefitsUsageDependencies is set to 'y', MCA/EA
"BillingAccountId": "<guid>:<guid>_YYYY-MM-DD", // mandatory if DeployBenefitsUsageDependencies is set to 'y', MCA or EA Billing Account ID
"BillingProfileId": "ABCD-DEF-GHI-JKL", // mandatory if CustomerType is set to 'MCA"
"CurrencyCode": "EUR" // mandatory if DeployBenefitsUsageDependencies is set to 'y'
}
Wenn Sie AOE im Hintergrund bereitstellen, was in der Regel in automatisierten Fortlaufendbereitstellungsworkflows geschieht, sollten Sie die Microsoft Entra-Authentifizierung für Azure SQL-Parameter verwenden. Um beispielsweise der SQL-Administratorrolle einer Microsoft Entra-ID-Gruppe zuzuweisen, die den Workflowautomatisierungsdienstprinzipal als Mitglied hat. Hier sehen Sie ein Beispiel:
.\Deploy-AzureOptimizationEngine.ps1 -SilentDeploymentSettingsPath "<path to deployment settings file>" -SqlAdminPrincipalType Group -SqlAdminPrincipalName "<Group Name>" -SqlAdminPrincipalObjectId "<Group Object GUID>"
Hinweis
Wenn Sie AOE mit Nicht-Benutzeridentitäten (Dienstprinzipale) bereitstellen, müssen Sie sicherstellen, dass Sie dem AOE SQL Server eine Systemidentität zuweisen und ihm die Directory Readers
Rolle in der Microsoft Entra-ID erteilen. Führen Sie die Schritte unter Microsoft Entra-Dienstprinzipale mit Azure SQL aus.
Aktivieren von Azure-Verpflichtungsarbeitsmappen
Um die Arbeitsmappen zu verwenden, mit denen Sie Die Nutzung ihrer Azure-Verpflichtungen (Benefits Usage
, Reservations Usage
und Savings Plans Usage
) analysieren oder die Auswirkungen anderer Verbrauchsverpflichtungen (Benefits Simulation
und Reservations Potential
) schätzen können, müssen Sie AOE konfigurieren und deren verwaltete Identität auf Ihrer Nutzungsvereinbarungsebene (EA oder Microsoft-Kundenvereinbarung ( MCA) berechtigungen erteilen. Wenn Sie dies während des Setups/Upgrades nicht tun konnten, können Sie diese zusätzlichen Konfigurationsschritte weiterhin ausführen, vorausgesetzt, Sie tun es mit einem Benutzer, der sowohl Mitwirkender in der AOE-Ressourcengruppe ist als auch über Administratorrechte für den Verbrauchsvertrag (Enterprise Enrollment Administrator für EA oder Abrechnungsprofilbesitzer für MCA). Sie müssen das Setup-BenefitsUsageDependencies.ps1
Skript nur mit der folgenden Syntax verwenden und die Eingabeanforderungen beantworten:
./Setup-BenefitsUsageDependencies.ps1 -AutomationAccountName <AOE automation account> -ResourceGroupName <AOE resource group> [-AzureEnvironment <AzureUSGovernment|AzureGermanCloud|AzureCloud>]
Wenn Beim Aufnehmen des Azure-Preisblatts (aufgrund der großen Größe des CVS-Exports) Probleme auftreten, können Sie die folgende Azure Automation-Variable erstellen, um in den Preistabellenbereichen zu filtern: AzureOptimization_PriceSheetMeterRegions
Auf die durch Trennzeichen getrennten Abrechnungsregionen Ihrer virtuellen Computer festgelegt. Beispiel: EU-Westen, EU und Norden.
Die Arbeitsmappe "Reservierungsnutzung" verfügt über einige Kacheln "Nicht verwendete Reservierungen", die AOE zum Exportieren von Verbrauchsdaten im EA/MCA-Bereich (anstelle des Standardabonnementbereichs) erfordern. Sie können zu EA/MCA-Bereichsverbrauch wechseln, indem Sie die AzureOptimization_ConsumptionScope
Automatisierungsvariable mit BillingAccount
(EA/MCA) erstellen/aktualisieren, wobei eine andere Rolle des Abrechnungskontolesers manuell der verwalteten AOE-Identität BillingProfile
oder (nur MCA) als Wert zugewiesen werden muss. Diese Option kann einen großen Export für einzelne Verbrauche generieren, der zu Fehlern aufgrund des fehlenden Arbeitsspeichers führen kann (es würde wiederum die Bereitstellung von AOE mit einem Hybrid-Worker erfordern).
Aktualisieren von AOE
Wenn Sie über eine frühere Version von AOE verfügen und ein Upgrade durchführen möchten, ist es so einfach wie das erneute Ausführen des Bereitstellungsskripts. Verwenden Sie die Ressourcenbenennungsoptionen, die Sie bei der ersten Bereitstellung ausgewählt haben. Die ARM-Vorlage wird erneut bereitgestellt, neue Ressourcen hinzugefügt und vorhandene aktualisiert.
Wenn Sie jedoch zuvor Komponenten wie Automatisierungsvariablen oder Zeitpläne angepasst haben, die Leistung der Auftragsausführung mit Hybrid Workern verbessert oder die Lösung mit privatem Link gehärtet haben, sollten Sie das Bereitstellungsskript mit dem DoPartialUpgrade
Switch ausführen, z. B.:
.\Deploy-AzureOptimizationEngine.ps1 -DoPartialUpgrade
Bei der DoPartialUpgrade
Umstellung wird die Bereitstellung nur wie folgt verwendet:
- Hinzufügen neuer Speichercontainer
- Aktualisieren/Hinzufügen von Automatisierungs-Runbooks
- Aktualisieren/Hinzufügen von Automatisierungsmodulen
- Hinzufügen neuer Automatisierungszeitpläne
- Hinzufügen neuer Automatisierungsvariablen
- Aktualisieren des SQL-Datenbankmodells
- Aktualisieren von Log Analytics-Arbeitsmappen
Einige Kunden können auch die SQL Server-Bereitstellung anpassen, z. B. die Migration von SQL-Datenbank zu einem SQL-verwaltete Instanz. Es sind keine Tools verfügbar, um die Migration zu unterstützen, aber sobald die Datenbankmigration manuell durchgeführt wurde, unterstützt das AOE-Upgradeskript zukünftige DoPartialUpgrade
Upgrades mit dem IgnoreNamingAvailabilityErrors
Schalter (überspringt die SQL Server-Benennungs-/Existenzüberprüfung).
Zugehöriger Inhalt
Verwandte FinOps-Funktionen:
Verwandte Produkte:
Verwandte Lösungen: