Dela via


DevTest Labs företagsreferensarkitektur

Den här artikeln innehåller en referensarkitektur för distribution av Azure DevTest Labs i ett företag. Arkitekturen innehåller följande viktiga element:

  • Lokal anslutning via Azure ExpressRoute
  • En fjärrskrivbordsgateway för fjärrinloggning till virtuella datorer
  • Anslut ivity till en privat artefaktlagringsplats
  • Andra PaaS-komponenter (platform-as-a-service) som labb använder

Arkitektur

Följande diagram visar en typisk DevTest Labs-företagsdistribution. Den här arkitekturen ansluter flera labb i olika Azure-prenumerationer till ett företags lokala nätverk.

Diagram that shows a reference architecture for an enterprise DevTest Labs deployment.

DevTest Labs-komponenter

DevTest Labs gör det enkelt och snabbt för företag att ge åtkomst till Azure-resurser. Varje labb innehåller SaaS(software-as-a-service), infrastruktur som en tjänst (IaaS) och PaaS-resurser. Labbanvändare kan skapa och konfigurera virtuella datorer, PaaS-miljöer och VM-artefakter.

I föregående diagram visar Team Lab 1 i Azure Subscription 1 ett exempel på Azure-komponenter som labb kan komma åt och använda. Mer information finns i Om DevTest Labs.

Anslut ivitetskomponenter

Du behöver lokal anslutning om dina labb måste komma åt lokala företagsresurser. Vanliga scenarier är:

  • Vissa lokala data kan inte flyttas till molnet.
  • Du vill ansluta virtuella labbdatorer till en lokal domän.
  • Du vill tvinga all molnnätverkstrafik via en lokal brandvägg av säkerhetsskäl.

Den här arkitekturen använder ExpressRoute för anslutning till det lokala nätverket. Du kan också använda ett plats-till-plats-VPN.

Lokalt möjliggör en fjärrskrivbordsgateway utgående RDP-anslutningar (Remote Desktop Protocol) till DevTest Labs. Företagsbrandväggar blockerar vanligtvis utgående anslutningar i företagets brandvägg. Om du vill aktivera anslutningen kan du:

  • Använd en fjärrskrivbordsgateway och tillåt den statiska IP-adressen för gatewayens lastbalanserare.
  • Använd tvingad tunneltrafik för att omdirigera all RDP-trafik tillbaka över ExpressRoute- eller plats-till-plats-VPN-anslutningen. Tvingad tunneltrafik är vanliga funktioner för DevTest Labs-distributioner i företagsskala.

Nätverkskomponenter

I den här arkitekturen tillhandahåller Microsoft Entra ID identitets- och åtkomsthantering i alla nätverk. Virtuella labbdatorer har vanligtvis ett lokalt administrativt konto för åtkomst. Om det finns ett Microsoft Entra-ID, en lokal domän eller Entra Domain Services-domän tillgänglig kan du ansluta virtuella labbdatorer till domänen. Användarna kan sedan använda sina domänbaserade identiteter för att ansluta till de virtuella datorerna.

Nätverkstopologin i Azure styr hur labbresurser får åtkomst till och kommunicerar med lokala nätverk och Internet. Den här arkitekturen visar ett vanligt sätt för företag att nätverka DevTest Labs. Labbarna ansluter med peerkopplade virtuella nätverk i en hub-spoke-konfiguration, via ExpressRoute- eller plats-till-plats-VPN-anslutningen, till det lokala nätverket.

Eftersom DevTest Labs använder Azure Virtual Network direkt finns det inga begränsningar för hur du konfigurerar nätverksinfrastrukturen. Du kan konfigurera en nätverkssäkerhetsgrupp för att begränsa molntrafiken baserat på källans och målets IP-adresser. Du kan till exempel bara tillåta trafik som kommer från företagsnätverket till labbets nätverk.

Skalbarhetsöverväganden

DevTest Labs har inga inbyggda kvoter eller gränser, men andra Azure-resurser som används av labb har kvoter på prenumerationsnivå. I en typisk företagsdistribution behöver du flera Azure-prenumerationer för att täcka en stor DevTest Labs-distribution. Företag når ofta följande kvoter:

  • Resursgrupper. DevTest Labs skapar en resursgrupp för varje ny virtuell dator och labbanvändare skapar miljöer i resursgrupper. Prenumerationer kan innehålla upp till 980 resursgrupper, så det är gränsen för virtuella datorer och miljöer i en prenumeration.

    Två strategier kan hjälpa dig att hålla dig under resursgruppsgränser:

    • Alla virtuella datorer finns i samma resursgrupp. Den här strategin hjälper dig att uppfylla resursgruppsgränsen, men den påverkar gränsen för resurstyp per resursgrupp.
    • Använd delade offentliga IP-adresser. Om virtuella datorer tillåts ha offentliga IP-adresser placerar du alla virtuella datorer av samma storlek och region i samma resursgrupp. Den här konfigurationen hjälper dig att uppfylla både resursgruppskvoter och resurstyp-per-resursgrupp-kvoter.
  • Resurser per resursgrupp per resurstyp. Standardgränsen för resurser per resursgrupp per resurstyp är 800. Att placera alla virtuella datorer i samma resursgrupp når den här gränsen mycket tidigare, särskilt om de virtuella datorerna har många extra diskar.

  • Lagringskonton. Varje labb i DevTest Labs levereras med ett lagringskonto. Azure-kvoten för antalet lagringskonton per region per prenumeration är som standard 250 . Så det maximala antalet DevTest Labs i en region är också 250. Med en kvotökning kan du skapa upp till 500 lagringskonton per region. Mer information finns i Öka Azure Storage-kontokvoter.

  • Rolltilldelningar. En rolltilldelning ger en användare eller ett huvudnamn åtkomst till en resurs. Azure har en gräns på 2 000 rolltilldelningar per prenumeration.

    Som standard skapar DevTest Labs en resursgrupp för varje virtuell labbdator. Skaparen av den virtuella datorn får ägarbehörighet för den virtuella datorn och läsarbehörighet till resursgruppen. Varje virtuell labbdator använder därför två rolltilldelningar. Om du beviljar användarbehörighet till labbet används även rolltilldelningar.

  • API-läsningar/skrivningar. Du kan automatisera Azure och DevTest Labs med hjälp av REST API:er, PowerShell, Azure CLI och Azure SDK. Varje Azure-prenumeration tillåter upp till 12 000 läsbegäranden och 1 200 skrivbegäranden per timme. Genom att automatisera DevTest Labs kan du nå gränsen för API-begäranden.

Överväganden för hantering

Du kan använda Azure-portalen för att hantera en enda DevTest Labs-instans åt gången, men företag kan ha flera Azure-prenumerationer och många labb att administrera. Att göra ändringar konsekvent i alla labb kräver skriptautomatisering.

Här är några exempel på hur du använder skript i DevTest Labs-distributioner:

  • Ändra labbinställningar. Uppdatera en specifik labbinställning för alla labb med hjälp av PowerShell-skript, Azure CLI eller REST-API:er. Uppdatera till exempel alla labb för att tillåta en ny VM-instansstorlek.

  • Uppdaterar personliga åtkomsttoken för artefaktlagringsplats (PAT). PAT:er för Git-lagringsplatser upphör vanligtvis att gälla om 90 dagar, ett år eller två år. För att säkerställa kontinuitet är det viktigt att utöka PAT. Du kan också skapa en ny PAT och använda automatisering för att tillämpa den på alla labb.

  • Begränsa ändringar i labbinställningar. Om du vill begränsa vissa inställningar, till exempel att tillåta användning av Marketplace-avbildningar, kan du använda Azure Policy för att förhindra ändringar i en resurstyp. Eller så kan du skapa en anpassad roll och bevilja användare den rollen i stället för en inbyggd labbroll. Du kan begränsa ändringar för de flesta labbinställningar, till exempel intern support, labbmeddelanden och tillåtna VM-storlekar.

  • Tillämpa en namngivningskonvention för virtuella datorer. Du kan använda Azure Policy för att ange ett namngivningsmönster som hjälper dig att identifiera virtuella datorer i molnbaserade miljöer.

Du hanterar Azure-resurser för DevTest Labs på samma sätt som för andra ändamål. Azure Policy gäller till exempel för virtuella datorer som du skapar i ett labb. Microsoft Defender för molnet kan rapportera om labb-VM-efterlevnad. Azure Backup kan tillhandahålla regelbundna säkerhetskopior för virtuella labbdatorer.

Säkerhetsfrågor

DevTest Labs drar automatiskt nytta av inbyggda Azure-säkerhetsfunktioner. Om du vill kräva att inkommande fjärrskrivbordsanslutningar endast kommer från företagsnätverket kan du lägga till en nätverkssäkerhetsgrupp i det virtuella nätverket på fjärrskrivbordsgatewayen.

En annan säkerhetsövervägande är den behörighetsnivå som du beviljar labbanvändare. Labbägare använder rollbaserad åtkomstkontroll i Azure (Azure RBAC) för att tilldela roller till användare och ange behörigheter på resurs- och åtkomstnivå. De vanligaste DevTest Labs-behörigheterna är Ägare, Deltagare och Användare. Du kan också skapa och tilldela anpassade roller. Mer information finns i Lägga till ägare och användare i Azure DevTest Labs.

Nästa steg

Se nästa artikel i den här serien: Leverera ett konceptbevis.