Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Používejte prostředí Azure DevTest Labs k snadnému a konzistentnímu zřizování laboratoří s více virtuálními stroji (VM) a platformou jako službou (PaaS). Tento článek popisuje, jak vytvářet prostředí DevTest Labs ze šablon Azure Resource Manageru (ARM ). Tento přístup použijte k vytvoření laboratoře pro vícestupňovou webovou aplikaci, například webovou aplikaci s SQL databázovým backendem.
Prostředky v prostředí DevTest Labs sdílejí stejný životní cyklus. Můžete je spravovat společně a sledovat náklady na jednotlivé prostředky PaaS v testovacím prostředí stejně jako sledovat náklady na jednotlivé virtuální počítače.
Testovací prostředí můžete nakonfigurovat tak, aby používalo šablony prostředí ARM z veřejných nebo privátních úložišť šablon Gitu. Následující diagram ukazuje, jak DevTest Labs používá šablonu ARM z veřejného nebo privátního úložiště k nasazení prostředí obsahujícího virtuální počítače a další prostředky.
Požadavky
- Pokud chcete přidat nebo nakonfigurovat úložiště šablon pro testovací prostředí, alespoň oprávnění přispěvatele v testovacím prostředí.
- K vytváření prostředí v DevTest Labs z dostupných šablon ARM musíte mít v laboratoři alespoň oprávnění DevTest User.
- Pokud chcete spustit skript PowerShellu při vytváření prostředí Automate, Azure PowerShell s nainstalovaným modulem
Az.Resources.
Přiřazení oprávnění k odběru pro nasazení šablon
Pokud vaše organizace vyžaduje oprávnění v rozsahu předplatného pro delegovanou správu šablon, přiřaďte roli Azure Lab Services Contributor v rozsahu předplatného.
Important
Pro tvorbu prostředí DevTest Labs uživatelé laboratoře stále potřebují alespoň oprávnění DevTest uživatele v laboratoři. Role Azure Lab Services Contributor nenahrazuje oprávnění na úrovni laboratoře v DevTest Labs.
- V portálu Azure otevřete předplatné.
- Vyberte Řízení přístupu (IAM)>Přidat>přiřadit roli.
- Vyhledejte a vyberte Azure Lab Services Contributor.
- Vyberte Další, vyberte uživatele, skupinu nebo principála služby a poté zvolte Zkontrolovat + přiřadit.
Pro přístup s nejmenšími oprávněními použijte vlastní roli, která zahrnuje pouze oprávnění požadovaná vaší šablonou a laboratorním workflow, místo širokých práv pro celé předplatné.
Následující příklad vlastní role omezuje přístup k vytváření prostředí DevTest Labs a viditelnosti nasazení. Přidejte pouze akce, které vaše šablona vyžaduje.
{
"Name": "DevTest Labs Environment Template Deployer",
"Description": "Create and read DevTest Labs environments from approved ARM templates.",
"Actions": [
"Microsoft.Authorization/*/read",
"Microsoft.DevTestLab/labs/read",
"Microsoft.DevTestLab/labs/EnsureCurrentUserProfile/action",
"Microsoft.DevTestLab/labs/CreateEnvironment/action",
"Microsoft.DevTestLab/labs/artifactSources/armTemplates/read",
"Microsoft.DevTestLab/labs/policySets/EvaluatePolicies/action",
"Microsoft.DevTestLab/labs/users/environments/read",
"Microsoft.DevTestLab/labs/users/environments/write",
"Microsoft.Resources/deployments/read",
"Microsoft.Resources/deployments/operations/read",
"Microsoft.Resources/subscriptions/resourceGroups/read"
],
"NotActions": [],
"DataActions": [],
"NotDataActions": [],
"AssignableScopes": [
"/subscriptions/<subscription-id>"
]
}
Omezení
Prostředí vytvořená ze šablon prostředí ARM v DevTest Labs mají následující omezení:
Funkce autoshutdownu pro virtuální počítače není podporovaná.
Následující zásady testovacího prostředí se nevynucují ani nevyhodnocují:
- Počet virtuálních počítačů na uživatele testovacího prostředí
- Počet prémiových virtuálních počítačů na uživatele
- Počet disků Premium na uživatele
I když například zásady testovacího prostředí umožňují každému uživateli vytvořit maximálně pět virtuálních počítačů, může uživatel nasadit šablonu prostředí ARM, která vytvoří desítky virtuálních počítačů.
Konfigurace úložišť šablon pro testovací prostředí
Testovací prostředí můžete nakonfigurovat tak, aby používalo šablony prostředí ARM z veřejného úložiště šablon ARM DevTest Labs a z jiných veřejných nebo privátních úložišť Git. Když povolíte přístup laboratoře k repozitáři šablon, uživatelé laboratoře mohou rychle vytvářet prostředí výběrem šablon v portálu Azure.
DevTest Labs veřejný repozitář šablon ARM obsahuje předem připravené šablony prostředí, jako jsou Web App with SQL Database a ukázky clusterů Azure Service Fabric. Šablony mají minimální vstupní parametry, které vám pomůžou zajistit hladký začátek práce s prostředky PaaS.
Šablony veřejného prostředí můžete použít tak, jak jsou, nebo je přizpůsobit podle svých potřeb. Můžete také navrhnout revize nebo dodatky k veřejné šabloně odesláním žádosti o přijetí změn do veřejného úložiště šablon GitHubu.
Šablony prostředí můžete také uložit do jiných veřejných nebo privátních úložišť Git a přidat tato úložiště do testovacího prostředí, aby byly šablony dostupné všem uživatelům testovacího prostředí. Pokyny najdete v tématu Ukládání šablon ARM v úložištích Git a přidání úložišť šablon do testovacích prostředí.
Konfigurace nastavení veřejného prostředí
Pro nové nebo existující testovací prostředí můžete povolit přístup k veřejnému úložišti šablon DevTest Labs. Když povolíte přístup k úložišti, můžete vybrat, které šablony prostředí chcete zpřístupnit uživatelům testovacího prostředí.
Konfigurace přístupu k veřejnému prostředí pro nové testovací prostředí
Pokud chcete nakonfigurovat přístup k úložišti veřejného prostředí při vytváření nového testovacího prostředí, na kartě Základní nastavení nastavte možnost Veřejná prostředí na Zapnuto nebo Vypnuto. Tato možnost je ve výchozím nastavení zapnutá .
Konfigurace přístupu k veřejnému prostředí pro existující testovací prostředí
Povolení nebo zakázání přístupu k úložišti veřejného prostředí pro existující testovací prostředí:
Na stránce Přehled portálu Azure pro vaši laboratoř vyberte v části Nastavení v levé navigační nabídce Konfigurace a zásady.
Na stránce Konfigurace a zásady rozbalte základy virtuálních počítačů v nabídce vlevo a vyberte Veřejná prostředí.
Na stránce Veřejná prostředí nastavte možnost Povolit veřejná prostředí pro toto cvičení na Ano nebo Ne.
Zvolte Uložit.
Výběr dostupných veřejných šablon prostředí
Když pro testovací prostředí povolíte úložiště veřejného prostředí, budou ve výchozím nastavení všechny šablony prostředí v úložišti dostupné uživatelům testovacího prostředí. Můžete se rozhodnout zakázat přístup k vybraným šablonům. Zakázané šablony se už nezobrazují v seznamu prostředí, která můžou uživatelé vytvářet.
Zakázání přístupu ke konkrétním šablonům prostředí:
Na stránce portálu Azure Konfigurace a zásady>základy virtuálních počítačů>Veřejná prostředí, zrušte zaškrtnutí políček vedle prostředí, která chcete zakázat.
Zvolte Uložit.
Konfigurace uživatelských oprávnění prostředí
Ve výchozím nastavení jsou uživatelé laboratoře přiřazeni roli čtenáře v prostředích, která sami vytvářejí. Čtenáři nemůžou zastavit, spustit nebo upravit prostředky prostředí, jako jsou sql servery nebo databáze. Aby uživatelé laboratoře mohli upravovat zdroje ve svém prostředí, přidělte jim roli přispěvatele ve skupině zdrojů pro jejich prostředí.
Na stránce Přehled portálu Azure pro vaši laboratoř vyberte v části Nastavení v levé navigační nabídce Konfigurace a zásady.
Na stránce Konfigurace a zásady rozbalte Nastavení v nabídce vlevo a vyberte Nastavení testovacího prostředí.
Na stránce Nastavení testovacího prostředí v části Přístup k prostředí nastavte možnost Uživatelská práva skupiny prostředků na Přispěvatel.
Zvolte Uložit.
Vytváření prostředí ze šablon
Pokud nastavíte laboratoř tak, aby používala veřejné nebo soukromé šablony, můžete vytvořit prostředí výběrem dostupné ARM šablony. Podle těchto kroků vytvořte prostředí ze šablony.
Na stránce Přehled webu Azure Portal pro vaše testovací prostředí vyberte Moje prostředív levé navigační nabídce.
Na stránce Moje prostředí vyberte Přidat.
Na stránce Vyberte základ vyberte Webová aplikace s databází SQL.
V panelu Přidat zadejte název prostředí a nastavte ostatní nastavení parametrů pro webovou aplikaci a SQL databázové zdroje.
- Každá šablona prostředí ARM obsahuje jedinečné parametry. Když přidáte prostředí, musíte zadat hodnoty pro všechny požadované parametry označené červeným hvězdičkou.
- Některé hodnoty parametrů v souboru azuredeploy.parameters.json v šabloně ARM vytváří prázdná pole nastavení bez výchozí hodnoty v podokně Přidat. Mezi tyto hodnoty patří
GEN-UNIQUE,GEN-UNIQUE-[N],GEN-SSH-PUB-KEYaGEN-PASSWORD. - Tajné kódy ze služby Azure Key Vault můžete použít pro zabezpečené parametry řetězců , jako jsou hesla. Další informace najdete v tématu Ukládání tajných kódů ve službě Azure Key Vault.
Vyberte Přidat. Prostředí se začne zřizovat okamžitě.
Proces zřízení prostředí může trvat dlouho. Celková doba závisí na počtu instancí služeb, virtuálních počítačích a dalších prostředcích, které DevTest Labs vytváří jako součást testovacího prostředí.
Stav zřizování můžete monitorovat na stránce Moje prostředí . Výběrem možnosti Aktualizovat na panelu nástrojů aktualizujte zobrazení stránky a zkontrolujte aktuální stav. Během zřizování je stav prostředí Vytváření. Po dokončení zřizování se stav změní na Připraveno.
Nasazení vytvoří novou skupinu prostředků, která zřídí všechny prostředky prostředí definované šablonou ARM. Výběrem prostředí v seznamu Moje prostředí zobrazíte skupinu prostředků a všechny prostředky vytvořené šablonou.
Vyberte zdroj v seznamu pro zobrazení vlastností a dostupných akcí.
Automatizace vytváření prostředí
Pokud potřebujete vytvořit více prostředí pro scénáře vývoje nebo testování, můžete pomocí Azure PowerShellu nebo Azure CLI automatizovat nasazení prostředí ze šablon ARM. Následující kroky ukazují, jak automatizovat nasazení šablony prostředí ARM pomocí příkazu Azure PowerShellu New-AzResource .
Nasazení můžete také automatizovat pomocí příkazu az deployment group create v Azure CLI. Další informace najdete v tématu Nasazení prostředků pomocí šablon ARM a Azure CLI.
Uložte šablonu prostředí ARM do úložiště Git a přidejte úložiště do testovacího prostředí.
Uložte následující skript PowerShellu do počítače jako deployenv.ps1. Tento skript volá šablonu ARM pro vytvoření prostředí v testovacím prostředí.
#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."Pokud chcete skript použít, spusťte následující příkaz. Aktualizujte zástupné symboly v příkazu vlastními hodnotami testovacího prostředí.
.\DeployLabEnvironment.ps1 ` -SubscriptionId "<Subscription ID>" ` -LabName "<LabName>" ` -ResourceGroupName "<LabResourceGroupName>" ` -RepositoryName "<TemplateRepoName>" ` -TemplateName "<TemplateFolderName>" ` -EnvironmentName "<EnvironmentName>"