Cara memublikasikan artefak paket konfigurasi mesin kustom
Sebelum memulai, sebaiknya baca halaman gambaran umum untuk konfigurasi mesin.
Paket kustom .zip
konfigurasi mesin harus disimpan di lokasi yang dapat diakses melalui HTTPS oleh komputer terkelola. Contohnya termasuk repositori GitHub, Azure Repo, penyimpanan Azure, atau server web dalam pusat data pribadi Anda.
Paket konfigurasi yang mendukung Audit
dan AuditandSet
diterbitkan dengan cara yang sama. Tidak perlu melakukan sesuatu yang istimewa selama penerbitan berdasarkan mode paket.
Menerbitkan paket konfigurasi
Lokasi yang disukai untuk menyimpan paket konfigurasi adalah Azure Blob Storage. Tidak ada persyaratan khusus untuk akun penyimpanan, tetapi ada baiknya untuk menghosting file di wilayah dekat komputer Anda. Jika Anda memilih untuk tidak membuat paket menjadi publik, Anda dapat menyertakan token SAS di URL atau mengimplementasikan titik akhir layanan untuk komputer di jaringan pribadi.
Untuk menerbitkan paket konfigurasi Anda ke penyimpanan blob Azure, Anda dapat mengikuti langkah-langkah ini, yang menggunakan modul Az.Storage .
Jika Anda tidak memiliki akun penyimpanan, gunakan contoh berikut untuk membuatnya.
# Creates a new resource group, storage account, and container
$ResourceGroup = '<resource-group-name>'
$Location = '<location-id>'
New-AzResourceGroup -Name $ResourceGroup -Location $Location
$newAccountParams = @{
ResourceGroupname = $ResourceGroup
Location = $Location
Name = '<storage-account-name>'
SkuName = 'Standard_LRS'
}
$container = New-AzStorageAccount @newAccountParams |
New-AzStorageContainer -Name machine-configuration -Permission Blob
Selanjutnya, dapatkan konteks akun penyimpanan tempat Anda ingin menyimpan paket. Jika Anda membuat akun penyimpanan dalam contoh sebelumnya, Anda bisa mendapatkan konteks dari objek kontainer penyimpanan yang $container
disimpan dalam variabel:
$context = $container.Context
Jika Anda menggunakan kontainer penyimpanan yang ada, Anda dapat menggunakan string koneksi kontainer dengan New-AzStorageContext
cmdlet:
$connectionString = @(
'DefaultEndPointsProtocol=https'
'AccountName=<storage-account-name>'
'AccountKey=<storage-key-for-the-account>' # ends with '=='
) -join ';'
$context = New-AzStorageContext -ConnectionString $connectionString
Selanjutnya, tambahkan paket konfigurasi ke akun penyimpanan. Contoh ini mengunggah file ./MyConfig.zip
zip ke kontainer machine-configuration
blob .
$setParams = @{
Container = 'machine-configuration'
File = './MyConfig.zip'
Context = $context
}
$blob = Set-AzStorageBlobContent @setParams
$contentUri = $blob.ICloudBlob.Uri.AbsoluteUri
Catatan
Jika Anda menjalankan contoh ini di Cloudshell tetapi membuat file zip secara lokal, Anda dapat mengunggah file ke Cloudshell.
Meskipun langkah selanjutnya bersifat opsional, Anda harus menambahkan token tanda tangan akses bersama (SAS) di URL untuk memastikan akses aman ke paket. Contoh di bawah ini menghasilkan token SAS blob dengan akses baca dan mengembalikan URI blob penuh dengan token tanda tangan akses bersama. Dalam contoh ini, token memiliki batas waktu tiga tahun.
$startTime = Get-Date
$endTime = $startTime.AddYears(3)
$tokenParams = @{
StartTime = $startTime
ExpiryTime = $endTime
Container = 'machine-configuration'
Blob = 'MyConfig.zip'
Permission = 'r'
Context = $context
FullUri = $true
}
$contentUri = New-AzStorageBlobSASToken @tokenParams
Penting
Setelah Anda membuat token SAS, perhatikan URI yang dikembalikan. Anda tidak dapat mengambil token setelah membuatnya. Anda hanya dapat membuat token baru. Untuk informasi selengkapnya tentang token SAS, lihat Memberikan akses terbatas ke sumber daya Azure Storage menggunakan tanda tangan akses bersama (SAS).