Megosztás a következőn keresztül:


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 (virtuális gépekkel) vagy szolgáltatásként nyújtott platform (PaaS) erőforrásokkal. Ezzel a módszerrel többrétegű webalkalmazáshoz vagy SharePoint-farmhoz hozhat létre tesztkörnyezetet.

A DevTest Labs-környezetben lévő erőforrások közös életciklussal rendelkeznek, és együtt kezelheti őket. A tesztkörnyezetek és a PaaS-erőforrások költségeit ugyanúgy követheti nyomon, mint az egyes tesztkörnyezeti virtuális gépek költségeit.

Az Azure DevTest Labs konfigurálható arm-sablonok használatára egy nyilvános vagy privát GitHub-adattárból. Az alábbi ábra bemutatja, hogyan hozhat létre környezetet a DevTest Labs használatával egy nyilvános vagy egyéni sablontárban lévő ARM-sablonból. A tesztkörnyezetek sablontárházai részletesen ismertetik ezt a folyamatot.

Diagram, amely bemutatja, hogyan hozhat létre környezetet a DevTest Labs használatával egy ARM-sablon használatával egy sablontárban.

Előfeltételek

  • Hasznos, ha tapasztalatot szerzett a tesztkörnyezetek DevTest Labsban való konfigurálásáról. Ha még nem használja a tesztkörnyezeteket, először tekintse át a Nyilvános környezet beállításainak konfigurálása szakaszban található utasításokat. Tisztában kell lenni a sablontárházak konfigurálásának, a nyilvános környezetek engedélyezésének vagy letiltásának, valamint a tesztkörnyezetek létrehozásához szükséges sablonok kiválasztásának módjával.

Korlátozások

Néhány korlátozást érdemes szem előtt tartani, amikor arm-sablonokból hoz létre tesztkörnyezeteket a DevTest Labsban:

  • A DevTest Labs nem támogatja a virtuális gép (VM) automatikus leállítási funkcióját az ARM-sablonokból létrehozott PaaS-erőforrásokhoz.

  • A DevTest Labs nem értékeli ki az összes laborszabályzatot ARM-sablonok telepítésekor. A következő szabályzatok kiértékelése nem történik meg:

    • 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
    • Prémium szintű asztalok száma felhasználónként

    Tegyük fel, hogy van egy tesztkörnyezeti szabályzata, amely lehetővé teszi, hogy minden felhasználó legfeljebb öt virtuális gépet hozzon létre. A DevTest Labsban minden felhasználó üzembe helyezhet 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 az Azure DevTest Labs nyilvános sablontárából, vagy hozzáadhat egy privát sablontárházat a laborhoz.

Hozzon létre egy környezetet sablonból az alábbi lépések végrehajtásával:

  1. Az Azure Portalon nyissa meg a DevTest Labs-tesztkörnyezet erőforrását.

  2. A tesztkörnyezet áttekintési lapján bontsa ki a Tesztkörnyezet szakaszt a bal oldali menüben, és válassza a Saját környezetek lehetőséget.

  3. A Saját környezetek lapon válassza a Hozzáadás lehetőséget az eszköztáron.

  4. Az Alaplap kiválasztása lapon válassza ki a használni kívánt ARM-környezetsablont:

    Képernyőkép a DevTest Labs-tesztkörnyezet erőforrásához elérhető nyilvános környezeti ARM-sablonokról.

  5. A Hozzáadás panelen adja meg a környezet nevét, és konfigurálja a többi paraméterbeállítást.

    A paraméterek típusa és száma minden ARM-sablon esetében egyedi. A piros csillag (*) egy kötelező beállítást jelez. Az összes szükséges beállításhoz meg kell adnia az értékeket.

    Az ARM-sablonfájl egyes paraméterértékei (azuredeploy.parameters.json) üres beállításmezőket hoznak létre a Hozzáadás panelen (alapértelmezett érték nélkül). Ezek a paraméterértékek a következők: GEN-UNIQUE, GEN-UNIQUE-[N], GEN-SSH-PUB-KEYés GEN-PASSWORD.

    Képernyőkép a SharePoint-környezethez konfigurálni kívánt beállításokat tartalmazó Hozzáadás panelről.

    Biztonságos sztringparaméterekhez , például jelszavakhoz használhat titkos kulcsokat az Azure Key Vaultból. 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 kulcsok tárolása az Azure Key Vaultban című témakört.

  6. 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.

    Feljegyzés

    A környezet kiépítésének folyamata hosszú időt vehet igénybe. A teljes idő a DevTest Labs által a tesztkörnyezet részeként létrehozott szolgáltatáspéldányok, virtuális gépek és egyéb erőforrások számától függ.

  7. A kiépítési állapot figyeléséhez térjen vissza a tesztkörnyezet Saját környezetek lapjára:

    Képernyőkép a tesztkörnyezet kiépítési állapotának megtekintéséről.

    Amíg a kiépítés folyamatban van, a környezet állapota Létrehozás. A kiépítés befejezése után az állapot készre változik. Az eszköztár Frissítés elemét választva frissítheti a lapnézetet, és ellenőrizheti az aktuális állapotot.

  8. Ha a környezet készen áll, kibonthatja a környezetet a Saját környezetek listában a sablon által kiépített virtuális gépek megtekintéséhez:

    Képernyőkép az újonnan kiépített környezethez létrehozott virtuális gépek listájáról.

  9. Az üzembe helyezés létrehoz egy új erőforráscsoportot az ARM-sablon által definiált összes környezeti erőforrás kiépítéséhez. Válassza ki a környezet nevét a Saját környezetek listában 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, beleértve a virtuális gépeket, lemezeket, a virtuális hálózatot stb.

  10. Válasszon ki egy környezeti virtuális gépet a listában 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 a kijelölt környezeti virtuális gép elérhető műveleteiről.

Sablontárak felfedezése

A DevTest Labs környezeteinek létrehozására szolgáló ARM-sablonok két forrásból érhetők el:

  • A DevTest Labs nyilvános ARM-sablontárházzal rendelkezik, amely előre összeállított környezeti sablonokat tartalmaz az Azure Web Appshez, egy Azure Service Fabric-fürthöz és a fejlesztési SharePoint-farmokhoz. A sablonok minimális bemeneti paraméterekkel rendelkeznek a PaaS-erőforrások zökkenőmentes használatbavételéhez. A nyilvános környezet sablonjait igény szerint használhatja, vagy testre szabhatja őket. A nyilvános sablon változatait vagy kiegészítéseit úgy is javasolhatja, hogy lekéréses kérelmet küld a GitHub nyilvános sablontárházába.

  • A környezeti sablonokat saját nyilvános vagy privát GitHub-adattárakban tárolhatja, és hozzáadhatja ezeket az adattárakat a laborhoz, hogy a sablonokat elérhetővé tegye az összes laborfelhasználó számára.

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

A tesztkörnyezetet úgy konfigurálhatja, hogy engedélyezze a GitHub nyilvános sablontárából származó sablonok használatát. Ha engedélyezi a nyilvános sablontárházat egy tesztkörnyezethez, a felhasználók gyorsan létrehozhatnak egy tesztkörnyezetet úgy, hogy közvetlenül az Azure Portalon választják ki ezeket a sablonokat, hasonlóan ahhoz, ahogyan virtuális gépet hoznak létre egy tesztkörnyezetben. Emellett kiválaszthatja, hogy mely sablonok érhetők el a felhasználók számára a tesztkörnyezetek létrehozásához.

Nyilvános környezet hozzáférésének beállítása új tesztkörnyezethez

Konfigurálja a nyilvános környezet adattár-hozzáférését egy új tesztkörnyezethez az alábbi lépések végrehajtásával:

  1. A DevTest Labs-erőforrás létrehozásának folyamata során válassza az Alapszintű beállítások lapot.

  2. A Nyilvános környezetek beállítás beállítása Be értékre:

    Képernyőkép, amely bemutatja, hogyan engedélyezheti a nyilvános környezeti adattárakat egy labor számára a labor létrehozása során.

Nyilvános környezet hozzáférésének beállítása meglévő tesztkörnyezetekhez

Az ARM-sablonnal létrehozott meglévő tesztkörnyezetek vagy tesztkörnyezetek esetében előfordulhat, hogy a nyilvános környezetek nem lesznek engedélyezve. A nyilvános környezetek engedélyezése beállítással bármely meglévő tesztkörnyezet nyilvános környezeti adattáraihoz való hozzáférést szabályozhatja.

Az alábbi lépéseket követve engedélyezheti vagy letilthatja a nyilvános környezet adattárának hozzáférését bármely meglévő tesztkörnyezethez:

  1. Az Azure Portalon nyissa meg a DevTest Labs-tesztkörnyezet erőforrását, ahol nyilvános környezeti hozzáférést szeretne beállítani.

  2. A labor Áttekintés lapján bontsa ki a bal oldali menü Beállítások szakaszát, és válassza a Konfiguráció és szabályzatok lehetőséget.

  3. A Konfiguráció és szabályzatok lapon bontsa ki a virtuális gép alapjai szakaszt a bal oldali menüben, és válassza a Nyilvános környezetek lehetőséget.

  4. A Nyilvános környezetek lapon állítsa a tesztkörnyezethez tartozó Nyilvános környezetek engedélyezése beállítást Igen értékre:

    Képernyőkép, amely bemutatja, hogyan engedélyezheti az összes nyilvános környezeti adattárat egy meglévő laborerőforráshoz.

  5. Válassza a Mentés lehetőséget.

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

Ha a tesztkörnyezethez tartozó nyilvános környezetek engedélyezése beállítást a tesztkörnyezet nyilvános környezeteihez való hozzáférés szabályozására állítja be, a rendszer alapértelmezés szerint az összes környezeti sablont kijelöli. A beállítás vagy engedélyezi vagy letiltja a hozzáférést az összes környezethez a kijelölés alapján. A listában lévő kijelölési jelölőnégyzetekkel megadhatja, hogy a felhasználók mely környezetekhez férhetnek hozzá.

Kövesse az alábbi lépéseket, hogy csak a labor adott környezeteihez engedélyezze a hozzáférést:

  1. A Nyilvános környezetek lapon állítsa a tesztkörnyezethez tartozó Nyilvános környezetek engedélyezése beállítást Igen értékre.

  2. Törölje az egyes környezetek kijelölését a listában, hogy elérhetetlenné tegye őket a tesztkörnyezet felhasználói számára:

    Képernyőkép arról, hogyan lehet megszüntetni a nyilvános környezeti adattárak kijelölését egy tesztkörnyezetben a felhasználók hozzáférésének letiltásához.

  3. Válassza a Mentés lehetőséget.

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

A tesztkörnyezet felhasználói alapértelmezés szerint a nyilvános környezet adattáraiban az Olvasó szerepkört kapják meg. Nem módosíthatják a környezeti erőforrásokat, és nem állíthatják le és nem indíthatják el az erőforrásokat.

Az alábbi lépésekkel a tesztkörnyezet felhasználóinak a közreműködői szerepkört adhatják meg, és engedélyezhetik számukra a környezeti erőforrások szerkesztését:

  1. Az Azure Portalon nyissa meg a DevTest Labs-tesztkörnyezet erőforrását, ahol módosítani szeretné a felhasználói szerepkör-hozzárendeléseket.

  2. A labor Áttekintés lapján bontsa ki a bal oldali menü Beállítások szakaszát, és válassza a Konfiguráció és szabályzatok lehetőséget.

  3. A Konfiguráció és szabályzatok lapon bontsa ki a bal oldali menü Beállítások szakaszát, és válassza a Tesztkörnyezet beállításai lehetőséget.

  4. A Tesztkörnyezet beállításai lapon állítsa a Környezeti hozzáférés>erőforráscsoport felhasználói jogosultsági beállításait Közreműködőre:

    Képernyőkép arról, hogyan állíthat be közreműködői szerepkör-engedélyeket a tesztkörnyezet felhasználói számára a DevTest Labsban.

  5. Válassza a Mentés lehetőséget.

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 az Azure PowerShell vagy az Azure CLI használatával.

A tesztkörnyezetek tulajdonosai és rendszergazdái az Azure PowerShell használatával hozhatnak létre virtuális gépeket és környezeteket ARM-sablonokból. Az üzembe helyezést az Azure CLI-vel is automatizálhatja az az deployment group create paranccsal a környezetek létrehozásához. További információ: Erőforrások üzembe helyezése ARM-sablonokkal és az Azure CLI-vel.

Feljegyzés

Javasoljuk, hogy az Azure Az PowerShell modult használja az Azure-ral való interakcióhoz. Első lépésként tekintse meg az Azure PowerShell telepítését ismertető témakört. 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.

Az ARM-környezetsablon üzembe helyezésének automatizálása az Azure PowerShell-lel az alábbi lépésekkel:

  1. Az ARM-környezetsablont egy GitHub-adattárban tárolhatja.

  2. Adja hozzá a GitHub ARM-sablontárházat a laborhoz.

  3. Mentse a következő PowerShell-szkriptet a számítógépre a deployenv.ps1 fájlnévvel. Ez a szkript meghívja az ARM-sablont, hogy létrehozza a környezetet a laborban.

    #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."
    
  4. Frissítse a szkript alábbi helyőrzőit a saját tesztkörnyezeti értékeivel:

    • SubscriptionId
    • LabName
    • ResourceGroupName
    • RepositoryName
    • TemplateName (sablonmappa a GitHub-adattárban)
    • EnvironmentName

    Az alábbi kódrészlet bemutatja, hogyan futtathatja a szkriptet példaparaméter-értékekkel:

    ./deployenv.ps1 -SubscriptionId "000000000-0000-0000-0000-0000000000000" -LabName "mydevtestlab" -ResourceGroupName "mydevtestlabRG000000" -RepositoryName "myRepository" -TemplateName "ARM template folder name" -EnvironmentName "myNewEnvironment"
    
  5. Futtassa a szkriptet.