Azure DevTest Labs vanliga frågor och svar

Få svar på några av de vanligaste frågorna om Azure DevTest Labs.

Blogginlägg

Vår DevTest Labs Team-blogg har dragits tillbaka den 20 mars 2019.

Var kan jag spåra funktionsuppdateringar från och med nu?

Från och med nu publicerar vi funktionsuppdateringar och informativa blogginlägg på Azure-bloggen och Azure-uppdateringar. Dessa blogginlägg länkar också till vår dokumentation när det behövs.

Prenumerera på DevTest Labs Azure-bloggen och DevTest Labs Azure-uppdateringar för att hålla dig informerad om nya funktioner i DevTest Labs.

Vad händer med befintliga blogginlägg?

Vi arbetar för närvarande med att migrera befintliga blogginlägg (exklusive avbrottsuppdateringar) till vår DevTest Labs-dokumentation. När MSDN-bloggen är inaktuell omdirigeras den till dokumentationsöversikten för DevTest Labs. När du har omdirigerats kan du söka efter den artikel som du letar efter i rubriken "Filtrera efter". Vi har inte migrerat alla inlägg ännu, men bör göras i slutet av den här månaden. 

Var ser jag uppdateringar av avbrott?

Vi kommer att publicera avbrottsuppdateringar med vår Twitter-referens från och med nu. Följ oss på Twitter för att få de senaste uppdateringarna om avbrott och kända buggar.

Twitter

Vår Twitter-referens: @azlabservices

Allmänt

Vad händer om min fråga inte besvaras här?

Om din fråga inte visas här kan du berätta för oss så att vi kan hjälpa dig att hitta ett svar.

Vad är en Microsoft-konto?

En Microsoft-konto är ett konto som du använder för nästan allt du gör med Microsoft-enheter och -tjänster. Det är en e-postadress och ett lösenord som du använder för att logga in på Skype, Outlook.com, OneDrive, Windows phone, Azure och Xbox Live. Ett enda konto innebär att dina filer, foton, kontakter och inställningar kan följa dig på valfri enhet.

Anteckning

En Microsoft-konto kallades för ett Windows Live-ID.

Varför ska jag använda Azure DevTest Labs?

Azure DevTest Labs kan spara tid och pengar för ditt team. Utvecklare kan skapa sina egna miljöer med hjälp av flera olika baser. De kan också använda artefakter för att snabbt distribuera och konfigurera program. Genom att använda anpassade avbildningar och formler kan du spara virtuella datorer (VM) som mallar och enkelt återskapa dem i hela teamet. DevTest Labs erbjuder också flera konfigurerbara principer som labbadministratörer kan använda för att minska slöseriet och hantera ett teams miljöer. Principerna omfattar automatisk avstängning, kostnadströskel, maximalt antal virtuella datorer per användare och maximal VM-storlek. En mer detaljerad förklaring av DevTest Labs finns i översikten eller introduktionsvideon.

Vad betyder "oroande självbetjäning"?

Med oroande självbetjäning kan utvecklare och testare skapa egna miljöer efter behov. Administratörer har säkerheten att veta att DevTest Labs kan hjälpa till att ställa in lämplig åtkomst, minimera kostnader för spill och kontroll. Administratörer kan ange vilka VM-storlekar som tillåts, det maximala antalet virtuella datorer och när virtuella datorer startas och stängs av. DevTest Labs gör det också enkelt att övervaka kostnader och ställa in aviseringar för att hjälpa dig att hålla dig medveten om hur labbresurser används.

Hur kan jag använda DevTest Labs?

DevTest Labs är användbart när du behöver utvecklings- eller testmiljöer och vill återskapa dem snabbt eller hantera dem med hjälp av kostnadsbesparingsprinciper. Här är några scenarier som våra kunder använder DevTest Labs för:

  • Hantera utvecklings- och testmiljöer på ett och samma ställe. Använd principer för att minska kostnaderna och skapa anpassade avbildningar för att dela byggen i hela teamet.
  • Utveckla ett program med hjälp av anpassade avbildningar för att spara disktillståndet under utvecklingsstegen.
  • Spåra kostnader i förhållande till förloppet.
  • Skapa masstestmiljöer för kvalitetssäkringstestning.
  • Använd artefakter och formler för att enkelt konfigurera och återskapa ett program i olika miljöer.
  • Distribuera virtuella datorer för hackathons (samarbetsutveckling eller testarbete) och avetablera dem sedan enkelt när händelsen avslutas.

Hur debiteras jag för DevTest Labs?

DevTest Labs är en kostnadsfri tjänst. Det är kostnadsfritt att skapa labb och konfigurera principer, mallar och artefakter i DevTest Labs. Du betalar bara för de Azure-resurser som används i dina labb, till exempel virtuella datorer, lagringskonton och virtuella nätverk. Mer information om kostnaden för labbresurser finns i Azure DevTest Labs priser.

Säkerhet

Vilka är de olika säkerhetsnivåerna i DevTest Labs?

Säkerhetsåtkomst bestäms av rollbaserad åtkomstkontroll i Azure (Azure RBAC). Om du vill lära dig hur åtkomst fungerar hjälper det dig att lära dig skillnaderna mellan en behörighet, en roll och ett omfång, enligt definitionen i Azure RBAC.

  • Behörighet: En behörighet är en definierad åtkomst till en specifik åtgärd. En behörighet kan till exempel vara läsbehörighet till alla virtuella datorer.
  • Roll: En roll är en uppsättning behörigheter som kan grupperas och tilldelas till en användare. En användare med rollen som prenumerationsägare har till exempel åtkomst till alla resurser i en prenumeration.
  • Omfång: Ett omfång är en nivå i hierarkin för en Azure-resurs. Ett omfång kan till exempel vara en resursgrupp, ett enda labb eller hela prenumerationen.

Inom omfånget för DevTest Labs finns det två typer av roller som definierar användarbehörigheter:

  • Labbägare: En labbägare har åtkomst till alla resurser i labbet. Labbägaren kan ändra principer, läsa och skriva till alla virtuella datorer, ändra det virtuella nätverket och så vidare.
  • Labbanvändare: En labbanvändare kan visa alla labbresurser, till exempel virtuella datorer, principer och virtuella nätverk. En labbanvändare kan dock inte ändra principer eller virtuella datorer som har skapats av andra användare.

Du kan också skapa anpassade roller i DevTest Labs. Information om hur du skapar anpassade roller i DevTest Labs finns i Bevilja användarbehörigheter till specifika labbprinciper.

Eftersom omfång är hierarkiska och en användare har behörigheter i ett visst omfång, beviljas användaren automatiskt dessa behörigheter i varje omfång på lägre nivå i omfånget. Om en användare till exempel har tilldelats rollen som prenumerationsägare har användaren åtkomst till alla resurser i en prenumeration. Dessa resurser omfattar virtuella datorer, virtuella nätverk och labb. En prenumerationsägare ärver automatiskt rollen som labbägare. Det motsatta är dock inte sant. En labbägare har åtkomst till ett labb, vilket är ett lägre omfång än prenumerationsnivån. Labbägaren kan därför inte se virtuella datorer, virtuella nätverk eller andra resurser som ligger utanför labbet.

Hur gör jag för att definiera rollbaserad åtkomstkontroll i Azure för mina DevTest Labs-miljöer för att säkerställa att IT kan styra medan utvecklare/test kan göra sitt arbete?

Det finns ett brett mönster, men detaljerna beror på din organisation.

Central IT bör endast äga det som behövs och göra det möjligt för projekt- och programteamen att ha den kontrollnivå som krävs. Vanligtvis innebär det att den centrala IT-datorn äger prenumerationen och hanterar viktiga IT-funktioner, till exempel nätverkskonfigurationer. Uppsättningen ägare för en prenumeration ska vara liten. Dessa ägare kan nominera ytterligare ägare när det finns behov eller tillämpa principer på prenumerationsnivå, till exempel "Ingen offentlig IP-adress".

Det kan finnas en delmängd användare som behöver åtkomst i en prenumeration, till exempel nivå 1- eller nivå 2-stöd. I det här fallet rekommenderar vi att du ger dessa användare deltagaråtkomst så att de kan hantera resurserna, men inte ge användare åtkomst eller justera principer.

DevTest Labs-resursen ska ägas av ägare som är nära projekt-/programteamet. Det beror på att de förstår sina krav för datorer och nödvändig programvara. I de flesta organisationer är ägaren till den här DevTest Labs-resursen vanligtvis projekt-/utvecklingsledande. Den här ägaren kan hantera användare och principer i labbmiljön och kan hantera alla virtuella datorer i DevTest Labs-miljön.

Projekt-/programteamets medlemmar bör läggas till i användarrollen DevTest Labs. Dessa användare kan skapa virtuella datorer (enligt principerna på labb- och prenumerationsnivå). De kan också hantera sina egna virtuella datorer. De kan inte hantera virtuella datorer som tillhör andra användare.

Mer information finns i azure enterprise scaffold – prescriptive subscription governance documentation.

Hur gör jag för att skapa en roll så att användarna kan utföra en viss uppgift?

En omfattande artikel om hur du skapar anpassade roller och tilldelar behörigheter till en roll finns i Bevilja användarbehörigheter till specifika labbprinciper. Här är ett exempel på ett skript som skapar rollen DevTest Labs Advanced User, som har behörighet att starta och stoppa alla virtuella datorer i labbet:

$policyRoleDef = Get-AzRoleDefinition "DevTest Labs User"
$policyRoleDef.Actions.Remove('Microsoft.DevTestLab/Environments/*')
$policyRoleDef.Id = $null
$policyRoleDef.Name = "DevTest Labs Advanced User"
$policyRoleDef.IsCustom = $true
$policyRoleDef.AssignableScopes.Clear()
$policyRoleDef.AssignableScopes.Add("/subscriptions/<subscription Id>")
$policyRoleDef.Actions.Add("Microsoft.DevTestLab/labs/virtualMachines/Start/action")
$policyRoleDef.Actions.Add("Microsoft.DevTestLab/labs/virtualMachines/Stop/action")
$policyRoleDef = New-AzRoleDefinition -Role $policyRoleDef  

Hur kan en organisation se till att företagets säkerhetsprinciper finns på plats?

En organisation kan uppnå detta genom att utföra följande åtgärder:

  • Utveckla och publicera en omfattande säkerhetsprincip. Principen formulerar reglerna för godkänd användning som är associerade med användning av programvara, molntillgångar. Den definierar också vad som tydligt strider mot principen.
  • Utveckla en anpassad avbildning, anpassade artefakter och en distributionsprocess som möjliggör orkestrering inom säkerhetssfären som definieras med Active Directory. Den här metoden framtvingar företagets gränser och anger en gemensam uppsättning miljökontroller. Dessa kontroller mot miljön kan en utvecklare överväga när de utvecklar och följa en säker utvecklingslivscykel som en del av den övergripande processen. Målet är också att tillhandahålla en miljö som inte är alltför restriktiv som kan hindra utvecklingen, utan en rimlig uppsättning kontroller. Grupprinciperna på organisationsenheten (OU) som innehåller virtuella labbdatorer kan vara en delmängd av de totala grupprinciper som finns i produktion. De kan också vara ytterligare en uppsättning för att korrekt minimera identifierade risker.

Hur kan en organisation säkerställa dataintegritet för att säkerställa att fjärrkommunikationsutvecklare inte kan ta bort kod eller införa skadlig kod eller programvara som inte är godkänd?

Det finns flera kontrolllager för att minimera hotet från externa konsulter, leverantörer eller anställda som kommunicerar på nytt för att samarbeta i DevTest Labs.

Som tidigare nämnts måste det första steget ha en acceptable use policy och definierad som tydligt beskriver konsekvenserna när någon bryter mot principen.

Det första lagret med kontroller för fjärråtkomst är att tillämpa en fjärråtkomstprincip via en VPN-anslutning som inte är direkt ansluten till labbet.

Det andra lagret med kontroller är att tillämpa en uppsättning grupprincipobjekt som förhindrar att kopiera och klistra in via fjärrskrivbord. En nätverksprincip kan implementeras för att inte tillåta utgående tjänster från miljön, till exempel FTP- och RDP-tjänster från miljön. Användardefinierad routning kan tvinga all Azure-nätverkstrafik tillbaka till den lokala platsen, men routningen kunde inte ta hänsyn till alla URL:er som kan tillåta uppladdning av data om de inte kontrolleras via en proxy för att söka igenom innehåll och sessioner. Offentliga IP-adresser kan begränsas i det virtuella nätverk som stöder DevTest Labs för att inte tillåta bryggning av en extern nätverksresurs.

I slutändan måste samma typ av begränsningar tillämpas i hela organisationen, vilket skulle ta hänsyn till alla möjliga metoder för flyttbara medier eller externa URL:er som kan ta emot ett inlägg med innehåll. Kontakta din säkerhetsproffs för att granska och implementera en säkerhetsprincip. Fler rekommendationer finns i Microsoft Cyber Security.

Labbkonfiguration

Hur gör jag för att skapa ett labb från en Resource Manager mall?

Vi erbjuder en GitHub lagringsplats för labbmallar Azure Resource Manager som du kan distribuera som den är eller ändra för att skapa anpassade mallar för dina labb. Varje mall har en länk för att distribuera labbet eftersom det finns i din egen Azure-prenumeration. Eller så kan du anpassa mallen och distribuera med hjälp av PowerShell eller Azure CLI.

Kan jag ha alla virtuella datorer som ska skapas i en gemensam resursgrupp i stället för att ha varje dator i en egen resursgrupp?

Ja, som labbägare kan du antingen låta labbet hantera resursgruppsallokering åt dig eller låta alla virtuella datorer skapas i en gemensam resursgrupp som du anger.

Separat resursgruppsscenario:

  • DevTest Labs skapar en ny resursgrupp för varje offentlig/privat IP-dator som du skapar
  • DevTest Labs skapar en resursgrupp för delade IP-datorer som tillhör samma storlek.

Vanligt resursgruppsscenario:

Hur gör jag för att du en namngivningskonvention i min DevTest Labs-miljö?

Du kanske vill utöka de aktuella namngivningskonventionerna för företag till Azure-åtgärder och göra dem konsekventa i DevTest Labs-miljön. När du distribuerar DevTest Labs rekommenderar vi att du har specifika startprinciper. Du distribuerar dessa principer med ett centralt skript och JSON-mallar för att framtvinga konsekvens. Namngivningsprinciper kan implementeras via Azure-principer som tillämpas på prenumerationsnivå. JSON-exempel för Azure Policy finns i Azure Policy exempel.

Hur många labb kan jag skapa under samma prenumeration?

Det finns ingen specifik gräns för hur många labb som kan skapas per prenumeration. Mängden resurser som används per prenumeration är dock begränsad. Du kan läsa om gränser och kvoter för Azure-prenumerationer och hur du ökar dessa gränser.

Hur många virtuella datorer kan jag skapa per labb?

Det finns ingen specifik gräns för hur många virtuella datorer som kan skapas per labb. Resurserna (VM-kärnor, offentliga IP-adresser och så vidare) som används är dock begränsade per prenumeration. Du kan läsa om gränser och kvoter för Azure-prenumerationer och hur du ökar dessa gränser.

Hur gör jag för att fastställa förhållandet mellan användare per labb och det totala antalet labb som behövs i en organisation?

Vi rekommenderar att affärsenheter och utvecklingsgrupper som är associerade med samma utvecklingsprojekt associeras med samma labb. Det gör att samma typer av principer, bilder och avstängningsprinciper kan tillämpas på båda grupperna.

Du kan också behöva överväga geografiska gränser. Utvecklare i USA, norra USA till exempel använda ett labb som etablerats i USA, östra 2. Utvecklare i Dallas, Texas och Denver kan dessutom dirigeras till att använda en resurs i USA, södra centrala. Om det finns ett samarbete med en extern tredje part kan de tilldelas till ett labb som inte används av interna utvecklare.

Du kan också använda ett labb för ett specifikt projekt inom Azure DevOps Projects. Sedan tillämpar du säkerhet via en angiven Azure Active Directory grupp, vilket ger åtkomst till båda uppsättning resurser. Det virtuella nätverket som tilldelats labbet kan vara en annan gräns för att konsolidera användare.

Hur kan vi förhindra borttagning av resurser i ett labb?

Vi rekommenderar att du anger rätt behörigheter på labbnivå så att endast behöriga användare kan ta bort resurser eller ändra labbprinciper. Utvecklare bör placeras i gruppen DevTest Labs-användare. Den ledande utvecklaren eller infrastruktursägaren ska vara DevTest Labs-ägare. Vi rekommenderar att du bara har två labbägare. Den här principen gäller även för koddatabasen för att undvika skador. Labbanvändare har behörighet att använda resurser men kan inte uppdatera labbprinciper. Se följande artikel som listar de roller och rättigheter som varje inbyggd grupp har i ett labb: Lägg till ägare och användare i Azure DevTest Labs.

Hur gör jag för att jag dela en direktlänk till mitt labb?

  1. I Azure Portalgår du till labbet.
  2. Kopiera labb-URL:en från webbläsaren och dela den sedan med labbanvändarna.

Anteckning

Om en labbanvändare är en extern användare som har en Microsoft-konto, men som inte är medlem i organisationens Active Directory-instans, kan användaren få ett felmeddelande när de försöker komma åt den delade länken. Om ett felmeddelande visas för en extern användare ber du användaren att först välja sitt namn i det övre högra hörnet av Azure Portal. I avsnittet Katalog på menyn kan användaren sedan välja den katalog där labbet finns.

Virtuella datorer

Varför kan jag inte se virtuella datorer på Virtual Machines som visas i DevTest Labs?

När du skapar en virtuell dator i DevTest Labs får du behörighet att komma åt den virtuella datorn. Du kan visa den virtuella datorn både på labbsidan och på Virtual Machines sidan. Användare som har tilldelats rollen DevTest Labs-ägare kan se alla virtuella datorer som skapades i labbet på labbets sida Alla Virtual Machines. Användare som har rollen DevTest Labs-användare beviljas dock inte automatiskt läsbehörighet till VM-resurser som andra användare har skapat. De virtuella datorerna visas därför inte på Virtual Machines sidan.

Hur gör jag för att skapa flera virtuella datorer från samma mall samtidigt?

Du har två alternativ för att skapa flera virtuella datorer samtidigt från samma mall:

Hur gör jag för att flytta mina befintliga virtuella Azure-datorer till mitt DevTest Labs-labb?

Så här kopierar du dina befintliga virtuella datorer till DevTest Labs:

  1. Kopiera VHD-filen för den befintliga virtuella datorn med hjälp av Windows PowerShell skript.
  2. Skapa den anpassade avbildningen i devTest Labs-labbet.
  3. Skapa en virtuell dator i labbet från din anpassade avbildning.

Kan jag ansluta flera diskar till mina virtuella datorer?

Ja, du kan ansluta flera diskar till dina virtuella datorer.

Stöds Gen 2-avbildningar av DevTest Labs?

Ja. DevTest Labs-tjänsten stöder Gen 2-avbildningar. Men om både Gen 1- och Gen 2-versioner är tillgängliga för en avbildning visar DevTest Labs endast Gen 1-versionen av avbildningen när du skapar en virtuell dator. Du ser avbildningen om det bara finns Gen 2-version av den tillgänglig.

Om jag vill använda en Windows OS-avbildning för min testning, måste jag köpa en MSDN-prenumeration?

Om du Windows avbildningar av klientoperativsystem (Windows 7 eller en senare version) för utveckling eller testning i Azure gör du något av följande:

Mer information om Azure-krediter för varje MSDN-erbjudande finns i Azure-månadskredit för Visual Studio prenumeranter.

Hur gör jag för att automatisera processen med att ta bort alla virtuella datorer i mitt labb?

Som labbägare kan du ta bort virtuella datorer från labbet i Azure Portal. Du kan också ta bort alla virtuella datorer i labbet med hjälp av ett PowerShell-skript. I följande exempel, under värdena för att ändra kommentaren, ändrar du parametervärdena. Du kan hämta subscriptionId värdena , och från labResourceGroup labName labbfönstret i Azure Portal.

# Delete all the VMs in a lab.

# Values to change:
$subscriptionId = "<Enter Azure subscription ID here>"
$labResourceGroup = "<Enter lab's resource group here>"
$labName = "<Enter lab name here>"

# Sign in to your Azure account.
Connect-AzAccount

# Select the Azure subscription that has the lab. This step is optional
# if you have only one subscription.
Select-AzSubscription -SubscriptionId $subscriptionId

# Get the lab that has the VMs that you want to delete.
$lab = Get-AzResource -ResourceId ('subscriptions/' + $subscriptionId + '/resourceGroups/' + $labResourceGroup + '/providers/Microsoft.DevTestLab/labs/' + $labName)

# Get the VMs from that lab.
$labVMs = Get-AzResource | Where-Object {
          $_.ResourceType -eq 'microsoft.devtestlab/labs/virtualmachines' -and
          $_.Name -like "$($lab.Name)/*"}

# Delete the VMs.
foreach($labVM in $labVMs)
{
    Remove-AzResource -ResourceId $labVM.ResourceId -Force
}          

Miljöer

Hur kan jag använda Resource Manager i min DevTest Labs-miljö?

Du distribuerar Resource Manager-mallar till en DevTest Labs-miljö med hjälp av stegen i artikeln Miljöfunktionen i DevTest Labs. I princip kontrollerar du dina Resource Manager-mallar i en Git-lagringsplats (antingen Azure Repos eller GitHub) och lägger till en privat lagringsplats för dina mallar i labbet. Det här scenariot kanske inte är användbart om du använder DevTest Labs som värd för utvecklingsdatorer, men kan vara användbart om du skapar en mellanlagringsmiljö som är representativ för produktion.

Det är också värt att notera att antalet virtuella datorer per labb eller per användare endast begränsar antalet datorer som skapas inbyggt i själva labbet och inte av några miljöer (Resource Manager mallar).

Anpassade avbildningar

Hur kan jag konfigurera en process som är enkel att upprepa för att föra in mina anpassade organisationsavbildningar i en DevTest Labs-miljö?

Se den här videon om Image Factory-mönstret. Det här scenariot är ett avancerat scenario och skripten som tillhandahålls är endast exempelskript. Om det krävs några ändringar måste du hantera och underhålla skripten som används i din miljö.

Detaljerad information om hur du skapar en avbildningsfabrik finns i Skapa en anpassad avbildningsfabrik i Azure DevTest Labs.

Vad är skillnaden mellan en anpassad avbildning och en formel?

En anpassad avbildning är en hanterad avbildning. En formel är en avbildning som du kan konfigurera med ytterligare inställningar och sedan spara och återskapa. En anpassad avbildning kan vara att föredra om du snabbt vill skapa flera miljöer med samma grundläggande, oföränderliga avbildning. En formel kan vara bättre om du vill återskapa konfigurationen av den virtuella datorn med de senaste bitarna, som en del av ett virtuellt nätverk eller undernät, eller som en virtuell dator med en viss storlek. En mer detaljerad förklaring finns i Jämföra anpassade avbildningar och formler i DevTest Labs.

När ska jag använda en formel jämfört med en anpassad avbildning?

Den avgörande faktorn i det här scenariot är vanligtvis kostnad och återanvändning. Om du har ett scenario där många användare/labb kräver en avbildning med mycket programvara ovanpå basavbildningen kan du minska kostnaderna genom att skapa en anpassad avbildning. Det innebär att avbildningen skapas en gång. Det minskar installationstiden för den virtuella datorn och kostnaden som uppstår på grund av att den virtuella datorn körs när installationen sker.

En annan faktor att notera är dock frekvensen för ändringar i programvarupaketet. Om du kör dagliga byggen och kräver att programvaran ska finnas på användarnas virtuella datorer bör du överväga att använda en formel i stället för en anpassad avbildning.

En mer detaljerad förklaring finns i Jämföra anpassade avbildningar och formler i DevTest Labs.

Hur gör jag för att automatisera processen med att ladda upp VHD-filer för att skapa anpassade avbildningar?

Om du vill automatisera uppladdning av VHD-filer för att skapa anpassade avbildningar har du två alternativ:

  • Använd AzCopy för att kopiera eller ladda upp VHD-filer till det lagringskonto som är associerat med labbet.
  • Använd Azure Storage Explorer. Storage Explorer är en fristående app som körs på Windows, OS X och Linux.

Så här hittar du mållagringskontot som är associerat med ditt labb:

  1. Logga in på Azure-portalen.
  2. Välj Resursgrupper på den vänstra menyn.
  3. Leta upp och välj den resursgrupp som är associerad med ditt labb.
  4. Under Översikt väljer du ett av lagringskontona.
  5. Välj Blobar.
  6. Leta efter uppladdningar i listan. Om det inte finns något går du tillbaka till steg 4 och provar ett annat lagringskonto.
  7. Använd URL:en som mål i AzCopy-kommandot.

När ska jag använda en Azure Marketplace-avbildning jämfört med min egen anpassade organisationsavbildning?

När ska jag använda en Azure Marketplace-avbildning jämfört med min egen anpassade organisationsavbildning?

Azure Marketplace bör användas som standard om du inte har specifika problem eller organisationskrav. Några vanliga exempel är:

  • Komplex programvaruinstallation som kräver att ett program ingår som en del av basavbildningen.
  • Det kan ta många timmar att installera och konfigurera ett program, vilket inte är ett effektivt sätt att lägga till beräkningstid på en Azure Marketplace avbildning.
  • Utvecklare och testare behöver snabb åtkomst till en virtuell dator och vill minimera installationstiden för en ny virtuell dator.
  • Efterlevnads- eller regelvillkor (till exempel säkerhetsprinciper) som måste vara på plats för alla datorer.
  • Användning av anpassade bilder bör inte betraktas som lätt. De ger extra komplexitet eftersom du nu måste hantera VHD-filer för de underliggande basavbildningarna. Du måste också regelbundet korrigera basavbildningarna med programuppdateringar. Dessa uppdateringar omfattar nya operativsystemuppdateringar (OS) och eventuella uppdateringar eller konfigurationsändringar som behövs för själva programvarupaketet.

Artifacts

Vad är artefakter?

Artefakter är anpassningsbara element som du kan använda för att distribuera dina senaste bitar eller distribuera dina utvecklingsverktyg till en virtuell dator. Koppla artefakter till den virtuella datorn när du skapar den virtuella datorn. När den virtuella datorn har etablerats distribuerar och konfigurerar artefakterna den virtuella datorn. Olika befintliga artefakter är tillgängliga på vår offentliga lagringsplats GitHub . Du kan också skapa dina egna artefakter.

Min artefakt misslyckades när den virtuella datorn skapades. Hur gör jag för att du det?

Information om hur du hämtar loggar för den misslyckade artefakten finns i Så här diagnostiserar du artefaktfel i DevTest Labs.

När ska en organisation använda en offentlig artefaktdatabas jämfört med en privat artefaktdatabas i DevTest Labs?

Den offentliga artefaktdatabasen innehåller en första uppsättning programvarupaket som används oftast. Det hjälper till med snabb distribution utan att du behöver lägga tid på att återskapa vanliga utvecklarverktyg och tillägg. Du kan välja att distribuera en egen privat lagringsplats. Du kan använda en offentlig och en privat lagringsplats parallellt. Du kan också välja att inaktivera den offentliga lagringsplatsen. Kriterierna för att distribuera en privat lagringsplats bör styrs av följande frågor och överväganden:

  • Har organisationen ett krav på att ha företagets licensierade programvara som en del av devTest Labs-erbjudandet? Om svaret är Ja bör du skapa en privat lagringsplats.
  • Utvecklar organisationen anpassad programvara som tillhandahåller en specifik åtgärd, vilket krävs som en del av den övergripande etableringsprocessen? Om svaret är Ja bör en privat lagringsplats distribueras.
  • Om organisationens styrningsprincip kräver isolering och externa lagringslager inte är under direkt konfigurationshantering av organisationen, bör en privat artefaktdatabas distribueras. Som en del av den här processen kan en inledande kopia av den offentliga lagringsplatsen kopieras och integreras med den privata lagringsplatsen. Sedan kan den offentliga lagringsplatsen inaktiveras så att ingen inom organisationen kan komma åt den längre. Den här metoden tvingar alla användare i organisationen att bara ha en enda lagringsplats som godkänns av organisationen och minimerar konfigurationsavdriften.

Bör en organisation planera för en enda lagringsplats eller tillåta flera lagringslager?

Som en del av organisationens övergripande strategi för styrning och konfigurationshantering rekommenderar vi att du använder en central lagringsplats. När du använder flera lagringsplatsen kan de bli silor av ohanterad programvara över tid. Med en central lagringsplats kan flera team använda artefakter från den här lagringsplatsen för sina projekt. Det framtvingar standardisering, säkerhet, enkel hantering och eliminerar duplicering av arbete. Som en del av centraliseringen är följande åtgärder rekommenderade metoder för långsiktig hantering och hållbarhet:

  • Associera Azure-lagringsplatsen med samma Azure Active Directory som Azure-prenumerationen använder för autentisering och auktorisering.
  • Skapa en grupp med All DevTest Labs Developers namnet Azure Active Directory som hanteras centralt. Utvecklare som bidrar till artefaktutveckling bör placeras i den här gruppen.
  • Samma Azure Active Directory kan användas för att ge åtkomst till Azure Repos-lagringsplatsen och till labbet.
  • I Azure-lagringsplatsen ska förgrening eller förgrening användas för att separera en lagringsplats under utveckling från den primära produktionslagringsplatsen. Innehållet läggs bara till i huvudgrenen med en pull-begäran efter en korrekt kodgranskning. När kodgranskningspersonen godkänner ändringen sammanfogar en leadutvecklare, som ansvarar för underhåll av huvudgrenen, den uppdaterade koden.

CI/CD-integrering

Integrerar DevTest Labs med min CI/CD-verktygskedja?

Om du använder Azure DevOps kan du använda ett DevTest Labs Tasks-tillägg för att automatisera din lanseringspipeline i DevTest Labs. Några av de uppgifter som du kan utföra med det här tillägget är:

  • Skapa och distribuera en virtuell dator automatiskt. Du kan också konfigurera den virtuella datorn med den senaste versionen med hjälp av Azure File Copy eller PowerShell Azure DevOps Services-uppgifter.
  • Avbilda automatiskt tillståndet för en virtuell dator efter testning för att återskapa en bugg på samma virtuella dator för vidare undersökning.
  • Ta bort den virtuella datorn i slutet av lanseringspipelinen när den inte längre behövs.

Följande blogginlägg ger vägledning och information om hur du använder Azure DevOps Services-tillägget:

För andra verktygskedjor för kontinuerlig integrering (CI)/kontinuerlig leverans (CD) kan du uppnå samma scenarier genom att distribuera Azure Resource Manager-mallar med hjälp av Azure PowerShell-cmdlets och .NET-SDK:er. Du kan också använda REST-API:er för DevTest Labs för att integrera med din verktygskedja.

Nätverk

När ska jag skapa ett nytt virtuellt nätverk för min DevTest Labs-miljö jämfört med ett befintligt virtuellt nätverk?

Om dina virtuella datorer behöver interagera med befintlig infrastruktur bör du överväga att använda ett befintligt virtuellt nätverk i DevTest Labs-miljön. Om du använder ExpressRoute kanske du vill minimera antalet virtuella nätverk/undernät så att du inte fragmentera det IP-adressutrymme som tilldelas för användning i prenumerationerna.

Överväg att använda peeringmönstret för virtuella nätverk här(Hub-Spoke-modellen)också. Den här metoden möjliggör vnet-/undernätskommunikation mellan prenumerationer. Annars kan varje DevTest Labs-miljö ha ett eget virtuellt nätverk.

Det finns gränser för antalet virtuella nätverk per prenumeration. Standardbeloppet är 50, men den här gränsen kan höjas till 100.

När ska jag använda en delad IP-adress jämfört med en offentlig IP-adress jämfört med en privat IP-adress?

Om du använder en plats-till-plats-VPN eller Express Route bör du överväga att använda privata IP-adresser så att dina datorer är tillgängliga via ditt interna nätverk och otillgängliga via offentligt Internet.

Anteckning

Labbägare kan ändra den här undernätsprincipen för att säkerställa att ingen av misstag skapar offentliga IP-adresser för sina virtuella datorer. Prenumerationsägaren bör skapa en prenumerationsprincip som förhindrar att offentliga IP-adresser skapas.

När du använder delade offentliga IP-adresser delar de virtuella datorerna i ett labb en offentlig IP-adress. Den här metoden kan vara användbar när du behöver undvika att bryta mot gränserna för offentliga IP-adresser för en viss prenumeration.

Hur gör jag för att se till att virtuella datorer för utveckling och testning inte kan nå det offentliga Internet? Finns det några rekommenderade mönster för att konfigurera nätverkskonfiguration?

Ja. Det finns två aspekter att tänka på – inkommande och utgående trafik.

  • Inkommande trafik – Om den virtuella datorn inte har en offentlig IP-adress kan den inte nås av Internet. En vanlig metod är att se till att en princip på prenumerationsnivå anges, så att ingen användare kan skapa en offentlig IP-adress.
  • Utgående trafik – Om du vill förhindra att virtuella datorer kommer åt offentligt Internet direkt och tvinga trafik via en företagsbrandvägg kan du dirigera trafik lokalt via Express Route eller VPN med hjälp av tvingad routning.

Anteckning

Om du har en proxyserver som blockerar trafik utan proxyinställningar ska du inte glömma att lägga till undantag till labbets lagringskonto för artefakter.

Du kan också använda nätverkssäkerhetsgrupper för virtuella datorer eller undernät. Det här steget lägger till ytterligare ett skyddslager för att tillåta/blockera trafik.

Felsökning

Varför sparas inte mitt befintliga virtuella nätverk på rätt sätt?

En möjlighet är att namnet på ditt virtuella nätverk innehåller punkter. I så fall kan du prova att ta bort punkter eller ersätta dem med bindestreck. Försök sedan igen för att spara det virtuella nätverket.

Varför visas felet "Överordnad resurs hittades inte" när jag etablerar en virtuell dator från PowerShell?

När en resurs är överordnad en annan resurs måste den överordnade resursen finnas innan du skapar den underordnade resursen. Om den överordnade resursen inte finns visas ett ParentResourceNotFound-meddelande. Om du inte anger något beroende på den överordnade resursen kan den underordnade resursen distribueras före den överordnade resursen.

Virtuella datorer är underordnade resurser under ett labb i en resursgrupp. När du använder Resource Manager för att distribuera virtuella datorer med hjälp av PowerShell ska resursgruppens namn som anges i PowerShell-skriptet vara resursgruppens namn för labbet. Mer information finns i Felsöka vanliga Azure-distributionsfel.

Var hittar jag mer felinformation om en VM-distribution misslyckas?

Vm-distributionsfel avbildas i aktivitetsloggar. Du hittar aktivitetsloggar för virtuella labbdatorer under Granskningsloggar eller Diagnostik för virtuell dator på resursmenyn på labbets VM-sida (sidan visas när du har valt den virtuella datorn i listan Mina virtuella datorer).

Ibland inträffar distributionsfelet innan vm-distributionen påbörjas. Ett exempel är när prenumerationsgränsen för en resurs som har skapats med den virtuella datorn överskrids. I det här fallet avbildas felinformationen i aktivitetsloggarna på labbnivå. Aktivitetsloggar finns längst ned i konfigurations- och policyinställningarna. Mer information om hur du använder aktivitetsloggar i Azure finns i Visa aktivitetsloggar för att granska åtgärder för resurser.

Varför visas felet "location is not available for resource type" (plats är inte tillgänglig för resurstyp) när jag försöker skapa ett labb?

Du kan se ett felmeddelande som liknar följande när du försöker skapa ett labb:

The provided location 'australiacentral' is not available for resource type 'Microsoft.KeyVault/vaults'. List of available regions for the resource type is 'devx-track-azurepowershell,northcentralus,eastus,northeurope,westeurope,eastasia,southeastasia,eastus2,centralus,southcentralus,westus,japaneast,japanwest,australiaeast,australiasoutheast,brazilsouth,centralindia,southindia,westindia,canadacentral,canadaeast,uksouth,ukwest,westcentralus,westus2,koreacentral,koreasouth,francecentral,southafricanorth

Du kan lösa det här felet genom att göra något av följande:

Alternativ 1

Kontrollera tillgängligheten för resurstypen i Azure-regioner på sidan Produkttillgänglighet per region. Om resurstypen inte är tillgänglig i en viss region stöder DevTest Labs inte skapandet av ett labb i den regionen. Välj en annan region när du skapar ditt labb.

Alternativ 2

Om resurstypen är tillgänglig i din region kontrollerar du om den är registrerad i din prenumeration. Det kan göras på prenumerationsägarens nivå, som du ser i den här artikeln.