Partager via


Options de configuration du moteur d’optimisation Azure

Cet article décrit les scénarios avancés de configuration ou de mise à niveau du moteur d’optimisation Azure (AOE).


Utilisation d’un référentiel local

Si vous choisissez de déployer toutes les dépendances à partir de votre propre référentiel local, vous devez publier les fichiers de solution dans une URL accessible publiquement. Vous devez vous assurer que l’ensemble de la structure de projet AOE est disponible à la même URL de base. Les URL basées sur un jeton SAP du compte de stockage ne sont pas prises en charge.

.\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

Déploiement silencieux

Si vous le souhaitez, vous pouvez également utiliser le SilentDeploymentSettingsPath paramètre d’entrée pour déployer AOE de manière plus automatisée.

Le référencement de fichier doit être un fichier JSON avec les attributs nécessaires définis (tous obligatoires sauf indication spécifiée).

Voici un exemple de contenu de ce fichier de déploiement silencieux :

{
    "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'
  } 

Lors du déploiement silencieux d’AOE, qui se produit généralement dans des flux de travail de déploiement continu automatisés, vous pouvez utiliser l’authentification Microsoft Entra pour les paramètres Azure SQL. Par exemple, pour accorder le rôle d’administrateur SQL à un groupe Microsoft Entra ID ayant le principal du service Automation de workflow en tant que membre. Voici un exemple :

.\Deploy-AzureOptimizationEngine.ps1 -SilentDeploymentSettingsPath "<path to deployment settings file>" -SqlAdminPrincipalType Group -SqlAdminPrincipalName "<Group Name>" -SqlAdminPrincipalObjectId "<Group Object GUID>"

Remarque

Lorsque vous déployez AOE avec des identités non-utilisateur (principaux de service), vous devez vous assurer d’attribuer une identité système à AOE SQL Server et lui accorder le Directory Readers rôle dans l’ID Microsoft Entra. Suivez les étapes des principaux de service Microsoft Entra avec Azure SQL.


Activer les classeurs d’engagements Azure

Pour utiliser les classeurs qui vous permettent d’analyser l’utilisation de vos engagements Azure (Benefits Usageet Savings Plans UsageReservations Usage) ou d’estimer l’effet d’autres engagements de consommation (Benefits SimulationetReservations Potential), vous devez configurer AOE et accorder des privilèges à son identité managée au niveau de votre contrat de consommation (EA ou Contrat client Microsoft (MCA)). Si vous n’avez pas pu le faire lors de l’installation/mise à niveau, vous pouvez toujours exécuter ces étapes de configuration supplémentaires, à condition que vous le fassiez avec un utilisateur qui est à la fois Contributeur dans le groupe de ressources AOE et qui dispose de privilèges d’administration sur le contrat de consommation (Administrateur d’inscription d’entreprise pour EA ou Propriétaire du profil de facturation pour MCA). Vous devez simplement utiliser le Setup-BenefitsUsageDependencies.ps1 script à l’aide de la syntaxe suivante et répondre aux demandes d’entrée :

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

Si vous rencontrez des problèmes avec l’ingestion de la grille tarifaire Azure (en raison de la grande taille de l’exportation CVS), vous pouvez créer la variable Azure Automation suivante, pour filtrer dans les régions de grille tarifaire : AzureOptimization_PriceSheetMeterRegions définissez les régions de facturation séparées par des virgules de vos machines virtuelles. Par exemple, l’UE Ouest, l’UE et le Nord.

Le classeur d’utilisation des réservations comporte quelques vignettes « Réservations inutilisées » qui nécessitent l’AOE pour exporter les données de consommation dans l’étendue EA/MCA (au lieu de l’étendue d’abonnement par défaut). Vous pouvez basculer vers la consommation d’étendue EA/MCA en créant/mettant à jour la AzureOptimization_ConsumptionScope variable Automation avec BillingAccount (EA/MCA, nécessitant un autre rôle Lecteur de compte de facturation accordé manuellement à l’identité managée AOE) ou BillingProfile (MCA uniquement) comme valeur. Cette option peut générer une exportation à grande consommation qui peut entraîner des erreurs en raison d’un manque de mémoire (elle nécessiterait à son tour le déploiement d’AOE avec un Worker hybride).


Mise à niveau d’AOE

Si vous disposez d’une version précédente d’AOE et que vous souhaitez effectuer une mise à niveau, il est aussi simple que de réexécuter le script de déploiement. Utilisez les options de nommage des ressources que vous avez choisies lors du déploiement initial. Il redéploie le modèle ARM, en ajoutant de nouvelles ressources et en mettant à jour les ressources existantes.

Toutefois, si vous avez précédemment personnalisé des composants tels que des variables ou des planifications Automation, amélioré les performances d’exécution des travaux avec des Workers hybrides ou renforcé la solution avec Private Link, vous devez exécuter le script de déploiement avec le DoPartialUpgrade commutateur, par exemple :

.\Deploy-AzureOptimizationEngine.ps1 -DoPartialUpgrade

Avec le DoPartialUpgrade commutateur, le déploiement est uniquement :

  • Ajouter de nouveaux conteneurs de stockage
  • Mettre à jour/ajouter des runbooks Automation
  • Mettre à jour/ajouter des modules Automation
  • Ajouter de nouvelles planifications Automation
  • Ajouter de nouvelles variables Automation
  • Mettre à niveau le modèle de base de données SQL
  • Mettre à jour des classeurs Log Analytics

Certains clients peuvent également personnaliser le déploiement de SQL Server, par exemple, migrer de SQL Database vers une instance managée SQL. Il n’existe aucun outil disponible pour faciliter la migration, mais une fois la migration de base de données effectuée manuellement, le script de mise à niveau AOE prend en charge DoPartialUpgrade les futures mises à niveau avec le IgnoreNamingAvailabilityErrors commutateur activé (ignore la validation de nommage/existence de SQL Server).


Fonctionnalités FinOps connexes :

Produits connexes :

Solutions connexes :