Azure에서 ADDS 리소스 포리스트 만들기

Azure Active Directory
Active Directory Domain Services
ExpressRoute
Virtual Network
VPN Gateway

이 참조 아키텍처는 온-프레미스 AD 포레스트에 있는 도메인의 신뢰를 받는 Azure의 별도 Active Directory 도메인을 생성하는 방법을 설명합니다.This reference architecture shows how to create a separate Active Directory domain in Azure that is trusted by domains in your on-premises AD forest. 이 솔루션을 배포합니다.Deploy this solution.

별도 Active Directory 도메인으로 하이브리드 네트워크 아키텍처 보안 유지

이 아키텍처의 Visio 파일을 다운로드합니다.Download a Visio file of this architecture.

AD DS(Active Directory Domain Services)는 ID 정보를 계층 구조에 저장합니다.Active Directory Domain Services (AD DS) stores identity information in a hierarchical structure. 계층 구조의 최상위 노드를 포레스트라고 합니다.The top node in the hierarchical structure is known as a forest. 포레스트는 도메인을, 도메인은 다른 유형의 개체를 담고 있습니다.A forest contains domains, and domains contain other types of objects. 이 참조 아키텍처는 온-프레미스 도메인과의 단방향의 보내는 트러스트 관계를 구축하여 Azure에 AD DS 포레스트를 만듭니다.This reference architecture creates an AD DS forest in Azure with a one-way outgoing trust relationship with an on-premises domain. Azure에 있는 포레스트는 온-프레미스에 없는 도메인을 포함합니다.The forest in Azure contains a domain that does not exist on-premises. 트러스트 관계를 바탕으로 온-프레미스 도메인에서 수행한 로그인을 통해 별개의 Azure 도메인에 있는 리소스에 접속할 수 있습니다.Because of the trust relationship, logons made against on-premises domains can be trusted for access to resources in the separate Azure domain.

이 아키텍처의 일반적인 용도는 클라우드에 저장된 개체 및 ID에 대한 보안 분리를 유지하는 것과 개별 도메인을 온-프레미스에서 클라우드로 마이그레이션하는 것입니다.Typical uses for this architecture include maintaining security separation for objects and identities held in the cloud, and migrating individual domains from on-premises to the cloud.

추가 고려 사항은 온-프레미스 Active Directory를 Azure와 통합 하기 위한 솔루션 선택을 참조 하세요.For additional considerations, see Choose a solution for integrating on-premises Active Directory with Azure.

ArchitectureArchitecture

이 아키텍처의 구성 요소는 다음과 같습니다.The architecture has the following components.

  • 온-프레미스 네트워크.On-premises network. 온-프레미스 네트워크는 자체 Active Directory 포레스트와 도메인을 포함합니다.The on-premises network contains its own Active Directory forest and domains.
  • 서버를 Active Directory 합니다.Active Directory servers. 클라우드에서 VM으로 실행되는 도메인 서비스를 구현하는 도메인 컨트롤러입니다.These are domain controllers implementing domain services running as VMs in the cloud. 이러한 서버는 온-프레미스에 위치한 도메인들과 분리된 하나 이상의 도메인을 포함하는 포레스트를 호스트합니다.These servers host a forest containing one or more domains, separate from those located on-premises.
  • 단방향 트러스트 관계.One-way trust relationship. 이 다이어그램의 예제는 Azure 도메인으로부터 온-프레미스 도메인으로의 단방향 트러스트 관계를 보여 줍니다.The example in the diagram shows a one-way trust from the domain in Azure to the on-premises domain. 이 관계를 통해 온-프레미스 사용자는 Azure의 도메인에 있는 리소스에 접근할 수 있지만 Azure 사용자가 온-프레미스의 리소스에 접근할 수는 없습니다.This relationship enables on-premises users to access resources in the domain in Azure, but not the other way around.
  • Active Directory 서브넷.Active Directory subnet. AD DS 서버는 별도의 서브넷에 호스팅됩니다.The AD DS servers are hosted in a separate subnet. NSG(네트워크 보안 그룹) 규칙은 AD DS 서버를 보호하고 예상치 못한 소스로부터 전달되는 트래픽에 대한 방화벽을 제공합니다.Network security group (NSG) rules protect the AD DS servers and provide a firewall against traffic from unexpected sources.
  • Azure 게이트웨이.Azure gateway. Azure 게이트웨이는 온-프레미스 네트워크와 Azure VNet 사이에 연결을 제공합니다.The Azure gateway provides a connection between the on-premises network and the Azure VNet. 이러한 연결은 VPN 연결 또는 Azure ExpressRoute일 수 있습니다.This can be a VPN connection or Azure ExpressRoute. 자세한 내용은 VPN 게이트웨이를 사용하여 온-프레미스 네트워크를 Azure에 연결을 참조하세요.For more information, see Connect an on-premises network to Azure using a VPN gateway.

권장 사항Recommendations

Azure에서 Active Directory를 구현 하는 방법에 대 한 특정 권장 사항은 azure로 Active Directory Domain Services (AD DS) 확장을 참조 하세요.For specific recommendations on implementing Active Directory in Azure, see Extending Active Directory Domain Services (AD DS) to Azure.

신뢰Trust

온-프레미스 도메인은 클라우드에 있는 도메인과는 다른 포레스트 내에 있습니다.The on-premises domains are contained within a different forest from the domains in the cloud. 클라우드에서 온-프레미스 사용자 인증을 하려면 Azure 도메인이 온-프레미스 포레스트의 로그인 도메인을 신뢰해야 합니다.To enable authentication of on-premises users in the cloud, the domains in Azure must trust the logon domain in the on-premises forest. 마찬가지로, 클라우드가 외부 사용자를 위한 로그인 도메인을 제공한다면 온-프레미스 포레스트가 클라우드 도메인을 신뢰해야 합니다.Similarly, if the cloud provides a logon domain for external users, it may be necessary for the on-premises forest to trust the cloud domain.

포레스트 수준에서는 포레스트 트러스트 생성을 통해, 도메인 수준에서는 외부 트러스트 생성을 통해 트러스트를 구축할 수 있습니다.You can establish trusts at the forest level by creating forest trusts, or at the domain level by creating external trusts. 포레스트 수준 트러스트는 두 개의 포레스트 내에 있는 모든 도메인들 사이에 관계를 형성합니다.A forest level trust creates a relationship between all domains in two forests. 외부 도메인 수준 트러스트는 두 개의 지정된 도메인 간 관계만을 형성합니다.An external domain level trust only creates a relationship between two specified domains. 서로 다른 포레스트의 도메인 간에는 외부 도메인 수준 트러스트만 형성해야 합니다.You should only create external domain level trusts between domains in different forests.

온-프레미스 Active Directory를 사용 하는 트러스트는 단방향 (단방향)만 있습니다.Trusts with an on-premises Active Directory are only unidirectional (one-way). 단방향 트러스트는 하나의 도메인 또는 포레스트(수신 도메인 또는 포리스트)의 사용자가 다른(송신) 도메인 또는 포레스트에 있는 리소스에 액세스할 수 있도록 합니다.A one-way trust enables users in one domain or forest (known as the incoming domain or forest) to access the resources held in another (the outgoing domain or forest).

다음 표에는 간단한 시나리오에 대한 트러스트 구성이 요약되어 있습니다.The following table summarizes trust configurations for some simple scenarios:

시나리오Scenario 온-프레미스 트러스트On-premises trust 클라우드 트러스트Cloud trust
온-프레미스 사용자는 클라우드에 있는 리소스에 대한 액세스를 요구할 수 있지만 그 반대 방향은 불가능합니다.On-premises users require access to resources in the cloud, but not vice versa 단방향, 수신One-way, incoming 단방향, 송신One-way, outgoing
클라우드 사용자는 온-프레미스에 위치한 리소스에 대한 액세스를 요구할 수 있지만 그 반대 방향은 불가능합니다.Users in the cloud require access to resources located on-premises, but not vice versa 단방향, 송신One-way, outgoing 단방향, 수신One-way, incoming

확장성 고려 사항Scalability considerations

Active Directory는 동일한 도메인의 일부인 도메인 컨트롤러를 위해 자동으로 확장 가능합니다.Active Directory is automatically scalable for domain controllers that are part of the same domain. 요청은 하나의 도메인 내에 있는 모든 컨트롤러로 분산됩니다.Requests are distributed across all controllers within a domain. 도메인 컨트롤러를 추가하면 자동으로 해당 도메인과 동기화가 진행됩니다.You can add another domain controller, and it synchronizes automatically with the domain. 해당 도메인 내에서 트래픽을 컨트롤러로 전송하기 위해 별도의 부하 분산 장치를 구성하지 마세요.Do not configure a separate load balancer to direct traffic to controllers within the domain. 모든 도메인 컨트롤러는 도메인 데이터베이스를 처리하기에 충부한 메모리와 스토리지 리소스를 가져야 합니다.Ensure that all domain controllers have sufficient memory and storage resources to handle the domain database. 모든 도메인 컨트롤러 VM은 동일한 크기여야 합니다.Make all domain controller VMs the same size.

가용성 고려 사항Availability considerations

각 도메인에 대해 최소 두 개의 도메인 컨트롤러를 프로비전합니다.Provision at least two domain controllers for each domain. 이를 통해 서버 간 자동 복제가 가능해집니다.This enables automatic replication between servers. 각 도메인을 처리하는 Active Directory 서버의 역할을 하는 VM에 대한 가용성 집합을 생성합니다.Create an availability set for the VMs acting as Active Directory servers handling each domain. 이 가용성 집합 내에 최소 두 개의 서버를 배치합니다.Put at least two servers in this availability set.

또한 유연한 단일 마스터 작업(FSMO) 역할을 수행하는 서버에 대한 연결 실패를 대비하여 각 도메인에 있는 하나 이상의 서버를 대기 작업 마스터로 지정하는 것을 고려해 보세요.Also, consider designating one or more servers in each domain as standby operations masters in case connectivity to a server acting as a flexible single master operation (FSMO) role fails.

관리 효율성 고려 사항Manageability considerations

관리 및 모니터링 고려사항에 대한 자세한 내용은 Active Directory를 Azure로 확장을 참조하세요.For information about management and monitoring considerations, see Extending Active Directory to Azure.

자세한 내용은 Active Directory 모니터링을 참조하세요.For additional information, see Monitoring Active Directory. 관리 서브넷의 모니터링 서버에 Microsoft Systems Center와 같은 도구를 설치하며 이러한 작업 수행이 수월해질 수 있습니다.You can install tools such as Microsoft Systems Center on a monitoring server in the management subnet to help perform these tasks.

보안 고려 사항Security considerations

포레스트 수준 트러스트는 전이적입니다.Forest level trusts are transitive. 온-프레미스 포레스트와 클라우드 포레스트 간 포레스트 수준 트러스트를 구축하는 경우 이 트러스트는 어느 하나의 포레스트에 생성된 다른 새로운 도메인로 확장됩니다.If you establish a forest level trust between an on-premises forest and a forest in the cloud, this trust is extended to other new domains created in either forest. 보안을 목적으로 도메인을 사용하여 분리를 제공하는 경우에는 도메인 수준에서만 트러스트를 생성하는 것을 고려하세요.If you use domains to provide separation for security purposes, consider creating trusts at the domain level only. 도메인 수준 트러스트는 비전이적입니다.Domain level trusts are non-transitive.

Active Directory 관련 보안 고려사항을 확인하려면 Active Directory를 Azure로 확장의 보안 고려항 섹션을 참조하세요.For Active Directory-specific security considerations, see the security considerations section in Extending Active Directory to Azure.

DevOps 고려 사항DevOps considerations

DevOps 고려 사항은 devops: Azure로 Active Directory Domain Services 확장 (AD DS)을참조 하세요.For DevOps considerations, see DevOps: Extending Active Directory Domain Services (AD DS) to Azure.

비용 고려 사항Cost considerations

Azure 가격 계산기를 사용하여 비용을 예측합니다.Use the Azure pricing calculator to estimate costs. 기타 고려 사항은 Microsoft Azure Well-Architected Framework의 비용 섹션에 설명 되어 있습니다.Other considerations are described in the Cost section in Microsoft Azure Well-Architected Framework.

이 아키텍처에서 사용 되는 서비스에 대 한 비용 고려 사항은 다음과 같습니다.Here are cost considerations for the services used in this architecture.

AD Domain ServicesAD Domain Services

Active Directory Domain Services를 여러 워크로드에서 공유하는 서비스로 사용하여 비용을 절감하는 것이 좋습니다.Consider having Active Directory Domain Services as a shared service that is consumed by multiple workloads to lower costs. 자세한 내용은 Active Directory Domain Services 가격 책정을 참조 하세요.For more information, see Active Directory Domain Services pricing.

Azure VPN GatewayAzure VPN Gateway

이 아키텍처의 주요 구성 요소는 VPN gateway 서비스입니다.The main component of this architecture is the VPN gateway service. 요금은 게이트웨이가 프로비전되고 사용된 시간에 따라 청구됩니다.You are charged based on the amount of time that the gateway is provisioned and available.

모든 인바운드 트래픽은 무료 이며 모든 아웃 바운드 트래픽은 청구 됩니다.All inbound traffic is free, all outbound traffic is charged. 인터넷 대역폭 비용은 VPN 아웃바운드 트래픽에 적용됩니다.Internet bandwidth costs are applied to VPN outbound traffic.

자세한 내용은 VPN Gateway 가격 책정을 참조 하세요.For more information, see VPN Gateway Pricing.

솔루션 배포Deploy the solution

이 아키텍처에 대한 배포는 GitHub에서 사용할 수 있습니다.A deployment for this architecture is available on GitHub. 전체 배포는 최대 2시간이 걸릴 수 있으며 VPN 게이트웨이 만들기 및 AD DS를 구성하는 스크립트 실행을 포함합니다.Note that the entire deployment can take up to two hours, which includes creating the VPN gateway and running the scripts that configure AD DS.

필수 조건Prerequisites

  1. GitHub 리포지토리의 zip 파일을 복제, 포크 또는 다운로드합니다.Clone, fork, or download the zip file for the GitHub repository.

  2. Azure CLI 2.0을 설치 합니다.Install Azure CLI 2.0.

  3. Azure 빌딩 블록 npm 패키지를 설치합니다.Install the Azure building blocks npm package.

    npm install -g @mspnp/azure-building-blocks
    
  4. 명령 프롬프트, bash 프롬프트 또는 PowerShell 프롬프트에서 다음과 같은 Azure 계정에 로그인합니다.From a command prompt, bash prompt, or PowerShell prompt, sign into your Azure account as follows:

    az login
    

시뮬레이션된 온-프레미스 데이터 센터 배포Deploy the simulated on-premises datacenter

  1. GitHub 리포지토리의 identity/adds-forest 폴더로 이동합니다.Navigate to the identity/adds-forest folder of the GitHub repository.

  2. onprem.json 파일을 엽니다.Open the onprem.json file. adminPasswordPassword 인스턴스를 검색하고 암호 값을 추가합니다.Search for instances of adminPassword and Password and add values for the passwords.

  3. 다음 명령을 실행하고 배포가 끝나기를 기다립니다.Run the following command and wait for the deployment to finish:

    azbb -s <subscription_id> -g <resource group> -l <location> -p onprem.json --deploy
    

Azure VNet에 배포Deploy the Azure VNet

  1. azure.json 파일을 엽니다.Open the azure.json file. adminPasswordPassword 인스턴스를 검색하고 암호 값을 추가합니다.Search for instances of adminPassword and Password and add values for the passwords.

  2. 동일한 파일에서 sharedKey 인스턴스를 검색하고 VPN 연결에 대한 공유 키를 입력합니다.In the same file, search for instances of sharedKey and enter shared keys for the VPN connection.

    "sharedKey": "",
    
  3. 다음 명령을 실행하고 배포가 끝나기를 기다립니다.Run the following command and wait for the deployment to finish.

    azbb -s <subscription_id> -g <resource group> -l <location> -p azure.json --deploy
    

    온-프레미스 VNet과 동일한 리소스 그룹에 배포합니다.Deploy to the same resource group as the on-premises VNet.

AD 신뢰 관계 테스트Test the AD trust relation

  1. Azure Portal을 사용하여 만든 리소스 그룹으로 이동합니다.Use the Azure portal, navigate to the resource group that you created.

  2. Azure Portal을 사용하여 ra-adt-mgmt-vm1이라는 VM을 찾습니다.Use the Azure portal to find the VM named ra-adt-mgmt-vm1.

  3. Connect를 클릭하여 VM에 대한 원격 데스크톱 세션을 엽니다.Click Connect to open a remote desktop session to the VM. 사용자 이름은 contoso\testuser이고, 암호는 onprem.json 매개 변수 파일에서 지정한 것입니다.The username is contoso\testuser, and the password is the one that you specified in the onprem.json parameter file.

  4. 원격 데스크톱 세션 내에서 ra-adtrust-onpremise-ad-vm1이라는 VM의 IP 주소인 192.168.0.4에 대한 다른 원격 데스크톱 세션을 엽니다.From inside your remote desktop session, open another remote desktop session to 192.168.0.4, which is the IP address of the VM named ra-adtrust-onpremise-ad-vm1. 사용자 이름은 contoso\testuser이고, 암호는 azure.json 매개 변수 파일에서 지정한 것입니다.The username is contoso\testuser, and the password is the one that you specified in the azure.json parameter file.

  5. ra-adtrust-onpremise-ad-vm1에 대한 원격 데스크톱 세션 내에서 서버 관리자 로 이동하고, 도구 > Active Directory 도메인 및 신뢰 를 클릭합니다.From inside the remote desktop session for ra-adtrust-onpremise-ad-vm1, go to Server Manager and click Tools > Active Directory Domains and Trusts.

  6. 왼쪽 창에서 contoso.com을 마우스 오른쪽 단추로 클릭하고, 속성 을 선택합니다.In the left pane, right-click on the contoso.com and select Properties.

  7. 신뢰 탭을 클릭 합니다. 들어오는 트러스트로 나열 된 treyresearch.net이 표시 되어야 합니다.Click the Trusts tab. You should see treyresearch.net listed as an incoming trust.

Active Directory 포리스트 트러스트 대화 상자의 스크린샷

다음 단계Next steps