Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Pode usar ambientes Azure DevTest Labs para fornecer laboratórios de forma fácil e consistente com múltiplas máquinas virtuais (VMs) e recursos plataforma-como-serviço (PaaS). Este artigo descreve como criar ambientes DevTest Labs a partir de templates Azure Resource Manager (ARM ). Pode usar esta abordagem para criar um laboratório para uma aplicação web multinível ou uma fazenda SharePoint.
Os recursos num ambiente DevTest Labs partilham o mesmo ciclo de vida. Podes geri-los em conjunto e acompanhar o custo dos recursos PaaS individuais no ambiente de laboratório, tal como acompanhas os custos das VMs individuais.
Pode configurar um laboratório para usar templates de ambiente ARM de repositórios públicos ou privados de templates Git. O diagrama seguinte mostra como o DevTest Labs utiliza um modelo ARM de um repositório público ou privado para implementar um ambiente que contém VMs e outros recursos.
Nota
Se precisar de gerir recursos, políticas e definições de segurança PaaS em toda a empresa, ou integração CI/CD entre fases de implementação e aplicações, considere usar Ambientes de Implementação Azure (ADE) para criar ambientes. A ADE permite aos programadores implementar rapidamente infraestruturas de aplicações usando modelos baseados em projetos, garantindo ambientes consistentes e seguros para as suas equipas de desenvolvimento. Para mais informações, consulte a documentação dos Ambientes de Implementação do Azure.
Pré-requisitos
- Para adicionar ou configurar repositórios de modelos para um laboratório, é necessário ter, no mínimo, permissões de Contribuidor no laboratório.
- Para criar ambientes Azure DevTest a partir dos templates ARM disponíveis, é necessário ter pelo menos permissões de DevTest User em laboratório.
- Para executar o script PowerShell no ambiente de criação automático, é necessário o Azure PowerShell com o módulo
Az.Resourcesinstalado.
Limitações
Os ambientes criados a partir de templates de ambiente ARM nos DevTest Labs apresentam as seguintes limitações:
A funcionalidade de auto-desligamento para VMs não é suportada.
As seguintes políticas laboratoriais não são aplicadas nem avaliadas:
- Número de VMs por usuário de laboratório
- Número de VMs premium por usuário
- Número de discos premium por utilizador
Por exemplo, mesmo que a política do laboratório permita a cada utilizador criar no máximo cinco VMs, o utilizador pode implementar um template de ambiente ARM que cria dezenas de VMs.
Configurar repositórios de modelos para laboratórios
Pode configurar o seu laboratório para usar modelos de ambiente ARM do repositório público ARM do DevTest Labs e de outros repositórios Git públicos ou privados. Quando ativa o acesso de laboratório a um repositório de templates, os utilizadores de laboratório podem rapidamente criar ambientes selecionando templates no portal Azure, semelhante à criação de VMs.
O repositório público de templates ARM do DevTest Labs inclui templates de ambiente pré-escritos para Azure Web Apps, um cluster Azure Service Fabric e fazendas SharePoint de desenvolvimento. Para uma experiência de início fluida com recursos PaaS, os templates têm parâmetros de entrada mínimos.
Você pode usar os modelos de ambiente público como estão ou personalizá-los para atender às suas necessidades. Você também pode sugerir revisões ou adições a um modelo público enviando uma solicitação pull no repositório de modelos públicos do GitHub.
Também pode armazenar modelos de ambiente noutros repositórios Git públicos ou privados, e adicionar esses repositórios ao seu laboratório para tornar os templates disponíveis a todos os utilizadores do laboratório. Para instruções, consulte Armazenar templates ARM nos repositórios Git e Adicionar repositórios de templates aos laboratórios.
Definir configurações de ambiente público
Pode ativar o acesso do laboratório ao repositório público de templates do DevTest Labs para um laboratório novo ou existente. Quando ativa o acesso ao repositório, pode selecionar quais os modelos de ambiente a disponibilizar aos utilizadores do laboratório.
Configurar o acesso ao ambiente público para um novo laboratório
Para configurar o acesso ao repositório do ambiente público quando criares um novo laboratório, no separador Definições Básicas , define a opção de ambientes públicos para Ligado ou Desligado. Esta opção está definida como Ligado por defeito.
Configurar o acesso ao ambiente público para um laboratório existente
Para ativar ou desativar o acesso a repositórios de ambiente público para um laboratório existente:
Na página de Visão Geraldo portal Azure para o seu laboratório, selecione Configuração e políticas em Definições no menu de navegação à esquerda.
Na página de Configuração e políticas , expanda as bases da máquina virtual no menu esquerdo e selecione ambientes públicos.
Na página de ambientes públicos , defina a opção Ativar Ambientes Públicos para este laboratóriocomo Sim ou Não.
Selecione Guardar.
Selecionar modelos de ambiente público disponíveis
Quando ativas o repositório público de ambiente para um laboratório, todos os modelos de ambiente no repositório ficam disponíveis para os utilizadores do teu laboratório por defeito. Pode optar por desativar o acesso a modelos selecionados. Os modelos desativados já não aparecem na lista de ambientes que os utilizadores podem criar.
Para impedir o acesso a modelos específicos do ambiente:
Na página de Configuração e políticas> do portal Azure do teu laboratórioBases> de máquinas virtuaisAmbientes públicos, desmarca as caixas de seleção ao lado dos ambientes que queres desativar.
Selecione Guardar.
Configurar permissões de utilizador do ambiente
Por defeito, os utilizadores do laboratório são designados ao papel de Leitor nos ambientes que criam. Os leitores não podem parar, iniciar ou modificar recursos do ambiente como servidores SQL ou bases de dados. Para permitir que os utilizadores do laboratório editem recursos nos seus ambientes, pode conceder-lhes o papel de Contribuinte no grupo de recursos do seu ambiente.
Na página de Visão Geraldo portal Azure para o seu laboratório, selecione Configuração e políticas em Definições no menu de navegação à esquerda.
Na página de Configuração e políticas , expanda Definições no menu esquerdo e selecione Definições de laboratório.
Na página de definições do Laboratório , em Acesso ao Ambiente, defina a opção de direitos de utilizador do grupo de Recursos para Contribuidor.
Selecione Guardar.
Criar ambientes a partir de modelos
Se o seu laboratório estiver configurado para usar repositórios de modelos públicos ou privados, pode criar um ambiente selecionando um modelo ARM disponível, semelhante à criação de uma máquina virtual (VM). Siga estes passos para criar um ambiente a partir de um modelo.
Na página de Visão Geraldo portal Azure para o seu laboratório, selecione Os Meus Ambientes em O Meu Laboratório no menu de navegação à esquerda.
Na página Os Meus Ambientes , selecione Adicionar.
Na página Escolher uma base , selecione o ambiente a criar.
No painel de Adicionar , introduza um nome de Ambiente e configure as outras definições de parâmetros.
- Cada modelo de ambiente ARM inclui parâmetros únicos. Quando adiciona um ambiente, deve introduzir valores para todos os parâmetros necessários, indicados por asteriscos vermelhos.
- Alguns valores de parâmetros num ficheiro de modelo ARM azuredeploy.parameters.json produzem campos de definição em branco sem valor predefinido no painel Adicionar. Estes valores incluem
GEN-UNIQUE,GEN-UNIQUE-[N],GEN-SSH-PUB-KEY, eGEN-PASSWORD. - Podes usar segredos do Azure Key Vault para parâmetros string segura, como palavras-passe. Para mais informações, consulte Guardar segredos no Azure Key Vault.
Selecione Adicionar. O ambiente começa a provisionar imediatamente.
O processo para provisionar um ambiente pode levar muito tempo. O tempo total depende do número de instâncias de serviço, VMs e outros recursos que o DevTest Labs cria como parte do ambiente de laboratório.
Pode monitorizar o estado do provisionamento na página Meus ambientes . Selecione Atualizar na barra de ferramentas para atualizar a vista da página e verificar o estado atual. Enquanto o provisionamento está em andamento, o status do ambiente está sendo criado. Após a conclusão do provisionamento, o status muda para Pronto.
Quando o ambiente estiver pronto, podes expandir o ambiente na lista Meus ambientes para veres as VMs que o template provisionou.
A implementação cria um novo grupo de recursos para provisionar todos os recursos ambientais definidos pelo modelo ARM. Selecione o ambiente na lista Meus ambientes para ver o grupo de recursos e todos os recursos que o modelo criou.
Selecione uma máquina virtual (VM) na lista para ver as propriedades da VM e as ações disponíveis, como gerir configuração, agendamentos e políticas.
Automatizar a criação de ambientes
Se precisares de criar múltiplos ambientes para desenvolvimento ou testes, podes usar o Azure PowerShell ou o Azure CLI para automatizar a implementação de ambientes a partir de templates ARM. Os passos seguintes mostram como automatizar a implementação de templates em ambiente ARM usando o comando Azure PowerShell New-AzResource .
Também pode automatizar a implementação usando o comando Azure CLI az deployment group create . Para obter mais informações, consulte Implantar recursos com modelos ARM e a CLI do Azure.
Armazene o modelo do ambiente ARM num repositório Git e adicione o repositório ao seu laboratório.
Guarde o seguinte script PowerShell no seu computador como deployenv.ps1. Este script chama o modelo ARM para criar o ambiente no laboratório.
#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."Para usar o script, execute o seguinte comando. Atualiza os marcadores no comando com os teus próprios valores de laboratório.
.\DeployLabEnvironment.ps1 ` -SubscriptionId "<Subscription ID>" ` -LabName "<LabName>" ` -ResourceGroupName "<LabResourceGroupName>" ` -RepositoryName "<TemplateRepoName>" ` -TemplateName "<TemplateFolderName>" ` -EnvironmentName "<EnvironmentName>"