Azure DevTest Labs-környezetek létrehozása ARM-sablonokból

Ebből a cikkből megtudhatja, hogyan hozhat létre Azure DevTest Labs-környezeteket Azure Resource Manager -sablonokból. A DevTest Labs-környezetekkel egyszerűen és következetesen építhet ki tesztkörnyezeteket több virtuális géppel vagy szolgáltatásként nyújtott platformmal (PaaS) rendelkező erőforrásokkal. Például egy többrétegű webalkalmazás vagy egy SharePoint-farm tesztkörnyezetének létrehozásához.

A környezet erőforrásai ugyanazt az életciklust használják, és együtt kezelheti őket. A tesztkörnyezetek és a PaaS-erőforrások költségeit ugyanúgy nyomon követheti, mint az egyes tesztkörnyezeti virtuális gépek költségeit.

Konfigurálhatja Azure DevTest Labs arm-sablonok használatára egy nyilvános vagy privát Git-adattárból. További információ a tesztkörnyezetek sablontárairól.

Egy nyilvános vagy egyéni sablontárban lévő ARM-sablonból Azure DevTest Labs környezet létrehozását bemutató ábra.

Ha ARM-sablonnal szeretne létrehozni egy Azure DevTest Labs-erőforrást, olvassa el a Rövid útmutató: ARM-sablon használata tesztkörnyezet létrehozásához a DevTest Labsben című témakört.

Korlátozások

Vegye figyelembe ezeket a korlátozásokat, amikor ARM-sablonokból hoz létre tesztkörnyezeteket a DevTest Labsben:

  • A virtuális gép automatikus leállítása nem vonatkozik a PaaS-erőforrásokra.

  • Nem minden laborszabályzat lesz kiértékelve ARM-sablonok üzembe helyezésekor. A kiértékeletlen szabályzatok közé tartoznak a következők: virtuális gépek száma tesztkörnyezet-felhasználónként, prémium szintű virtuális gépek száma felhasználónként és prémium szintű munkaállomások száma felhasználónként. Előfordulhat például, hogy a tesztkörnyezet szabályzata csak öt virtuális gépre korlátozza a felhasználókat. A felhasználók azonban üzembe helyezhetnek egy ARM-környezetsablont, amely több tucat virtuális gépet hoz létre.

Környezetek létrehozása sablonokból

Létrehozhat egy környezetet a Azure DevTest Labs nyilvános sablonadattárból, vagy hozzáadhat egy privát sablontárat a tesztkörnyezethez.

Megtudhatja, hogyan konfigurálhat környezeteket a tesztkörnyezethez. Például hogyan konfigurálhatja a sablontárakat, engedélyezheti vagy tilthatja le a nyilvános környezeteket, és hogyan választhat ki adott sablonokat a tesztkörnyezetek létrehozásához.

Környezet létrehozása sablonból:

  1. A Azure Portal válassza ki a laborerőforrást.

  2. A labor Áttekintés lapján válassza a felső eszköztár Hozzáadás elemét.

  3. Az Alap kiválasztása lapon válassza ki a használni kívánt ARM-környezetsablont. Az elérhető környezetsablonok az alapok listájában jelennek meg először.

    Képernyőkép a nyilvános környezet sablonjairól.

  4. A Hozzáadás képernyőn adja meg a Környezet nevét, és töltse ki a többi beviteli mezőt.

    A bemeneti mezők számát és típusát az ARM-sablon határozza meg. Szükség esetén adja meg azokat a bemeneti mezőket, amelyeket az azuredeploy.parameters.json sablon üresként vagy alapértelmezettként határoz meg.

    • A paraméterekhez secure string használhatja az Azure Key Vault titkos kulcsait. Ha szeretné megtudni, hogyan tárolhat titkos kulcsokat egy kulcstartóban, és hogyan használhatja őket tesztkörnyezeti erőforrások létrehozásakor, olvassa el a Titkos kódok tárolása az Azure Key Vault-ban című témakört.

    • Az ARM-sablonfájlokban a GEN-UNIQUE, GEN-UNIQUE-[N], GEN-SSH-PUB-KEYés GEN-PASSWORD paraméterértékek üres beviteli mezőket hoznak létre a felhasználók számára az értékek beviteléhez.

    Képernyőkép a SharePoint-környezet Hozzáadás paneljéről.

  5. A környezet létrehozásához válassza a Hozzáadás lehetőséget.

    A környezet azonnal megkezdi a kiépítést. A kiépítési állapotot a Saját környezetek területen, a tesztkörnyezet áttekintési oldalán tekintheti meg. A környezet kiépítése hosszú időt vehet igénybe.

  6. A környezet létrehozása után bontsa ki a környezetet a Saját környezetek területen a virtuális gépek és egyéb erőforrások listájának megtekintéséhez, amelyeket a sablon kiépített.

    Képernyőkép a környezet alatti virtuális gépek listájáról.

    Az üzembe helyezés létrehoz egy új erőforráscsoportot az ARM-sablon által meghatározott összes környezeti erőforrás kiépítéséhez. Válassza ki a környezet nevét a Saját környezetek területen az erőforráscsoport és a sablon által létrehozott összes erőforrás megtekintéséhez.

    Képernyőkép az erőforráscsoportról az összes környezeti erőforrással.

  7. Válasszon ki egy környezeti virtuális gépet a virtuális gép elérhető műveleteinek megtekintéséhez, például a konfiguráció, az ütemezések és a szabályzatok kezeléséhez.

    Képernyőkép egy környezeti virtuális gép elérhető műveleteiről.

Környezeti sablontárak

A Azure DevTest Labs arm-sablonokból hozhat létre környezeteket. Az ARM-sablonok két forrásból származhatnak:

Tipp

Ha korrektúrákat vagy kiegészítéseket szeretne javasolni a nyilvános sablonokhoz, küldjön lekéréses kérelmet a nyílt forráskódú GitHub nyilvános sablontárházhoz.

Nyilvános környezet beállításainak konfigurálása a tesztkörnyezethez

A tesztkörnyezetet úgy konfigurálhatja, hogy engedélyezze a nyilvános sablontárból származó sablonok használatát. Ha engedélyezi a nyilvános sablontárat egy tesztkörnyezethez, a felhasználók gyorsan létrehozhatnak egy környezetet úgy, hogy közvetlenül a Azure Portal választják ki ezeket a sablonokat, hasonlóan ahhoz, ahogyan egy tesztkörnyezetben létrehoznak egy virtuális gépet.

Emellett kiválaszthatja, hogy mely sablonokból hozhatnak létre környezeteket a felhasználók.

Nyilvános környezetek engedélyezése tesztkörnyezet létrehozásakor

Tesztkörnyezet létrehozásakor a nyilvános környezeti adattár hozzáférésének engedélyezése egy tesztkörnyezethez:

  1. DevTest Labs-erőforrás létrehozásakor válassza az Alapbeállítások lapot.

  2. A Nyilvános környezetek mezőben válassza a Be lehetőséget.

    Képernyőkép a nyilvános környezetek új tesztkörnyezethez való engedélyezéséről.

Nyilvános környezetek engedélyezése vagy letiltása meglévő tesztkörnyezetekben

Az ARM-sablonnal létrehozott meglévő tesztkörnyezetek vagy tesztkörnyezetek esetében előfordulhat, hogy a nyilvános környezetek nincsenek engedélyezve. A meglévő tesztkörnyezetek nyilvános környezeti adattárának engedélyezése vagy letiltása:

  1. A Azure Portal válassza ki a laborerőforrást.

  2. A bal oldali navigációs sávon válassza a Konfiguráció és szabályzatok lehetőséget.

  3. A bal oldali navigációs sávon válassza a Nyilvános környezetek lehetőséget a Virtuálisgép-bázisok területen.

  4. A tesztkörnyezet nyilvános környezeteinek engedélyezéséhez vagy letiltásához válassza az Igen vagy a Nem lehetőséget.

  5. Kattintson a Mentés gombra.

Elérhető nyilvános környezeti sablonok kiválasztása

A nyilvános környezetek engedélyezésekor az adattárban található összes környezeti sablon elérhető a környezetek létrehozásához. Ha csak meghatározott környezeteket szeretne engedélyezni egy tesztkörnyezethez:

  1. A Azure Portal válassza ki a laborerőforrást.

  2. A bal oldali navigációs sávon válassza a Konfiguráció és szabályzatok lehetőséget.

  3. A bal oldali navigációs sávon válassza a Nyilvános környezetek lehetőséget a Virtuálisgép-bázisok területen.

  4. Törölje az egyes környezetek kijelölését a listából, hogy elérhetetlenné tegyék őket a tesztkörnyezet felhasználói számára, majd válassza a Mentés lehetőséget.

    Képernyőkép a tesztkörnyezetek nyilvános környezeteinek listájáról.

Környezeti felhasználói jogosultságok konfigurálása

Alapértelmezés szerint a tesztkörnyezet felhasználói olvasói szerepkörrel rendelkeznek a környezetekben, és nem módosíthatják a környezeti erőforrásokat. A felhasználók például nem állíthatják le vagy nem indíthatják el az erőforrásokat. Ha közreműködői szerepkört szeretne adni a tesztkörnyezet felhasználóinak a környezeti erőforrások szerkesztéséhez:

  1. A Azure Portal válassza ki a laborerőforrást.

  2. A bal oldali navigációs sávon válassza a Konfiguráció és szabályzatok lehetőséget.

  3. A bal oldali navigációs sávon válassza a Tesztkörnyezet beállításai lehetőséget.

  4. A Környezet hozzáférése>Erőforráscsoport felhasználói jogosultságai területen válassza a Közreműködő, majd a Mentés lehetőséget.

    Képernyőkép a tesztkörnyezet felhasználói közreműködői engedélyeinek konfigurálásáról.

Környezet létrehozásának automatizálása

Ha több környezetet kell létrehoznia fejlesztési vagy tesztelési forgatókönyvekhez, automatizálhatja a környezet üzembe helyezését Azure PowerShell vagy az Azure CLI használatával.

Környezetek létrehozásához használhatja az az deployment group create Azure CLI-parancsot. További információ: Erőforrások üzembe helyezése Resource Manager sablonokkal és az Azure CLI-vel.

A tesztkörnyezet tulajdonosai és rendszergazdái a Azure PowerShell használatával hozhatnak létre virtuális gépeket és környezeteket ARM-sablonokból.

Megjegyzés

Javasoljuk, hogy az Azure Az PowerShell-modullal kommunikáljon az Azure-ral. Az első lépésekhez tekintse meg az Azure PowerShell telepítését ismertető szakaszt. Az Az PowerShell-modulra történő migrálás részleteiről lásd: Az Azure PowerShell migrálása az AzureRM modulból az Az modulba.

ARM-környezetsablonok üzembe helyezésének automatizálása Azure PowerShell:

  1. Jelentkezzen be egy ARM-környezetsablont egy Git-adattárba, és adja hozzá az adattárat a laborhoz.

  2. Mentse a következő PowerShell-szkriptet a számítógépre deployenv.ps1néven. Ez a szkript meghívja az ARM-sablont, hogy létrehozza a környezetet a tesztkörnyezetben.

    #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 Git repository)
    [string] [Parameter(Mandatory=$true)] $TemplateName,
    
    # Name of the environment to create in the lab
    [string] [Parameter(Mandatory=$true)] $EnvironmentName,
    
    # The parameters to be passed 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 will be "-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 that has the 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 the 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 the 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."
    
  3. Futtassa a szkriptet a saját értékeivel a példaértékek lecseréléséhez:

    • SubscriptionId
    • LabName
    • ResourceGroupName
    • RepositoryName
    • TemplateName (sablonmappa a Git-adattárban)
    • EnvironmentName
    ./deployenv.ps1 -SubscriptionId "000000000-0000-0000-0000-0000000000000" -LabName "mydevtestlab" -ResourceGroupName "mydevtestlabRG000000" -RepositoryName "myRepository" -TemplateName "ARM template folder name" -EnvironmentName "myNewEnvironment"
    

Következő lépések