Share via


DevTest Labs 엔터프라이즈 참조 아키텍처

이 문서에서는 엔터프라이즈에 Azure DevTest Labs를 배포하기 위한 참조 아키텍처를 제공합니다. 아키텍처에는 다음과 같은 주요 요소가 포함됩니다.

  • Azure ExpressRoute를 통해 온-프레미스 연결
  • VM(가상 머신)에 원격으로 로그인하는 원격 데스크톱 게이트웨이
  • 프라이빗 아티팩트 리포지토리에 연결
  • 랩에서 사용하는 기타 PaaS(Platform-as-a-Service) 구성 요소

아키텍처

다음 다이어그램에서는 일반적인 DevTest Labs 엔터프라이즈 배포를 보여 줍니다. 이 아키텍처는 서로 다른 Azure 구독의 여러 랩을 회사의 온-프레미스 네트워크에 연결합니다.

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

DevTest Labs 구성 요소

DevTest Labs를 통해 엔터프라이즈는 Azure 리소스에 쉽고 빠르게 액세스할 수 있습니다. 각 랩에는 SaaS(Software-as-a-Service), IaaS(Infrastructure-as-a-Service), PaaS 리소스가 포함됩니다. 랩 사용자는 VM, PaaS 환경, VM 아티팩트를 만들고 구성할 수 있습니다.

이전 다이어그램에서 Azure 구독 1팀 랩 1은 랩이 액세스하고 사용할 수 있는 Azure 구성 요소의 예를 보여 줍니다. 자세한 내용은 DevTest Labs 정보를 참조하세요.

연결 구성 요소

랩이 온-프레미스 회사 리소스에 액세스해야 하는 경우 온-프레미스 연결이 필요합니다. 일반적인 시나리오는 다음과 같습니다.

  • 일부 온-프레미스 데이터는 클라우드로 이동할 수 없습니다.
  • 랩 VM을 온-프레미스 도메인에 조인하려고 합니다.
  • 보안 또는 규정 준수를 위해 온-프레미스 방화벽을 통해 모든 클라우드 네트워크 트래픽을 강제 적용하려고 합니다.

이 아키텍처는 온-프레미스 네트워크에 연결하기 위해 ExpressRoute를 사용합니다. 하지만 사이트 간 VPN을 사용할 수도 있습니다.

온-프레미스에서 원격 데스크톱 게이트웨이를 사용하면 DevTest Labs에 나가는 RDP(원격 데스크톱 프로토콜) 연결을 사용할 수 있습니다. 엔터프라이즈 회사 방화벽은 일반적으로 회사 방화벽에서 나가는 연결을 차단합니다. 연결을 사용하도록 설정하려면 다음을 수행할 수 있습니다.

  • 원격 데스크톱 게이트웨이를 사용하고 게이트웨이 부하 분산 장치의 고정 IP 주소를 허용합니다.
  • 강제 터널링을 사용하여 ExpressRoute 또는 사이트 간 VPN 연결을 통해 모든 RDP 트래픽을 다시 리디렉션합니다. 강제 터널링은 엔터프라이즈 규모 DevTest Labs 배포의 일반적인 기능입니다.

네트워킹 구성 요소

이 아키텍처에서 Microsoft Entra ID는 모든 네트워크에서 ID 및 액세스 관리를 제공합니다. 랩 VM에는 일반적으로 액세스를 위한 로컬 관리 계정이 있습니다. Microsoft Entra ID, 온-프레미스 또는 Microsoft Entra Domain Services 도메인을 사용할 수 있는 경우 랩 VM을 도메인에 조인할 수 있습니다. 그러면 사용자가 자신의 도메인 기반 ID를 사용하여 VM에 연결할 수 있습니다.

Azure 네트워킹 토폴로지에서는 랩 리소스가 온-프레미스 네트워크 및 인터넷과 액세스하고 통신하는 방법을 제어합니다. 이 아키텍처는 엔터프라이즈에서 DevTest Labs를 네트워크하는 일반적인 방법을 보여 줍니다. 랩은 ExpressRoute 또는 사이트 간 VPN 연결을 통해 허브-스포크 구성에서 피어된 가상 네트워크와 온-프레미스 네트워크에 연결합니다.

그러나 DevTest Labs는 Azure Virtual Network를 직접 사용하므로 네트워킹 인프라를 설정하는 방법에 제한이 없습니다. 원본 및 대상 IP 주소에 따라 클라우드 트래픽을 제한하도록 네트워크 보안 그룹을 설정할 수 있습니다. 예를 들어 회사 네트워크에서 시작된 트래픽만 랩의 네트워크로 허용할 수 있습니다.

확장성 고려 사항

DevTest Labs에는 기본 제공 할당량 또는 제한이 없지만 랩에서 사용하는 다른 Azure 리소스에는 구독 수준 할당량이 있습니다. 일반적인 엔터프라이즈 배포에서는 DevTest Labs의 대량 배포를 처리하기 위해 여러 Azure 구독이 필요합니다. 기업은 일반적으로 다음 할당량에 도달합니다.

  • 리소스 그룹. DevTest Labs는 모든 새 VM에 대한 리소스 그룹을 만들고 랩 사용자는 리소스 그룹에서 환경을 만듭니다. 구독에는 최대 980개의 리소스 그룹이 포함될 수 있으므로 이는 구독의 VM 및 환경 제한입니다.

    두 가지 전략은 리소스 그룹 제한을 유지하는 데 도움이 될 수 있습니다.

    • 모든 VM은 동일한 리소스 그룹으로 이동합니다. 이 전략은 리소스 그룹 제한을 충족하는 데 도움이 되지만 리소스 그룹당 리소스 종류 제한에 영향을 줍니다.
    • 공유 공용 IP를 사용합니다. VM에 공용 IP 주소가 허용되면 동일한 크기 및 지역의 모든 VM을 동일한 리소스 그룹에 배치합니다. 이 구성은 리소스 그룹 할당량과 리소스 종류별 리소스 그룹 할당량을 모두 충족하는 데 도움이 됩니다.
  • 리소스 그룹당, 리소스 유형당 리소스 리소스 그룹 및 리소스 종류당 리소스의 기본 제한은 800입니다. 모든 VM이 동일한 리소스 그룹으로 이동 구성을 사용하는 경우 VM에 추가 디스크가 많으면 특히 이 제한에 더 빨리 도달합니다.

  • 스토리지 계정 DevTest Labs의 모든 랩에는 스토리지 계정이 함께 제공됩니다. 기본적으로 구독당 지역별 스토리지 계정 수에 대한 Azure 할당량은 250개입니다. 따라서 한 지역 내 DevTest Labs의 최대 수는 250개입니다. 할당량을 늘리면 지역당 최대 500개의 스토리지 계정을 만들 수 있습니다. 자세한 내용은 Azure Storage 계정 할당량 증가를 참조하세요.

  • 역할 할당. 역할 할당은 사용자 또는 주체에게 리소스에 대한 액세스 권한을 부여합니다. Azure에서 구독당 역할 할당은 2,000개로 제한됩니다.

    기본적으로 DevTest Labs는 각 랩 VM에 대한 리소스 그룹을 만듭니다. VM 작성자에게는 VM에 대한 소유자 사용 권한과 리소스 그룹에 대한 읽기 권한자 사용 권한이 부여됩니다. 따라서 각 랩 VM은 두 개의 역할 할당을 사용합니다. 랩에 사용자 권한을 부여하면 역할 할당도 사용됩니다.

  • API 읽기/쓰기 REST API, PowerShell, Azure CLI, Azure SDK를 사용하여 Azure 및 DevTest Labs를 자동화할 수 있습니다. 각 Azure 구독에 대해 시간당 최대 12,000개 읽기 요청과 1,200개 쓰기 요청을 허용합니다. DevTest Labs를 자동화하면 API 요청에 대한 제한에 도달할 수 있습니다.

관리 효율성 고려 사항

Azure Portal을 사용하여 한 번에 단일 DevTest Labs 인스턴스를 관리할 수 있지만, 엔터프라이즈에는 여러 Azure 구독과 관리할 많은 랩이 있을 수 있습니다. 모든 랩을 일관되게 변경하려면 스크립팅 자동화가 필요합니다.

다음은 DevTest Labs 배포에서 스크립팅을 사용하는 몇 가지 예입니다.

  • 랩 설정 변경 PowerShell 스크립트, Azure CLI 또는 REST API를 사용하여 모든 랩에서 특정 랩 설정을 업데이트합니다. 예를 들어 새 VM 인스턴스 크기를 허용하도록 모든 랩을 업데이트합니다.

  • 아티팩트 리포지토리 PAT(개인용 액세스 토큰) 업데이트 Git 리포지토리에 대한 PAT는 일반적으로 90일, 1년 또는 2년 후에 만료됩니다. 연속성을 보장하려면 PAT를 확장하는 것이 중요합니다. 또는 새 PAT를 만들고 자동화를 사용하여 모든 랩에 적용합니다.

  • 랩 설정에 대한 변경 제한 마켓플레이스 이미지 사용 허용과 같은 특정 설정을 제한하려면 Azure Policy를 사용하여 리소스 종류 변경을 방지할 수 있습니다. 또는 사용자 지정 역할을 만들어 기본 제공 랩 역할 대신 이 역할을 사용자에게 부여할 수 있습니다. 내부 지원, 랩 알림, 허용되는 VM 크기와 같은 대부분의 랩 설정에 대한 변경 내용을 제한할 수 있습니다.

  • VM에 대한 명명 규칙 적용 Azure Policy를 사용하여 클라우드 기반 환경에서 VM을 식별하는 데 도움이 되는 명명 패턴을 지정할 수 있습니다.

다른 용도와 동일한 방식으로 DevTest Labs에 대한 Azure 리소스를 관리합니다. 예를 들어 Azure Policy는 랩에서 만드는 VM에 적용됩니다. 클라우드용 Microsoft Defender는 랩 VM 준수에 대해 보고할 수 있습니다. Azure Backup은 랩 VM에 대한 정기 백업을 제공할 수 있습니다.

보안 고려 사항

DevTest Labs는 기본 제공 Azure 보안 기능의 이점을 자동으로 활용합니다. 들어오는 원격 데스크톱 연결이 회사 네트워크에서만 시작되도록 하려면 원격 데스크톱 게이트웨이의 가상 네트워크에 네트워크 보안 그룹을 추가할 수 있습니다.

또 다른 보안 고려 사항은 랩 사용자에게 부여하는 권한 수준입니다. 랩 소유자는 Azure RBAC(Azure 역할 기반 액세스 제어)를 사용하여 사용자에게 역할을 할당하고 리소스 및 액세스 수준 권한을 설정합니다. 가장 일반적인 DevTest Labs 권한은 소유자, 기여자, 사용자입니다. 사용자 지정 역할을 만들고 할당할 수도 있습니다. 자세한 내용은 Azure DevTest Labs에 소유자 및 사용자 추가를 참조하세요.

다음 단계

이 시리즈의 다음 문서: 개념 증명 제공을 참조하세요.