Bagikan melalui


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

$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).

Langkah selanjutnya