Architektura referencyjna przedsiębiorstwa usługi DevTest Labs

Ten artykuł zawiera architekturę referencyjną wdrażania usługi Azure DevTest Labs w przedsiębiorstwie. Architektura zawiera następujące kluczowe elementy:

  • Łączność lokalna za pośrednictwem usługi Azure ExpressRoute
  • Brama usług pulpitu zdalnego do zdalnego logowania się do maszyn wirtualnych
  • Połączenie ivity do prywatnego repozytorium artefaktów
  • Inne składniki typu "platforma jako usługa" (PaaS) korzystające z laboratoriów

Architektura

Na poniższym diagramie przedstawiono typowe wdrożenie usługi DevTest Labs w przedsiębiorstwie. Ta architektura łączy kilka laboratoriów w różnych subskrypcjach platformy Azure z siecią lokalną firmy.

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

Składniki usługi DevTest Labs

Usługa DevTest Labs ułatwia przedsiębiorstwom zapewnianie dostępu do zasobów platformy Azure. Każde laboratorium zawiera zasoby typu oprogramowanie jako usługa (SaaS), infrastruktura jako usługa (IaaS) i PaaS. Użytkownicy laboratorium mogą tworzyć i konfigurować maszyny wirtualne, środowiska PaaS i artefakty maszyn wirtualnych.

Na powyższym diagramie laboratorium Team Lab 1 w subskrypcji platformy Azure 1 przedstawiono przykładowe składniki platformy Azure, do których laboratoria mogą uzyskiwać dostęp i używać. Aby uzyskać więcej informacji, zobacz About DevTest Labs (Informacje o usłudze DevTest Labs).

składniki Połączenie ivity

Potrzebujesz łączności lokalnej, jeśli laboratoria muszą uzyskiwać dostęp do lokalnych zasobów firmy. Typowe scenariusze to:

  • Niektóre dane lokalne nie mogą przejść do chmury.
  • Chcesz dołączyć maszyny wirtualne laboratorium do domeny lokalnej.
  • Chcesz wymusić cały ruch sieciowy w chmurze przez zaporę lokalną ze względów bezpieczeństwa lub zgodności.

Ta architektura używa usługi ExpressRoute do łączności z siecią lokalną. Można również użyć sieci VPN typu lokacja-lokacja.

Lokalna brama usług pulpitu zdalnego umożliwia wychodzące połączenia protokołu RDP (Remote Desktop Protocol) z usługą DevTest Labs. Zapory firmowe przedsiębiorstwa zwykle blokują połączenia wychodzące w zaporze firmowej. Aby włączyć łączność, możesz:

  • Użyj bramy usług pulpitu zdalnego i zezwól na statyczny adres IP modułu równoważenia obciążenia bramy.
  • Użyj wymuszonego tunelowania , aby przekierować cały ruch RDP z powrotem przez usługę ExpressRoute lub połączenie sieci VPN typu lokacja-lokacja. Wymuszone tunelowanie to typowe funkcje wdrożeń usługi DevTest Labs w skali przedsiębiorstwa.

Składniki sieci

W tej architekturze identyfikator Entra firmy Microsoft zapewnia zarządzanie tożsamościami i dostępem we wszystkich sieciach. Maszyny wirtualne laboratorium zwykle mają lokalne konto administracyjne w celu uzyskania dostępu. Jeśli jest dostępny identyfikator Entra firmy Microsoft, lokalna lub domena usług Microsoft Entra Domain Services , możesz dołączyć maszyny wirtualne laboratorium do domeny. Użytkownicy mogą następnie łączyć się z maszynami wirtualnymi przy użyciu tożsamości opartych na domenie.

Topologia sieci platformy Azure steruje sposobem uzyskiwania dostępu do zasobów laboratoryjnych i komunikowania się z sieciami lokalnymi i Internetem. Ta architektura przedstawia typowy sposób, w jaki przedsiębiorstwa network DevTest Labs. Laboratoria łączą się z równorzędnymi sieciami wirtualnymi w konfiguracji piasty i szprych za pośrednictwem połączenia usługi ExpressRoute lub sieci VPN typu lokacja-lokacja z siecią lokalną.

Ponieważ usługa DevTest Labs korzysta bezpośrednio z usługi Azure Virtual Network, nie ma żadnych ograniczeń dotyczących sposobu konfigurowania infrastruktury sieciowej. Możesz skonfigurować sieciową grupę zabezpieczeń, aby ograniczyć ruch w chmurze na podstawie źródłowych i docelowych adresów IP. Na przykład można zezwolić tylko na ruch pochodzący z sieci firmowej do sieci laboratorium.

Zagadnienia dotyczące skalowalności

Usługa DevTest Labs nie ma wbudowanych przydziałów ani limitów, ale inne zasoby platformy Azure, z których korzystają laboratoria, mają limity przydziału na poziomie subskrypcji. W typowym wdrożeniu przedsiębiorstwa potrzebujesz kilku subskrypcji platformy Azure, aby pokryć duże wdrożenie usługi DevTest Labs. Przedsiębiorstwa często osiągają następujące limity przydziału:

  • Grupy zasobów. Usługa DevTest Labs tworzy grupę zasobów dla każdej nowej maszyny wirtualnej, a użytkownicy laboratorium tworzą środowiska w grupach zasobów. Subskrypcje mogą zawierać maksymalnie 980 grup zasobów, dzięki czemu jest to limit maszyn wirtualnych i środowisk w subskrypcji.

    Dwie strategie mogą pomóc w utrzymaniu limitów grupy zasobów:

    • Wszystkie maszyny wirtualne są w tej samej grupie zasobów. Ta strategia pomaga spełnić limit grupy zasobów, ale ma wpływ na limit zasobów typu zasobu na grupę zasobów.
    • Użyj udostępnionych publicznych adresów IP. Jeśli maszyny wirtualne mogą mieć publiczne adresy IP, umieść wszystkie maszyny wirtualne o tym samym rozmiarze i regionie w tej samej grupie zasobów. Ta konfiguracja pomaga spełnić zarówno limity przydziału grupy zasobów, jak i limity przydziału grupy zasobów dla poszczególnych zasobów.
  • Zasoby na grupę zasobów na typ zasobu. Domyślny limit zasobów na grupę zasobów na typ zasobu wynosi 800. Umieszczenie wszystkich maszyn wirtualnych w tej samej grupie zasobów znacznie wcześniej osiąga ten limit, zwłaszcza jeśli maszyny wirtualne mają wiele dodatkowych dysków.

  • Konta magazynu. Każde laboratorium w usłudze DevTest Labs zawiera konto magazynu. Limit przydziału platformy Azure dla liczby kont magazynu na region na subskrypcję wynosi domyślnie 250 . Maksymalna liczba laboratoriów DevTest Labs w jednym regionie wynosi również 250. W przypadku zwiększenia limitu przydziału można utworzyć maksymalnie 500 kont magazynu na region. Aby uzyskać więcej informacji, zobacz Zwiększanie limitów przydziału kont usługi Azure Storage.

  • Przypisania ról. Przypisanie roli umożliwia użytkownikowi lub głównemu dostęp do zasobu. Platforma Azure ma limit 2000 przypisań ról na subskrypcję.

    Domyślnie usługa DevTest Labs tworzy grupę zasobów dla każdej maszyny wirtualnej laboratorium. Twórca maszyny wirtualnej otrzymuje uprawnienia właściciela dla maszyny wirtualnej i czytelnika do grupy zasobów. W związku z tym każda maszyna wirtualna laboratorium używa dwóch przypisań ról. Przyznawanie uprawnień użytkownika do laboratorium używa również przypisań ról.

  • Odczyty/zapisy interfejsu API. Usługi Azure i DevTest Labs można zautomatyzować przy użyciu interfejsów API REST, programu PowerShell, interfejsu wiersza polecenia platformy Azure i zestawu Azure SDK. Każda subskrypcja platformy Azure umożliwia maksymalnie 12 000 żądań odczytu i 1200 żądań zapisu na godzinę. Automatyzując usługę DevTest Labs, możesz osiągnąć limit żądań interfejsu API.

Zagadnienia dotyczące możliwości zarządzania

Za pomocą witryny Azure Portal można jednocześnie zarządzać pojedynczym wystąpieniem usługi DevTest Labs, ale przedsiębiorstwa mogą mieć wiele subskrypcji platformy Azure i wiele laboratoriów do administrowania. Spójne wprowadzanie zmian we wszystkich laboratoriach wymaga automatyzacji skryptów.

Oto kilka przykładów użycia skryptów we wdrożeniach usługi DevTest Labs:

  • Zmienianie ustawień laboratorium. Zaktualizuj określone ustawienie laboratorium we wszystkich laboratoriach przy użyciu skryptów programu PowerShell, interfejsu wiersza polecenia platformy Azure lub interfejsów API REST. Na przykład zaktualizuj wszystkie laboratoria, aby zezwolić na nowy rozmiar wystąpienia maszyny wirtualnej.

  • Aktualizowanie osobistych tokenów dostępu repozytorium artefaktów (PAT). Usługi PATs dla repozytoriów Git zwykle wygasają za 90 dni, jeden rok lub dwa lata. Aby zapewnić ciągłość, ważne jest rozszerzenie patu. Możesz też utworzyć nowy token dostępu i użyć automatyzacji, aby zastosować ją do wszystkich laboratoriów.

  • Ograniczanie zmian ustawień laboratorium. Aby ograniczyć niektóre ustawienia, takie jak zezwolenie na używanie obrazu z witryny Marketplace, możesz użyć usługi Azure Policy, aby zapobiec zmianom typu zasobu. Możesz też utworzyć rolę niestandardową i przyznać użytkownikom rolę zamiast wbudowanej roli laboratorium. Możesz ograniczyć zmiany dla większości ustawień laboratorium, takich jak wewnętrzna pomoc techniczna, anonse laboratorium i dozwolone rozmiary maszyn wirtualnych.

  • Stosowanie konwencji nazewnictwa dla maszyn wirtualnych. Za pomocą usługi Azure Policy można określić wzorzec nazewnictwa, który pomaga identyfikować maszyny wirtualne w środowiskach opartych na chmurze.

Zarządzasz zasobami platformy Azure dla usługi DevTest Labs w taki sam sposób jak w innych celach. Na przykład usługa Azure Policy ma zastosowanie do maszyn wirtualnych tworzonych w laboratorium. Microsoft Defender dla Chmury może zgłaszać zgodność maszyn wirtualnych laboratorium. Usługa Azure Backup umożliwia regularne tworzenie kopii zapasowych maszyn wirtualnych laboratorium.

Zagadnienia dotyczące zabezpieczeń

Usługa DevTest Labs automatycznie korzysta z wbudowanych funkcji zabezpieczeń platformy Azure. Aby wymagać przychodzących połączeń pulpitu zdalnego tylko z sieci firmowej, można dodać sieciową grupę zabezpieczeń do sieci wirtualnej w bramie usług pulpitu zdalnego.

Innym zagadnieniem zabezpieczeń jest poziom uprawnień udzielany użytkownikom laboratorium. Właściciele laboratoriów używają kontroli dostępu opartej na rolach (RBAC) platformy Azure do przypisywania ról do użytkowników i ustawiania uprawnień na poziomie zasobów i dostępu. Najczęściej używane uprawnienia usługi DevTest Labs to Właściciel, Współautor i Użytkownik. Można również tworzyć i przypisywać role niestandardowe. Aby uzyskać więcej informacji, zobacz Dodawanie właścicieli i użytkowników w usłudze Azure DevTest Labs.

Następne kroki

Zapoznaj się z następnym artykułem z tej serii: Dostarczanie weryfikacji koncepcji.