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.
Anda dapat menggunakan lingkungan Azure DevTest Labs untuk menyediakan lab dengan mudah dan konsisten dengan beberapa komputer virtual (VM) dan sumber daya platform-as-a-service (PaaS). Artikel ini menjelaskan cara membuat lingkungan DevTest Labs dari templat Azure Resource Manager (ARM ). Anda mungkin menggunakan pendekatan ini untuk membuat lab untuk aplikasi web multitier atau farm SharePoint.
Sumber daya di lingkungan DevTest Labs memiliki siklus hidup yang sama. Anda dapat mengelolanya bersama-sama, dan melacak biaya sumber daya PaaS individual di lingkungan lab sama seperti Anda melacak biaya untuk masing-masing VM.
Anda dapat mengonfigurasi lab untuk menggunakan templat lingkungan ARM dari repositori templat Git publik atau privat. Diagram berikut menunjukkan bagaimana DevTest Labs menggunakan templat ARM dari repositori publik atau privat untuk menyebarkan lingkungan yang berisi VM dan sumber daya lainnya.
Catatan
Jika Anda perlu mengelola sumber daya, kebijakan, dan pengaturan keamanan PaaS di seluruh perusahaan, atau integrasi CI/CD di seluruh tahap penyebaran dan aplikasi, pertimbangkan untuk menggunakan Azure Deployment Environments (ADE) untuk membuat lingkungan. ADE memungkinkan pengembang menyebarkan infrastruktur aplikasi dengan cepat menggunakan templat berbasis proyek, memastikan lingkungan yang konsisten dan aman untuk tim pengembangan Anda. Untuk informasi selengkapnya, lihat dokumentasi Lingkungan Penyebaran Azure.
Prasyarat
- Untuk menambahkan atau mengonfigurasi repositori templat untuk lab, memerlukan setidaknya izin Kontributor di lab.
- Untuk membuat lingkungan Azure DevTest dari templat ARM yang tersedia, setidaknya diperlukan izin Pengguna DevTest di lab.
- Untuk menjalankan skrip PowerShell dalam Mengotomatiskan pembuatan lingkungan, Azure PowerShell dengan modul
Az.Resourcesterpasang.
Batasan
Lingkungan yang dibuat dari templat lingkungan ARM di DevTest Labs memiliki batasan berikut:
Fitur matikan otomatis untuk VM tidak didukung.
Kebijakan lab berikut tidak diberlakukan atau dievaluasi:
- Jumlah VM per pengguna lab
- Jumlah VM premium per pengguna
- Jumlah disk premium per pengguna
Misalnya, bahkan jika kebijakan lab hanya memungkinkan setiap pengguna untuk membuat maksimal lima VM, pengguna dapat menyebarkan templat lingkungan ARM yang membuat puluhan VM.
Mengonfigurasi repositori templat untuk lab
Anda dapat mengonfigurasi lab Anda untuk menggunakan templat lingkungan ARM dari repositori templat ARM publik DevTest Labs dan dari repositori Git publik atau privat lainnya. Saat Anda mengaktifkan akses lab ke repositori templat, pengguna lab dapat dengan cepat membuat lingkungan dengan memilih templat di portal Microsoft Azure, mirip dengan membuat VM.
Repositori templat ARM publik DevTest Labs mencakup templat lingkungan yang telah diautentikasi sebelumnya untuk Azure Web Apps, kluster Azure Service Fabric, dan farm SharePoint pengembangan. Untuk pengalaman memulai yang lancar dengan sumber daya PaaS, templat memiliki parameter input minimal.
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 juga dapat menyimpan templat lingkungan di repositori Git publik atau privat lainnya, dan menambahkan repositori tersebut ke lab Anda untuk membuat templat tersedia untuk semua pengguna lab. Untuk petunjuknya, lihat Menyimpan templat ARM di repositori Git dan Menambahkan repositori templat ke lab.
Mengonfigurasi pengaturan lingkungan publik
Anda dapat mengaktifkan akses lab ke repositori templat publik DevTest Labs untuk lab baru atau yang sudah ada. Saat mengaktifkan akses ke repositori, Anda dapat memilih templat lingkungan mana yang akan disediakan untuk pengguna lab.
Mengonfigurasi akses lingkungan publik untuk lab baru
Untuk mengonfigurasi akses repositori lingkungan publik saat Anda membuat lab baru, pada tab Pengaturan Dasar , atur opsi Lingkungan publik ke Aktif atau Nonaktif. Opsi ini diatur ke Aktif secara default.
Mengonfigurasi akses lingkungan publik untuk lab yang ada
Untuk mengaktifkan atau menonaktifkan akses repositori lingkungan publik untuk lab yang ada:
Pada halaman Gambaran Umumportal Microsoft Azure untuk lab Anda, pilih Konfigurasi dan kebijakan di bawah Pengaturan di menu navigasi kiri.
Pada halaman Konfigurasi dan kebijakan , perluas 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 atau Tidak.
Pilih Simpan.
Pilih templat lingkungan publik yang tersedia
Saat Anda mengaktifkan repositori lingkungan publik untuk lab, semua templat lingkungan di repositori tersedia untuk pengguna lab Anda secara default. Anda dapat memilih untuk menonaktifkan akses ke templat yang dipilih. Templat yang dinonaktifkan tidak lagi muncul dalam daftar lingkungan yang dapat dibuat pengguna.
Untuk melarang akses ke templat lingkungan tertentu:
Pada halaman Konfigurasi dan kebijakan>Basis mesin virtual>Lingkungan publik di portal Azure lab Anda, batalkan pilihan kotak centang di samping lingkungan yang ingin Anda nonaktifkan.
Pilih Simpan.
Mengonfigurasi izin pengguna lingkungan
Secara default, pengguna lab ditetapkan ke peran Pembaca di lingkungan yang mereka buat. Pembaca tidak dapat menghentikan, memulai, atau memodifikasi sumber daya lingkungan seperti server atau database SQL. Untuk memungkinkan pengguna lab mengedit sumber daya di lingkungan mereka, Anda dapat memberi mereka peran Kontributor dalam grup sumber daya untuk lingkungan mereka.
Pada halaman Gambaran Umumportal Microsoft Azure untuk lab Anda, pilih Konfigurasi dan kebijakan di bawah Pengaturan di menu navigasi kiri.
Pada halaman Konfigurasi dan kebijakan , perluas Pengaturan di menu sebelah kiri dan pilih Pengaturan lab.
Pada halaman Pengaturan lab di bawah Akses lingkungan, atur opsi Hak pengguna grup sumber daya ke Kontributor.
Pilih Simpan.
Membuat lingkungan dari templat ARM
Jika lab Anda dikonfigurasi untuk menggunakan repositori templat publik atau privat, Anda dapat membuat lingkungan dengan memilih templat ARM yang tersedia, mirip dengan membuat komputer virtual (VM). Ikuti langkah-langkah ini untuk membuat lingkungan dari templat.
Pada halaman Gambaran Umumportal Microsoft Azure untuk lab Anda, pilih Lingkungan saya di bawah Lab Saya di menu navigasi kiri.
Pada halaman Lingkungan saya , pilih Tambahkan.
Pada halaman Pilih dasar , pilih lingkungan yang akan dibuat.
Pada panel Tambahkan , masukkan Nama lingkungan dan konfigurasikan pengaturan parameter lainnya.
- Setiap templat lingkungan ARM menyertakan parameter unik. Saat menambahkan lingkungan, Anda harus memasukkan nilai untuk semua parameter yang diperlukan, yang ditandai dengan tanda bintang merah.
- Beberapa nilai parameter dalam file templat ARMazuredeploy.parameters.json menghasilkan bidang pengaturan kosong tanpa nilai default pada panel Tambahkan . Nilai-nilai ini termasuk
GEN-UNIQUE,GEN-UNIQUE-[N],GEN-SSH-PUB-KEY, danGEN-PASSWORD. - Anda dapat menggunakan rahasia dari Azure Key Vault untuk parameter string aman seperti kata sandi. Untuk informasi selengkapnya, lihat Menyimpan rahasia di Azure Key Vault.
Pilih Tambahkan. Lingkungan mulai menyediakan langsung.
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.
Anda dapat memantau status provisi di halaman Lingkungan saya . Pilih Refresh pada toolbar untuk memperbarui tampilan halaman dan memeriksa status saat ini. Saat provisi sedang berlangsung, status lingkungan adalah Membuat. Setelah provisi selesai, status berubah menjadi Siap.
Saat lingkungan siap, Anda dapat memperluas lingkungan di daftar Lingkungan saya untuk melihat VM yang disediakan templat.
Penyebaran membuat grup sumber daya baru untuk menyediakan semua sumber daya lingkungan yang ditentukan templat ARM. Pilih lingkungan di daftar Lingkungan saya untuk melihat grup sumber daya dan semua sumber daya yang dibuat templat.
Pilih komputer virtual (VM) dalam daftar untuk melihat properti VM dan tindakan yang tersedia, seperti mengelola konfigurasi, jadwal, dan kebijakan.
Mengotomatiskan pembuatan lingkungan
Jika Anda perlu membuat beberapa lingkungan untuk skenario pengembangan atau pengujian, Anda dapat menggunakan Azure PowerShell atau Azure CLI untuk mengotomatiskan penyebaran lingkungan dari templat ARM. Langkah-langkah berikut menunjukkan cara mengotomatiskan penyebaran templat lingkungan ARM menggunakan perintah Azure PowerShell New-AzResource .
Anda juga dapat mengotomatiskan penyebaran dengan menggunakan perintah az deployment group create Azure CLI. Untuk informasi selengkapnya, lihat Menyebarkan sumber daya dengan templat ARM dan Azure CLI.
Simpan templat lingkungan ARM di repositori Git dan tambahkan repositori ke lab Anda.
Simpan skrip PowerShell berikut ke komputer Anda sebagai 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."Untuk menggunakan skrip, jalankan perintah berikut. Perbarui placeholder dalam perintah dengan nilai-nilai laboratorium Anda sendiri.
.\DeployLabEnvironment.ps1 ` -SubscriptionId "<Subscription ID>" ` -LabName "<LabName>" ` -ResourceGroupName "<LabResourceGroupName>" ` -RepositoryName "<TemplateRepoName>" ` -TemplateName "<TemplateFolderName>" ` -EnvironmentName "<EnvironmentName>"