Udostępnij za pośrednictwem


Opcje konfiguracji aparatu optymalizacji platformy Azure

W tym artykule opisano zaawansowane scenariusze konfigurowania lub uaktualniania aparatu optymalizacji platformy Azure (AOE).


Korzystanie z repozytorium lokalnego

Jeśli zdecydujesz się wdrożyć wszystkie zależności z własnego repozytorium lokalnego, musisz opublikować pliki rozwiązania w publicznie dostępnym adresie URL. Należy upewnić się, że cała struktura projektu AOE jest dostępna pod tym samym podstawowym adresem URL. Adresy URL oparte na tokenach sas konta magazynu nie są obsługiwane.

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

Wdrażanie dyskretne

Opcjonalnie możesz również użyć parametru wejściowego SilentDeploymentSettingsPath , aby wdrożyć AOE w bardziej zautomatyzowany sposób.

Odwołanie do pliku powinno być plikiem JSON ze zdefiniowanymi wymaganymi atrybutami (wszystkie obowiązkowe , chyba że określono).

Przykładem zawartości takiego dyskretnego pliku wdrożenia jest:

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

W przypadku dyskretnego wdrażania AOE, które zwykle odbywa się w zautomatyzowanych przepływach pracy ciągłego wdrażania, warto użyć uwierzytelniania Microsoft Entra dla parametrów usługi Azure SQL. Aby na przykład przyznać rolę administratora SQL grupie identyfikatorów Entra firmy Microsoft z jednostką usługi automatyzacji przepływu pracy jako element członkowski. Oto przykład:

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

Uwaga

Podczas wdrażania usługi AOE z tożsamościami nieużytkowników (jednostkami usługi) należy upewnić się, że przypisano tożsamość systemową do programu AOE SQL Server i przyznaj mu Directory Readers rolę w identyfikatorze Entra firmy Microsoft. Wykonaj kroki opisane w temacie Microsoft Entra service principals with Azure SQL (Jednostki usługi Microsoft Entra w usłudze Azure SQL).


Włączanie skoroszytów zobowiązań platformy Azure

Aby użyć skoroszytów, które umożliwiają analizowanie użycia zobowiązań platformy Azure (Benefits Usage, Reservations Usagei Savings Plans Usage) lub oszacowanie wpływu innych zobowiązań zużycia (Benefits Simulation i Reservations Potential), należy skonfigurować usługę AOE i udzielić uprawnień do tożsamości zarządzanej na poziomie umowy dotyczącej zużycia (EA lub Umowa z Klientem Microsoft (MCA)). Jeśli nie można tego zrobić podczas konfigurowania/uaktualniania, nadal możesz wykonać te dodatkowe kroki konfiguracji, pod warunkiem, że zrobisz to z użytkownikiem, który jest zarówno współautorem w grupie zasobów AOE, jak i masz uprawnienia administracyjne w ramach umowy zużycie (Administrator rejestracji przedsiębiorstwa dla umowy EA lub Właściciel profilu rozliczeniowego dla umowy MCA). Wystarczy użyć skryptu Setup-BenefitsUsageDependencies.ps1 przy użyciu następującej składni i odpowiedzieć na żądania wejściowe:

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

Jeśli wystąpią problemy z pozyskiwaniem arkusza cen platformy Azure (ze względu na duży rozmiar eksportu CVS), możesz utworzyć następującą zmienną usługi Azure Automation, aby filtrować w regionach arkusza cen: AzureOptimization_PriceSheetMeterRegions ustaw na regiony rozliczeń rozdzielonych przecinkami maszyn wirtualnych. Na przykład Europa Zachodnia, UE i Północ.

Skoroszyt użycia rezerwacji zawiera kilka kafelków "Nieużywane rezerwacje", które wymagają, aby usługa AOE eksportowała dane użycia w zakresie UMOWY EA/MCA (zamiast domyślnego zakresu subskrypcji). Możesz przełączyć się na użycie zakresu UMOWY EA/MCA, tworząc/aktualizując AzureOptimization_ConsumptionScope zmienną BillingAccount automatyzacji za pomocą (EA/MCA, wymagając ręcznego przyznania innej roli czytelnika konta rozliczeniowego tożsamości zarządzanej AOE) lub BillingProfile (tylko MCA) jako wartości. Ta opcja może wygenerować duży eksport pojedynczego użycia, co może prowadzić do błędów z powodu braku pamięci (z kolei wymagałoby wdrożenia AOE z hybrydowym procesem roboczym).


Uaktualnianie AOE

Jeśli masz poprzednią wersję usługi AOE i chcesz przeprowadzić uaktualnienie, jest to tak proste, jak ponowne uruchomienie skryptu wdrażania. Użyj opcji nazewnictwa zasobów wybranej podczas początkowego wdrożenia. Ponownie wdraża szablon usługi ARM, dodając nowe zasoby i aktualizując istniejące.

Jeśli jednak wcześniej dostosowano składniki, takie jak zmienne automatyzacji lub harmonogramy, zwiększono wydajność wykonywania zadań za pomocą hybrydowych procesów roboczych lub wzmocniono zabezpieczenia rozwiązania za pomocą usługi Private Link, należy uruchomić skrypt wdrożenia z przełącznikiem DoPartialUpgrade , na przykład:

.\Deploy-AzureOptimizationEngine.ps1 -DoPartialUpgrade

W przypadku przełącznika DoPartialUpgrade wdrożenie będzie tylko następujące:

  • Dodawanie nowych kontenerów magazynu
  • Aktualizowanie/dodawanie elementów Runbook usługi Automation
  • Aktualizowanie/dodawanie modułów automatyzacji
  • Dodawanie nowych harmonogramów automatyzacji
  • Dodawanie nowych zmiennych automatyzacji
  • Uaktualnianie modelu bazy danych SQL
  • Aktualizowanie skoroszytów usługi Log Analytics

Niektórzy klienci mogą również dostosować wdrożenie programu SQL Server, na przykład migrowanie z usługi SQL Database do wystąpienia zarządzanego SQL. Nie ma dostępnych narzędzi ułatwiających migrację, ale po zakończeniu migracji bazy danych skrypt uaktualniania AOE obsługuje przyszłe DoPartialUpgrade uaktualnienia z IgnoreNamingAvailabilityErrors włączonym przełącznikiem (pomija walidację nazewnictwa/istnienia programu SQL Server).


Powiązane możliwości finops:

Powiązane produkty:

Powiązane rozwiązania: