Bagikan melalui


Opsi penyiapan mesin pengoptimalan Azure

Artikel ini menjelaskan skenario lanjutan untuk menyiapkan atau meningkatkan mesin pengoptimalan Azure (AOE).


Menggunakan repositori lokal

Jika Anda memilih untuk menyebarkan semua dependensi dari repositori lokal Anda sendiri, Anda harus menerbitkan file solusi ke DALAM URL yang dapat dijangkau secara publik. Anda harus memastikan seluruh struktur proyek AOE tersedia di URL dasar yang sama. URL Token SAS untuk Akun Penyimpanan tidak didukung.

.\Deploy-AzureOptimizationEngine.ps1 -TemplateUri <URL to the Bicep file (for example, 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

Penyebaran senyap

Secara opsional, Anda juga dapat menggunakan SilentDeploymentSettingsPath parameter input untuk menyebarkan AOE dengan cara yang lebih otomatis.

Referensi file harus berupa file JSON dengan atribut yang diperlukan yang ditentukan (semua wajib kecuali ditentukan).

Contoh konten file penyebaran senyap tersebut adalah:

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

Saat menyebarkan AOE secara diam-diam, yang biasanya terjadi dalam alur kerja penyebaran berkelanjutan otomatis, Anda mungkin ingin menggunakan autentikasi Microsoft Entra untuk parameter Azure SQL. Misalnya, untuk memberikan peran administrator SQL ke grup ID Microsoft Entra yang memiliki perwakilan layanan otomatisasi alur kerja sebagai anggota. Berikut contohnya:

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

Catatan

Ketika Anda menyebarkan AOE dengan identitas non-pengguna (perwakilan layanan), Anda harus memastikan bahwa Anda menetapkan identitas sistem ke AOE SQL Server dan memberikan peran Directory Readers di Microsoft Entra ID. Ikuti langkah-langkah di perwakilan layanan Microsoft Entra dengan Azure SQL.


Mengaktifkan buku kerja komitmen Azure

Untuk menggunakan Buku Kerja yang memungkinkan Anda menganalisis penggunaan komitmen Azure Anda (Benefits Usage, , dan Reservations Usage) atau memperkirakan efek memiliki komitmen konsumsi lain (Savings Plans Usage dan Benefits Simulation), Anda perlu mengonfigurasi AOE dan memberikan hak istimewa ke Identitas Terkelolanya pada tingkat perjanjian konsumsi Anda (EA atau Perjanjian Pelanggan Microsoft (Reservations PotentialMCA)). Jika Anda tidak dapat melakukannya selama penyiapan/peningkatan, Anda masih dapat menjalankan langkah-langkah konfigurasi tambahan tersebut, asalkan Anda melakukannya dengan pengguna yang merupakan Kontributor dalam grup sumber daya AOE dan memiliki hak administratif atas perjanjian konsumsi (Administrator Pendaftaran Perusahaan untuk EA atau Pemilik Profil Penagihan untuk MCA). Anda hanya perlu menggunakan Setup-BenefitsUsageDependencies.ps1 skrip menggunakan sintaks berikut dan menjawab permintaan input:

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

Jika Anda mengalami masalah dengan proses impor Lembar Harga Azure (karena ukuran ekspor CSV yang besar), Anda dapat membuat variabel Azure Automation berikut untuk memfilter wilayah dalam Lembar Harga: AzureOptimization_PriceSheetMeterRegions atur ke daftar wilayah penagihan yang dipisahkan dengan koma dari mesin virtual Anda. Misalnya, UE Barat, UE, dan Utara.

Buku Kerja Penggunaan Reservasi memiliki beberapa petak peta "Reservasi yang Tidak Digunakan" yang mengharuskan AOE untuk mengekspor data Konsumsi di cakupan EA/MCA (alih-alih cakupan Langganan default). Anda dapat beralih ke konsumsi lingkup EA/MCA dengan membuat atau memperbarui nilai variabel Otomasi AzureOptimization_ConsumptionScope menjadi BillingAccount (EA/MCA, yang memerlukan peran Pembaca Akun Penagihan lain yang diberikan secara manual ke identitas terkelola AOE) atau BillingProfile (khusus MCA). Opsi ini dapat menghasilkan ekspor konsumsi tunggal dalam jumlah besar yang mungkin menyebabkan kesalahan akibat kurangnya memori (yang pada gilirannya akan memerlukan penyebaran AOE dengan Hybrid Worker).


Peningkatan AOE

Jika Anda memiliki versi AOE sebelumnya dan ingin meningkatkannya, itu sesederhana menjalankan ulang skrip penyebaran. Gunakan opsi penamaan sumber daya yang Anda pilih pada penyebaran awal. Ini menyebarkan ulang templat ARM, menambahkan sumber daya baru dan memperbarui yang sudah ada.

Namun, jika sebelumnya Anda telah menyesuaikan komponen seperti variabel atau jadwal Automation, meningkatkan kinerja eksekusi pekerjaan dengan Hybrid Workers, atau memperkuat solusi dengan Private Link, maka Anda harus menjalankan skrip penyebaran dengan sakelar DoPartialUpgrade, misalnya:

.\Deploy-AzureOptimizationEngine.ps1 -DoPartialUpgrade

Dengan sakelar DoPartialUpgrade, penyebaran hanya akan:

  • Menambahkan kontainer penyimpanan baru
  • Memperbarui/menambahkan buku panduan otomatisasi
  • Memperbarui/menambahkan modul Automation
  • Tambahkan jadwal otomatisasi baru
  • Menambahkan variabel Automation baru
  • Tingkatkan model basis data SQL
  • Memperbarui Buku Kerja Analitik Log

Beberapa pelanggan mungkin juga menyesuaikan penyebaran SQL Server, misalnya, bermigrasi dari SQL Database ke SQL Managed Instance. Tidak ada alat bantu yang tersedia untuk membantu migrasi, tetapi setelah migrasi database dilakukan secara manual, skrip peningkatan AOE mendukung peningkatan versi di masa mendatang DoPartialUpgrade dengan IgnoreNamingAvailabilityErrors mengaktifkan (melewati validasi penamaan/keberadaan SQL Server).


Kemampuan FinOps terkait:

Produk terkait:

Solusi terkait: