고가용성 페더레이션 인증 2단계: 도메인 컨트롤러 구성

Azure 인프라 서비스에서 Microsoft 365 페더레이션 인증에 대한 고가용성을 배포하는 이 단계에서는 Azure 가상 네트워크에서 두 개의 도메인 컨트롤러와 디렉터리 동기화 서버를 구성합니다. 그런 다음 인증에 대한 클라이언트 웹 요청은 사이트 간 VPN 연결을 통해 온-프레미스 네트워크에 인증 트래픽을 보내는 대신 Azure 가상 네트워크에서 인증할 수 있습니다.

참고

AD FS(Active Directory Federation Services)는 AD DS(Active Directory Domain Services) 도메인 컨트롤러 대신 Azure AD(Azure Active Directory)를 사용할 수 없습니다.

3단계: AD FS 서버 구성으로 이동하기 전에 이 단계를 완료해야 합니다. 모든 단계는 Azure에서 Microsoft 365에 대한 고가용성 페더레이션 인증 배포 를 참조하세요.

Azure에서 도메인 컨트롤러 가상 컴퓨터 만들기

먼저, 테이블 M의 가상 컴퓨터 이름 열을 채우고 최소 크기 열에서 가상 컴퓨터 크기를 필요한만큼 수정합니다.

항목 가상 컴퓨터 이름 갤러리 이미지 저장소 유형 최소 크기
1.
라인. (첫 번째 도메인 컨트롤러, 예: DC1)
Windows Server 2016 Datacenter
Standard_LRS
Standard_D2
2.
라인. (두 번째 도메인 컨트롤러, 예: DC2)
Windows Server 2016 Datacenter
Standard_LRS
Standard_D2
3.
라인. (디렉터리 동기화 서버, 예제 DS1)
Windows Server 2016 Datacenter
Standard_LRS
Standard_D2
4.
라인. (첫 번째 AD FS 서버, 예제 ADFS1)
Windows Server 2016 Datacenter
Standard_LRS
Standard_D2
5.
라인. (두 번째 AD FS 서버, 예제 ADFS2)
Windows Server 2016 Datacenter
Standard_LRS
Standard_D2
6.
라인. (첫 번째 웹 애플리케이션 프록시 서버, 예제 WEB1)
Windows Server 2016 Datacenter
Standard_LRS
Standard_D2
7.
라인. (두 번째 웹 애플리케이션 프록시 서버, 예제 WEB2)
Windows Server 2016 Datacenter
Standard_LRS
Standard_D2

테이블 M - Azure에서 Microsoft 365에 대한 고가용성 페더레이션 인증을 위한 가상 머신

가상 컴퓨터 크기의 전체 목록은 가상 컴퓨터 크기를 참조하세요.

다음 Azure PowerShell 명령 블록은 두 도메인 컨트롤러에 대한 가상 머신을 만듭니다. 변수 값을 지정하고 문자를 제거합니다 < and > . 이 Azure PowerShell 명령 블록은 다음 표의 값을 사용합니다.

  • 테이블 M, 가상 컴퓨터

  • 테이블 R, 리소스 그룹

  • 테이블 V, 가상 네트워크 설정

  • 테이블 S, 서브넷

  • 테이블 I, 고정 IP 주소

  • 테이블 A, 가용성 집합

1단계: Azure 구성에서 테이블 R, V, S, I 및 A를 정의했음을 기억하세요.

참고

다음 명령 집합은 최신 버전의 Azure PowerShell을 사용합니다. Azure PowerShell 시작 참조

올바른 값을 모두 제공하면 Azure PowerShell 프롬프트나 로컬 컴퓨터의 PowerShell ISE(통합 스크립트 환경)에서 결과 블록을 실행합니다.

사용자 지정 설정에 따라 즉시 실행 가능한 PowerShell 명령 블록을 생성하려면 이 Microsoft Excel 구성 통합 문서를 사용합니다.

# Set up variables common to both virtual machines
$locName="<your Azure location>"
$vnetName="<Table V - Item 1 - Value column>"
$subnetName="<Table S - Item 1 - Value column>"
$avName="<Table A - Item 1 - Availability set name column>"
$rgNameTier="<Table R - Item 1 - Resource group name column>"
$rgNameInfra="<Table R - Item 4 - Resource group name column>"

$rgName=$rgNameInfra
$vnet=Get-AzVirtualNetwork -Name $vnetName -ResourceGroupName $rgName
$subnet=Get-AzVirtualNetworkSubnetConfig -VirtualNetwork $vnet -Name $subnetName

$rgName=$rgNameTier
$avSet=Get-AzAvailabilitySet -Name $avName -ResourceGroupName $rgName 

# Create the first domain controller
$vmName="<Table M - Item 1 - Virtual machine name column>"
$vmSize="<Table M - Item 1 - Minimum size column>"
$staticIP="<Table I - Item 1 - Value column>"
$diskStorageType="<Table M - Item 1 - Storage type column>"
$diskSize=<size of the extra disk for Active Directory Domain Services (AD DS) data in GB>

$nic=New-AzNetworkInterface -Name ($vmName +"-NIC") -ResourceGroupName $rgName -Location $locName -Subnet $subnet -PrivateIpAddress $staticIP
$vm=New-AzVMConfig -VMName $vmName -VMSize $vmSize -AvailabilitySetId $avset.Id
$vm=Set-AzVMOSDisk -VM $vm -Name ($vmName +"-OS") -DiskSizeInGB 128 -CreateOption FromImage -StorageAccountType $diskStorageType
$diskConfig=New-AzDiskConfig -AccountType $diskStorageType -Location $locName -CreateOption Empty -DiskSizeGB $diskSize
$dataDisk1=New-AzDisk -DiskName ($vmName + "-DataDisk1") -Disk $diskConfig -ResourceGroupName $rgName
$vm=Add-AzVMDataDisk -VM $vm -Name ($vmName + "-DataDisk1") -CreateOption Attach -ManagedDiskId $dataDisk1.Id -Lun 1
$cred=Get-Credential -Message "Type the name and password of the local administrator account for the first domain controller." 
$vm=Set-AzVMOperatingSystem -VM $vm -Windows -ComputerName $vmName -Credential $cred -ProvisionVMAgent -EnableAutoUpdate
$vm=Set-AzVMSourceImage -VM $vm -PublisherName MicrosoftWindowsServer -Offer WindowsServer -Skus 2016-Datacenter -Version "latest"
$vm=Add-AzVMNetworkInterface -VM $vm -Id $nic.Id
New-AzVM -ResourceGroupName $rgName -Location $locName -VM $vm

# Create the second domain controller
$vmName="<Table M - Item 2 - Virtual machine name column>"
$vmSize="<Table M - Item 2 - Minimum size column>"
$staticIP="<Table I - Item 2 - Value column>"
$diskStorageType="<Table M - Item 2 - Storage type column>"
$diskSize=<size of the extra disk for AD DS data in GB>

$nic=New-AzNetworkInterface -Name ($vmName +"-NIC") -ResourceGroupName $rgName -Location $locName -Subnet $subnet -PrivateIpAddress $staticIP
$vm=New-AzVMConfig -VMName $vmName -VMSize $vmSize -AvailabilitySetId $avset.Id
$vm=Set-AzVMOSDisk -VM $vm -Name ($vmName +"-OS") -DiskSizeInGB 128 -CreateOption FromImage -StorageAccountType $diskStorageType
$diskConfig=New-AzDiskConfig -AccountType $diskStorageType -Location $locName -CreateOption Empty -DiskSizeGB $diskSize
$dataDisk1=New-AzDisk -DiskName ($vmName + "-DataDisk1") -Disk $diskConfig -ResourceGroupName $rgName
$vm=Add-AzVMDataDisk -VM $vm -Name ($vmName + "-DataDisk1") -CreateOption Attach -ManagedDiskId $dataDisk1.Id -Lun 1
$cred=Get-Credential -Message "Type the name and password of the local administrator account for the second domain controller." 
$vm=Set-AzVMOperatingSystem -VM $vm -Windows -ComputerName $vmName -Credential $cred -ProvisionVMAgent -EnableAutoUpdate
$vm=Set-AzVMSourceImage -VM $vm -PublisherName MicrosoftWindowsServer -Offer WindowsServer -Skus 2016-Datacenter -Version "latest"
$vm=Add-AzVMNetworkInterface -VM $vm -Id $nic.Id
New-AzVM -ResourceGroupName $rgName -Location $locName -VM $vm

# Create the directory synchronization server
$vmName="<Table M - Item 3 - Virtual machine name column>"
$vmSize="<Table M - Item 3 - Minimum size column>"
$staticIP="<Table I - Item 3 - Value column>"
$diskStorageType="<Table M - Item 3 - Storage type column>"

$nic=New-AzNetworkInterface -Name ($vmName +"-NIC") -ResourceGroupName $rgName -Location $locName -Subnet $subnet -PrivateIpAddress $staticIP
$vm=New-AzVMConfig -VMName $vmName -VMSize $vmSize

$cred=Get-Credential -Message "Type the name and password of the local administrator account for the directory synchronization server." 
$vm=Set-AzVMOperatingSystem -VM $vm -Windows -ComputerName $vmName -Credential $cred -ProvisionVMAgent -EnableAutoUpdate
$vm=Set-AzVMSourceImage -VM $vm -PublisherName MicrosoftWindowsServer -Offer WindowsServer -Skus 2016-Datacenter -Version "latest"
$vm=Add-AzVMNetworkInterface -VM $vm -Id $nic.Id
$vm=Set-AzVMOSDisk -VM $vm -Name ($vmName +"-OS") -DiskSizeInGB 128 -CreateOption FromImage -StorageAccountType $diskStorageType
New-AzVM -ResourceGroupName $rgName -Location $locName -VM $vm

참고

이러한 가상 컴퓨터는 인트라넷 응용 프로그램용이므로 공용 IP 주소나 DNS 도메인 이름 레이블에 할당되지 않으며 인터넷에 표시되지 않습니다. 그러나 이는 Azure Portal에서 연결할 수 없음을 의미합니다. 가상 컴퓨터의 속성을 보면 이 연결 옵션을 사용할 수 없습니다. 원격 데스크톱 연결 액세서리 또는 다른 원격 데스크톱 도구를 사용하여 개인 IP 주소나 인트라넷 DNS 이름을 사용하는 가상 컴퓨터에 연결할 수 있습니다.

첫 번째 도메인 컨트롤러 구성

원하는 원격 데스크톱 클라이언트를 사용하고 첫 번째 도메인 컨트롤러 가상 컴퓨터에 대한 원격 데스크톱 연결을 만듭니다. 인트라넷 DNS나 컴퓨터 이름 및 로컬 관리자 계정의 자격 증명을 사용합니다.

다음으로, 첫 번째 도메인 컨트롤러 가상 머신의 Windows PowerShell 명령 프롬프트에서 이 명령을 사용하여 첫 번째 도메인 컨트롤러에 추가 데이터 디스크를 추가합니다.

Get-Disk | Where PartitionStyle -eq "RAW" | Initialize-Disk -PartitionStyle MBR -PassThru | New-Partition -AssignDriveLetter -UseMaximumSize | Format-Volume -FileSystem NTFS -NewFileSystemLabel "WSAD Data"

그런 다음 ping 명령으로 조직 네트워크의 리소스 이름과 IP 주소를 ping하여 조직 네트워크의 위치에 대한 첫 번째 도메인 컨트롤러의 연결을 테스트합니다.

이 프로시저에서는 DNS 이름 확인이 제대로 작동하는지(가상 컴퓨터가 온-프레미스 DNS 서버와 올바르게 구성되었는지)와 프레미스 간 가상 네트워크에서 이 패킷을 보낼 수 있는지 확인합니다. 기본 테스트가 실패하면 DNS 이름 확인 및 패킷 배달 문제의 해결 방법을 IT 부서에 문의합니다.

다음으로 첫 번째 도메인 컨트롤러의 Windows PowerShell 명령 프롬프트에서 다음 명령을 실행합니다.

$domname="<DNS domain name of the domain for which this computer will be a domain controller, such as corp.contoso.com>"
$cred = Get-Credential -Message "Enter credentials of an account with permission to join a new domain controller to the domain"
Install-WindowsFeature AD-Domain-Services -IncludeManagementTools
Install-ADDSDomainController -InstallDns -DomainName $domname  -DatabasePath "F:\NTDS" -SysvolPath "F:\SYSVOL" -LogPath "F:\Logs" -Credential $cred

도메인 관리자 계정의 자격 증명을 제공하라는 메시지가 나타납니다. 컴퓨터가 다시 시작됩니다.

두 번째 도메인 컨트롤러 구성

원하는 원격 데스크톱 클라이언트를 사용하고 두 번째 도메인 컨트롤러 가상 컴퓨터에 대한 원격 데스크톱 연결을 만듭니다. 인트라넷 DNS나 컴퓨터 이름 및 로컬 관리자 계정의 자격 증명을 사용합니다.

다음으로 두 번째 도메인 컨트롤러 가상 머신의 Windows PowerShell 명령 프롬프트에서 이 명령을 사용하여 두 번째 도메인 컨트롤러에 추가 데이터 디스크를 추가해야 합니다.

Get-Disk | Where PartitionStyle -eq "RAW" | Initialize-Disk -PartitionStyle MBR -PassThru | New-Partition -AssignDriveLetter -UseMaximumSize | Format-Volume -FileSystem NTFS -NewFileSystemLabel "WSAD Data"

그리고 다음 명령을 실행합니다.

$domname="<DNS domain name of the domain for which this computer will be a domain controller, such as corp.contoso.com>"
$cred = Get-Credential -Message "Enter credentials of an account with permission to join a new domain controller to the domain"
Install-WindowsFeature AD-Domain-Services -IncludeManagementTools
Install-ADDSDomainController -InstallDns -DomainName $domname  -DatabasePath "F:\NTDS" -SysvolPath "F:\SYSVOL" -LogPath "F:\Logs" -Credential $cred

도메인 관리자 계정의 자격 증명을 제공하라는 메시지가 나타납니다. 컴퓨터가 다시 시작됩니다.

다음으로 Azure가 두 개의 새 도메인 컨트롤러의 IP 주소를 DNS 서버로 사용할 가상 컴퓨터를 할당하도록 가상 네트워크의 DNS 서버를 업데이트해야 합니다. 변수를 입력한 다음 로컬 컴퓨터의 Windows PowerShell 명령 프롬프트에서 다음 명령을 실행합니다.

$rgName="<Table R - Item 4 - Resource group name column>"
$adrgName="<Table R - Item 1 - Resource group name column>"
$locName="<your Azure location>"
$vnetName="<Table V - Item 1 - Value column>"
$onpremDNSIP1="<Table D - Item 1 - DNS server IP address column>"
$onpremDNSIP2="<Table D - Item 2 - DNS server IP address column>"
$staticIP1="<Table I - Item 1 - Value column>"
$staticIP2="<Table I - Item 2 - Value column>"
$firstDCName="<Table M - Item 1 - Virtual machine name column>"
$secondDCName="<Table M - Item 2 - Virtual machine name column>"

$vnet=Get-AzVirtualNetwork -ResourceGroupName $rgName -Name $vnetName
$vnet.DhcpOptions.DnsServers.Add($staticIP1)
$vnet.DhcpOptions.DnsServers.Add($staticIP2) 
$vnet.DhcpOptions.DnsServers.Remove($onpremDNSIP1)
$vnet.DhcpOptions.DnsServers.Remove($onpremDNSIP2) 
Set-AzVirtualNetwork -VirtualNetwork $vnet
Restart-AzVM -ResourceGroupName $adrgName -Name $firstDCName
Restart-AzVM -ResourceGroupName $adrgName -Name $secondDCName

이제 온-프레미스 DNS 서버가 DNS 서버로 구성되지 않도록 두 도메인 컨트롤러를 다시 시작합니다. 모두 DNS 서버이므로 도메인 컨트롤러로 수준을 올리면 온-프레미스 DNS 서버가 DNS 전달자로 자동 구성됩니다.

다음으로 Azure Virtual Network의 서버가 로컬 도메인 컨트롤러를 사용하도록 Active Directory 복제 사이트를 만들어야 합니다. 도메인 관리자 계정으로 도메인 컨트롤러에 연결하고 관리자 수준 Windows PowerShell 프롬프트에서 다음 명령을 실행합니다.

$vnet="<Table V - Item 1 - Value column>"
$vnetSpace="<Table V - Item 4 - Value column>"
New-ADReplicationSite -Name $vnet 
New-ADReplicationSubnet -Name $vnetSpace -Site $vnet

디렉터리 동기화 서버 구성

선택한 원격 데스크톱 클라이언트를 사용하고 디렉터리 동기화 서버 가상 머신에 대한 원격 데스크톱 연결을 만듭니다. 인트라넷 DNS나 컴퓨터 이름 및 로컬 관리자 계정의 자격 증명을 사용합니다.

다음으로 Windows PowerShell 프롬프트에서 이러한 명령을 사용하여 적절한 AD DS 도메인에 조인합니다.

$domName="<AD DS domain name to join, such as corp.contoso.com>"
$cred=Get-Credential -Message "Type the name and password of a domain acccount."
Add-Computer -DomainName $domName -Credential $cred
Restart-Computer

이 단계를 성공적으로 완료하면 자리 표시자 컴퓨터 이름이 포함된 다음 구성이 설정됩니다.

2단계: Azure의 고가용성 페더레이션 인증 인프라에 대한 도메인 컨트롤러 및 디렉터리 동기화 서버

도메인 컨트롤러를 사용하는 Azure의 고가용성 Microsoft 365 페더레이션 인증 인프라 2단계.

다음 단계

3단계 사용: 이 워크로드를 계속 구성하도록 AD FS 서버를 구성 합니다.

참고 항목

Azure에서 Microsoft 365용 고가용성 페더레이션 인증 배포

Microsoft 365 개발/테스트 환경에 대한 페더레이션 ID

Microsoft 365 솔루션 및 아키텍처 센터