Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Dalam artikel ini, Anda mempelajari cara membuat lingkungan Azure DevTest Labs dari templat Azure Resource Manager (ARM). Anda dapat menggunakan lingkungan DevTest Labs untuk menyediakan lab dengan mudah dan konsisten dengan beberapa sumber daya komputer virtual (VM) atau platform-as-a-service (PaaS). Anda mungkin menggunakan pendekatan ini untuk membuat lab untuk aplikasi web multi-tingkat atau farm SharePoint.
Sumber daya di lingkungan DevTest Labs memiliki siklus hidup yang sama dan Anda dapat mengelolanya bersama-sama. Anda dapat melacak biaya lingkungan lab dan sumber daya PaaS dengan cara yang sama seperti Anda melacak biaya untuk masing-masing VM lab.
Anda dapat mengonfigurasi Azure DevTest Labs untuk menggunakan templat ARM dari repositori GitHub publik atau privat. Diagram berikut menunjukkan cara membuat lingkungan dengan DevTest Labs dari templat ARM di repositori templat publik atau kustom. Bagian repositori templat untuk lab menjelaskan proses ini secara rinci.
Catatan
Azure Deployment Environments (ADE) sangat disarankan untuk membuat lingkungan. ADE memberdayakan pengembang untuk menyebarkan infrastruktur aplikasi dengan cepat menggunakan templat berbasis proyek, memastikan lingkungan yang konsisten dan aman untuk tim pengembangan Anda.
Untuk mempelajari selengkapnya tentang Lingkungan Penyebaran Azure, lihat dokumentasi Lingkungan Penyebaran Azure.
Prasyarat
- Sangat membantu untuk memiliki pengalaman mengonfigurasi lingkungan lab di DevTest Labs. Jika Anda baru bekerja dengan lab, mulailah dengan meninjau instruksi di bagian Mengonfigurasi pengaturan lingkungan publik. Anda perlu memahami cara mengonfigurasi repositori templat, mengaktifkan atau menonaktifkan lingkungan publik, dan memilih templat untuk membuat lab.
Batasan
Ada beberapa batasan yang perlu diingat saat Anda membuat lab dari templat ARM di DevTest Labs:
DevTest Labs tidak mendukung fitur matikan otomatis komputer virtual (VM) untuk sumber daya PaaS yang dibuat dari templat ARM.
DevTest Labs tidak mengevaluasi semua kebijakan lab saat Anda menyebarkan templat ARM. Kebijakan berikut tidak dievaluasi:
- Jumlah VM per pengguna lab
- Jumlah VM premium per pengguna
- Jumlah meja premium per pengguna
Misalkan Anda memiliki kebijakan lab yang memungkinkan setiap pengguna membuat maksimal lima VM. Di DevTest Labs, setiap pengguna dapat menyebarkan templat lingkungan ARM yang membuat puluhan VM.
Membuat lingkungan dari templat ARM
Anda dapat membuat lingkungan dari repositori templat publik Azure DevTest Labs atau Anda dapat menambahkan repositori templat privat ke lab Anda.
Buat lingkungan dari templat dengan mengikuti langkah-langkah berikut:
Di portal Azure, buka sumber daya lab DevTest Labs Anda.
Pada halaman Gambaran Umum lab, perluas bagian Lab saya di menu sebelah kiri, dan pilih Lingkungan saya.
Pada halaman Lingkungan saya, pilih Tambahkan pada toolbar.
Pada halaman Pilih dasar , pilih templat lingkungan ARM untuk digunakan:
Pada panel Tambahkan, masukkan Nama lingkungan, dan konfigurasikan pengaturan parameter lainnya.
Jenis dan jumlah parameter unik untuk setiap templat ARM. Tanda bintang merah (*) menunjukkan pengaturan yang diperlukan. Anda harus memasukkan nilai untuk semua pengaturan yang diperlukan.
Beberapa nilai parameter dalam file templat ARM (azuredeploy.parameters.json) menghasilkan bidang pengaturan kosong di panel Tambahkan (tanpa nilai default). Nilai parameter ini termasuk
GEN-UNIQUE
,GEN-UNIQUE-[N]
,GEN-SSH-PUB-KEY
, danGEN-PASSWORD
.Untuk parameter string aman seperti kata sandi, Anda dapat menggunakan rahasia dari Azure Key Vault. Untuk mempelajari cara menyimpan rahasia di brankas kunci dan menggunakannya saat Anda membuat sumber daya lab, lihat Menyimpan rahasia di Azure Key Vault.
Pilih Tambahkan untuk membuat lingkungan. Lingkungan mulai menyediakan langsung.
Catatan
Proses untuk memprovisikan lingkungan dapat memakan waktu lama. Total waktu tergantung pada jumlah instans layanan, VM, dan sumber daya lain yang dibuat DevTest Labs sebagai bagian dari lingkungan lab.
Untuk memantau status provisi, kembali ke halaman Lingkungan saya untuk lab:
Saat provisi sedang berlangsung, status lingkungan adalah Membuat. Setelah provisi selesai, status berubah menjadi Siap. Anda dapat memilih Refresh pada toolbar untuk memperbarui tampilan halaman dan memeriksa status saat ini.
Saat lingkungan siap, Anda dapat memperluas lingkungan di daftar Lingkungan saya untuk melihat VM yang disediakan oleh templat:
Penyebaran membuat grup sumber daya baru untuk menyediakan semua sumber daya lingkungan yang ditentukan oleh templat ARM. Pilih nama lingkungan di daftar Lingkungan saya untuk melihat grup sumber daya dan semua sumber daya yang dibuat oleh templat:
Pilih VM lingkungan dalam daftar untuk melihat tindakan yang tersedia untuk VM, seperti mengelola konfigurasi, jadwal, dan kebijakan:
Menjelajahi repositori templat
Templat ARM untuk membuat lingkungan di DevTest Labs tersedia dari dua sumber:
DevTest Labs memiliki repositori templat ARM publik yang mencakup templat lingkungan yang telah diautentikasi sebelumnya untuk Azure Web Apps, kluster Azure Service Fabric, dan pengembangan farm SharePoint. Templat memiliki parameter input minimal untuk pengalaman memulai yang lancar dengan sumber daya PaaS. Anda dapat menggunakan templat lingkungan publik apa adanya atau menyesuaikannya agar sesuai dengan kebutuhan Anda. Anda juga dapat menyarankan revisi atau penambahan ke templat publik dengan mengirimkan permintaan pull terhadap repositori templat publik GitHub.
Anda dapat menyimpan templat lingkungan di repositori GitHub publik atau privat Anda sendiri, dan menambahkan repositori tersebut ke lab Anda untuk membuat templat Anda tersedia untuk semua pengguna lab.
Mengonfigurasi pengaturan lingkungan publik
Anda dapat mengonfigurasi lab Anda untuk mengaktifkan penggunaan templat dari repositori GitHub templat publik. Saat Anda mengaktifkan repositori templat publik untuk lab, pengguna dapat dengan cepat membuat lingkungan lab dengan memilih templat ini langsung di portal Azure, mirip dengan cara mereka membuat VM di lab. Selain itu, Anda dapat memilih templat mana yang tersedia bagi pengguna untuk membuat lingkungan lab.
Mengatur akses lingkungan publik untuk lab baru
Konfigurasikan akses repositori lingkungan publik untuk lab baru dengan mengikuti langkah-langkah berikut:
Selama proses untuk membuat sumber daya DevTest Labs, pilih tab Pengaturan Dasar.
Atur opsi Lingkungan publik ke Aktif:
Mengatur akses lingkungan publik untuk lab yang ada
Untuk lab yang ada, atau lab yang Anda buat dengan templat ARM, lingkungan publik mungkin tidak diaktifkan. Anda dapat mengontrol akses ke repositori lingkungan publik untuk lab yang ada dengan opsi Aktifkan Lingkungan Publik untuk lab ini.
Ikuti langkah-langkah ini untuk mengaktifkan atau menonaktifkan akses repositori lingkungan publik untuk lab yang ada:
Di portal Azure, buka sumber daya lab DevTest Labs tempat Anda ingin mengatur akses lingkungan publik.
Pada halaman Gambaran Umum lab Anda, perluas bagian Pengaturan di menu sebelah kiri, dan pilih Konfigurasi dan kebijakan.
Pada halaman Konfigurasi dan kebijakan , perluas bagian Basis komputer virtual di menu sebelah kiri, dan pilih Lingkungan publik.
Pada halaman Lingkungan publik, atur opsi Aktifkan Lingkungan Publik untuk lab ini ke Ya:
Pilih Simpan.
Pilih templat lingkungan publik yang tersedia
Saat Anda mengatur opsi Aktifkan Lingkungan Publik untuk lab ini untuk mengontrol akses ke lingkungan publik untuk lab Anda, semua templat lingkungan dipilih secara default. Pengaturan opsi memungkinkan atau melarang akses ke semua lingkungan berdasarkan pilihan Anda. Anda dapat menggunakan kotak centang pilihan dalam daftar untuk menentukan lingkungan mana yang dapat diakses pengguna Anda.
Ikuti langkah-langkah ini untuk mengizinkan akses hanya ke lingkungan tertentu untuk lab:
Pada halaman Lingkungan publik, atur opsi Aktifkan Lingkungan Publik untuk lab ini ke Ya.
Batal pilih lingkungan tertentu dalam daftar untuk membuatnya tidak tersedia untuk pengguna lab:
Pilih Simpan.
Konfigurasikan hak pengguna lingkungan
Secara default, pengguna lab diberi peran Pembaca di repositori lingkungan publik. Mereka tidak dapat mengubah sumber daya lingkungan, dan tidak dapat menghentikan atau memulai sumber daya.
Gunakan langkah-langkah berikut untuk memberi pengguna lab peran Kontributor dan memungkinkan mereka mengedit sumber daya lingkungan:
Di portal Azure, buka sumber daya lab DevTest Labs tempat Anda ingin menyesuaikan penetapan peran pengguna.
Pada halaman Gambaran Umum lab Anda, perluas bagian Pengaturan di menu sebelah kiri, dan pilih Konfigurasi dan kebijakan.
Pada halaman Konfigurasi dan kebijakan , perluas bagian Pengaturan di menu sebelah kiri, dan pilih Pengaturan lab.
Pada halaman Pengaturan lab, atur opsi Hak pengguna grup sumber daya akses>lingkungan ke Kontributor:
Pilih Simpan.
Mengotomatiskan pembuatan lingkungan
Jika Anda perlu membuat beberapa lingkungan untuk skenario pengembangan atau pengujian, Anda dapat mengotomatiskan penyebaran lingkungan dengan Azure PowerShell atau Azure CLI.
Pemilik dan administrator lab dapat menggunakan Azure PowerShell untuk membuat VM dan lingkungan dari templat ARM. Anda juga dapat mengotomatiskan penyebaran melalui Azure CLI dengan menggunakan perintah az deployment group create untuk membuat lingkungan. Untuk informasi selengkapnya, lihat Menyebarkan sumber daya dengan templat ARM dan Azure CLI.
Catatan
Sebaiknya Anda menggunakan modul Azure Az PowerShell untuk berinteraksi dengan Azure. Untuk memulai, lihat Menginstal Azure PowerShell. Untuk mempelajari cara bermigrasi ke modul Az PowerShell, lihat Memigrasikan Azure PowerShell dari AzureRM ke Az.
Otomatiskan penyebaran templat lingkungan ARM dengan Azure PowerShell dengan langkah-langkah berikut:
Simpan skrip PowerShell berikut ke komputer Anda dengan nama file deployenv.ps1. Skrip ini memanggil templat ARM untuk membuat lingkungan di lab.
#Requires -Module Az.Resources [CmdletBinding()] param ( # ID of the Azure subscription for the lab [string] [Parameter(Mandatory=$true)] $SubscriptionId, # Name of the lab in which to create the environment [string] [Parameter(Mandatory=$true)] $LabName, # Name of the template repository connected to the lab [string] [Parameter(Mandatory=$true)] $RepositoryName, # Name of the template (folder name in the GitHub repository) [string] [Parameter(Mandatory=$true)] $TemplateName, # Name of the environment to create in the lab [string] [Parameter(Mandatory=$true)] $EnvironmentName, # The parameters to pass to the template. Each parameter is prefixed with "-param_". # For example, if the template has a parameter named "TestVMName" with a value of "MyVMName", # the string in $Params is "-param_TestVMName MyVMName". # This convention allows the script to dynamically handle different templates. [Parameter(ValueFromRemainingArguments=$true)] $Params ) # Sign in to Azure, or comment out this statement to completely automate environment creation. Connect-AzAccount # Select the subscription for your lab. Set-AzContext -SubscriptionId $SubscriptionId | Out-Null # Get the user ID to use later in the script. $UserId = $((Get-AzADUser -UserPrincipalName ((Get-AzContext).Account).Id).Id) # Get the lab location. $lab = Get-AzResource -ResourceType "Microsoft.DevTestLab/labs" -Name $LabName if ($lab -eq $null) { throw "Unable to find lab $LabName in subscription $SubscriptionId." } # Get information about the repository connected to your lab. $repository = Get-AzResource -ResourceGroupName $lab.ResourceGroupName ` -ResourceType 'Microsoft.DevTestLab/labs/artifactsources' ` -ResourceName $LabName ` -ApiVersion 2016-05-15 ` | Where-Object { $RepositoryName -in ($_.Name, $_.Properties.displayName) } ` | Select-Object -First 1 if ($repository -eq $null) { throw "Unable to find repository $RepositoryName in lab $LabName." } # Get information about the ARM template base for the environment. $template = Get-AzResource -ResourceGroupName $lab.ResourceGroupName ` -ResourceType "Microsoft.DevTestLab/labs/artifactSources/armTemplates" ` -ResourceName "$LabName/$($repository.Name)" ` -ApiVersion 2016-05-15 ` | Where-Object { $TemplateName -in ($_.Name, $_.Properties.displayName) } ` | Select-Object -First 1 if ($template -eq $null) { throw "Unable to find template $TemplateName in lab $LabName." } # Build the template parameters by using parameter names and values. $parameters = Get-Member -InputObject $template.Properties.contents.parameters -MemberType NoteProperty | Select-Object -ExpandProperty Name $templateParameters = @() # Extract the custom parameters from $Params and format them as name/value pairs. $Params | ForEach-Object { if ($_ -match '^-param_(.*)' -and $Matches[1] -in $parameters) { $name = $Matches[1] } elseif ( $name ) { $templateParameters += @{ "name" = "$name"; "value" = "$_" } $name = $null #reset name variable } } # Create an object to hold the necessary template properties. $templateProperties = @{ "deploymentProperties" = @{ "armTemplateId" = "$($template.ResourceId)"; "parameters" = $templateParameters }; } # Deploy the environment in your lab by using the New-AzResource command. New-AzResource -Location $Lab.Location ` -ResourceGroupName $lab.ResourceGroupName ` -Properties $templateProperties ` -ResourceType 'Microsoft.DevTestLab/labs/users/environments' ` -ResourceName "$LabName/$UserId/$EnvironmentName" ` -ApiVersion '2016-05-15' -Force Write-Output "Environment $EnvironmentName completed."
Perbarui tempat penampung berikut dalam skrip dengan nilai lab Anda sendiri:
SubscriptionId
LabName
ResourceGroupName
RepositoryName
TemplateName
(folder templat di repositori GitHub)EnvironmentName
Cuplikan berikut menunjukkan cara menjalankan skrip dengan contoh nilai parameter:
./deployenv.ps1 -SubscriptionId "000000000-0000-0000-0000-0000000000000" -LabName "mydevtestlab" -ResourceGroupName "mydevtestlabRG000000" -RepositoryName "myRepository" -TemplateName "ARM template folder name" -EnvironmentName "myNewEnvironment"
Jalankan skrip.