확장 호스트는 필요한 TCP/IP 포트 수를 줄여 Azure Stack Hub를 보호합니다. 이 문서에서는 1808 업데이트 후 Azure Stack Hub 업데이트 패키지를 통해 자동으로 사용하도록 설정된 확장 호스트에 대해 Azure Stack Hub를 준비하는 방법을 설명합니다. 이 문서는 Azure Stack Hub 업데이트 1808, 1809 및 1811에 적용됩니다.
인증서 요구 사항
확장 호스트는 각 포털 확장에 대한 고유한 호스트 항목을 보장하기 위해 두 개의 새 도메인 네임스페이스를 구현합니다. 새 도메인 네임스페이스에는 보안 통신을 보장하기 위해 두 개의 추가 와일드카드 인증서가 필요합니다.
표에는 새 네임스페이스 및 연결된 인증서가 표시됩니다.
| 배포 폴더 | 필수 인증서 주체 및 SAN(주체 대체 이름) | 범위(지역당) | 하위 도메인 네임스페이스 |
|---|---|---|---|
| 관리자 확장 호스트 | *.adminhosting.<지역>.<fqdn> (와일드카드 SSL 인증서) | 관리자 확장 호스트 | adminhosting.<지역.><fqdn> |
| 공용 확장 호스트 | *.호스팅.<지역.><fqdn>(와일드카드 SSL 인증서) | 공용 확장 호스트 | 호스팅.<지역>.<fqdn> |
자세한 인증서 요구 사항은 Azure Stack Hub 공개 키 인프라 인증서 요구 사항을 참조하세요.
인증서 서명 요청 만들기
Azure Stack Hub 준비 검사기 도구를 사용하면 두 개의 새 SSL 인증서 및 필수 SSL 인증서에 대한 인증서 서명 요청을 만들 수 있습니다. Azure Stack Hub 인증서 서명 요청 생성 문서의 단계를 따릅니다.
비고
SSL 인증서를 요청한 방법에 따라 이 단계를 건너뛸 수 있습니다.
새 인증서 유효성 검사
하드웨어 수명 주기 호스트 또는 Azure Stack Hub 관리 워크스테이션에 대한 상승된 권한으로 PowerShell을 엽니다.
다음 cmdlet을 실행하여 Azure Stack Hub 준비 검사기 도구를 설치합니다.
Install-Module -Name Microsoft.AzureStack.ReadinessChecker다음 스크립트를 실행하여 필요한 폴더 구조를 만듭니다.
New-Item C:\Certificates -ItemType Directory $directories = 'ACSBlob','ACSQueue','ACSTable','Admin Portal','ARM Admin','ARM Public','KeyVault','KeyVaultInternal','Public Portal', 'Admin extension host', 'Public extension host' $destination = 'c:\certificates' $directories | % { New-Item -Path (Join-Path $destination $PSITEM) -ItemType Directory -Force}비고
Microsoft Entra ID Federated Services(AD FS)를 사용하여 배포하는 경우 스크립트
ADFS의Graph다음 디렉터리를 추가해야 합니다.현재 Azure Stack Hub에서 사용 중인 기존 인증서를 적절한 디렉터리에 배치합니다. 예를 들어 관리자 ARM 인증서를 폴더에 넣습니다
Arm Admin. 그런 다음 새로 만든 호스팅 인증서를Admin extension host및Public extension host디렉터리에 배치합니다.다음 cmdlet을 실행하여 인증서 검사를 시작합니다.
$pfxPassword = Read-Host -Prompt "Enter PFX Password" -AsSecureString Start-AzsReadinessChecker -CertificatePath c:\certificates -pfxPassword $pfxPassword -RegionName east -FQDN azurestack.contoso.com -IdentitySystem AAD출력을 확인하여 모든 인증서가 모든 테스트를 통과하는지 확인합니다.
확장 호스트 인증서 가져오기
다음 단계를 위해 Azure Stack Hub 권한 있는 엔드포인트에 연결할 수 있는 컴퓨터를 사용합니다. 해당 컴퓨터에서 새 인증서 파일에 액세스할 수 있는지 확인합니다.
다음 단계를 위해 Azure Stack Hub 권한 있는 엔드포인트에 연결할 수 있는 컴퓨터를 사용합니다. 해당 컴퓨터에서 새 인증서 파일에 액세스해야 합니다.
PowerShell ISE를 열어 다음 스크립트 블록을 실행합니다.
관리자 호스팅 엔드포인트에 대한 인증서를 가져옵니다.
$CertPassword = read-host -AsSecureString -prompt "Certificate Password" $CloudAdminCred = Get-Credential -UserName <Privileged endpoint credentials> -Message "Enter the cloud domain credentials to access the privileged endpoint." [Byte[]]$AdminHostingCertContent = [Byte[]](Get-Content c:\certificate\myadminhostingcertificate.pfx -Encoding Byte) Invoke-Command -ComputerName <PrivilegedEndpoint computer name> ` -Credential $CloudAdminCred ` -ConfigurationName "PrivilegedEndpoint" ` -ArgumentList @($AdminHostingCertContent, $CertPassword) ` -ScriptBlock { param($AdminHostingCertContent, $CertPassword) Import-AdminHostingServiceCert $AdminHostingCertContent $certPassword }호스팅 엔드포인트에 대한 인증서를 가져옵니다.
$CertPassword = read-host -AsSecureString -prompt "Certificate Password" $CloudAdminCred = Get-Credential -UserName <Privileged endpoint credentials> -Message "Enter the cloud domain credentials to access the privileged endpoint." [Byte[]]$HostingCertContent = [Byte[]](Get-Content c:\certificate\myhostingcertificate.pfx -Encoding Byte) Invoke-Command -ComputerName <PrivilegedEndpoint computer name> ` -Credential $CloudAdminCred ` -ConfigurationName "PrivilegedEndpoint" ` -ArgumentList @($HostingCertContent, $CertPassword) ` -ScriptBlock { param($HostingCertContent, $CertPassword) Import-UserHostingServiceCert $HostingCertContent $certPassword }
DNS 구성 업데이트
비고
DNS 통합에 DNS 영역 위임을 사용한 경우에는 이 단계가 필요하지 않습니다.
개별 호스트 A 레코드가 Azure Stack Hub 엔드포인트를 게시하도록 구성된 경우 두 개의 추가 호스트 A 레코드를 만들어야 합니다.
| 인터넷 프로토콜 | 호스트명 | 유형 |
|---|---|---|
| <IP> | *.Adminhosting.<region>.<FQDN> | A |
| <IP> | *.호스팅.<지역>.<FQDN> | A |
할당된 IP는 get-AzureStackStampInformation cmdlet을 실행하여 권한 있는 엔드포인트를 사용하여 검색할 수 있습니다.
포트 및 프로토콜
Azure Stack Hub 데이터 센터 통합 - 게시 엔드포인트는 확장 호스트 출시 전에 Azure Stack Hub를 게시하기 위해 인바운드 통신이 필요한 포트 및 프로토콜을 다룹니다.
새 엔드포인트 게시
방화벽을 통해 게시해야 하는 두 개의 새 엔드포인트가 있습니다. 공용 VIP 풀에서 할당된 IP는 Azure Stack Hub 환경의 권한 있는 엔드포인트에서 실행해야 하는 다음 코드를 사용하여 검색할 수 있습니다.
# Create a PEP Session
winrm s winrm/config/client '@{TrustedHosts= "<IpOfERCSMachine>"}'
$PEPCreds = Get-Credential
$PEPSession = New-PSSession -ComputerName <IpOfERCSMachine> -Credential $PEPCreds -ConfigurationName "PrivilegedEndpoint" -SessionOption (New-PSSessionOption -Culture en-US -UICulture en-US)
# Obtain DNS Servers and extension host information from Azure Stack Hub Stamp Information and find the IPs for the Host Extension Endpoints
$StampInformation = Invoke-Command $PEPSession {Get-AzureStackStampInformation} | Select-Object -Property ExternalDNSIPAddress01, ExternalDNSIPAddress02, @{n="TenantHosting";e={($_.TenantExternalEndpoints.TenantHosting) -replace "https://*.","testdnsentry"-replace "/"}}, @{n="AdminHosting";e={($_.AdminExternalEndpoints.AdminHosting)-replace "https://*.","testdnsentry"-replace "/"}},@{n="TenantHostingDNS";e={($_.TenantExternalEndpoints.TenantHosting) -replace "https://",""-replace "/"}}, @{n="AdminHostingDNS";e={($_.AdminExternalEndpoints.AdminHosting)-replace "https://",""-replace "/"}}
If (Resolve-DnsName -Server $StampInformation.ExternalDNSIPAddress01 -Name $StampInformation.TenantHosting -ErrorAction SilentlyContinue) {
Write-Host "Can access AZS DNS" -ForegroundColor Green
$AdminIP = (Resolve-DnsName -Server $StampInformation.ExternalDNSIPAddress02 -Name $StampInformation.AdminHosting).IPAddress
Write-Host "The IP for the Admin Extension Host is: $($StampInformation.AdminHostingDNS) - is: $($AdminIP)" -ForegroundColor Yellow
Write-Host "The Record to be added in the DNS zone: Type A, Name: $($StampInformation.AdminHostingDNS), Value: $($AdminIP)" -ForegroundColor Green
$TenantIP = (Resolve-DnsName -Server $StampInformation.ExternalDNSIPAddress01 -Name $StampInformation.TenantHosting).IPAddress
Write-Host "The IP address for the Tenant Extension Host is $($StampInformation.TenantHostingDNS) - is: $($TenantIP)" -ForegroundColor Yellow
Write-Host "The Record to be added in the DNS zone: Type A, Name: $($StampInformation.TenantHostingDNS), Value: $($TenantIP)" -ForegroundColor Green
}
Else {
Write-Host "Cannot access AZS DNS" -ForegroundColor Yellow
$AdminIP = (Resolve-DnsName -Name $StampInformation.AdminHosting).IPAddress
Write-Host "The IP for the Admin Extension Host is: $($StampInformation.AdminHostingDNS) - is: $($AdminIP)" -ForegroundColor Yellow
Write-Host "The Record to be added in the DNS zone: Type A, Name: $($StampInformation.AdminHostingDNS), Value: $($AdminIP)" -ForegroundColor Green
$TenantIP = (Resolve-DnsName -Name $StampInformation.TenantHosting).IPAddress
Write-Host "The IP address for the Tenant Extension Host is $($StampInformation.TenantHostingDNS) - is: $($TenantIP)" -ForegroundColor Yellow
Write-Host "The Record to be added in the DNS zone: Type A, Name: $($StampInformation.TenantHostingDNS), Value: $($TenantIP)" -ForegroundColor Green
}
Remove-PSSession -Session $PEPSession
샘플 출력
Can access AZS DNS
The IP for the Admin Extension Host is: *.adminhosting.\<region>.\<fqdn> - is: xxx.xxx.xxx.xxx
The Record to be added in the DNS zone: Type A, Name: *.adminhosting.\<region>.\<fqdn>, Value: xxx.xxx.xxx.xxx
The IP address for the Tenant Extension Host is *.hosting.\<region>.\<fqdn> - is: xxx.xxx.xxx.xxx
The Record to be added in the DNS zone: Type A, Name: *.hosting.\<region>.\<fqdn>, Value: xxx.xxx.xxx.xxx
비고
확장 호스트를 사용하도록 설정하기 전에 이 변경을 수행합니다. 이렇게 하면 Azure Stack Hub 포털에 지속적으로 액세스할 수 있습니다.
| 엔드포인트(VIP) | 프로토콜 | 항구 |
|---|---|---|
| 관리자 호스팅 | HTTPS | 443 |
| 호스팅 | HTTPS | 443 |
기존 게시 규정을 업데이트(확장 호스트 활성화 후)
비고
1808 Azure Stack Hub 업데이트 패키지는 아직 확장 호스트를 사용하도록 설정하지 않습니다. 필요한 인증서를 가져와 확장 호스트를 준비할 수 있습니다. 1808 업데이트 후 Azure Stack Hub 업데이트 패키지를 통해 확장 호스트를 자동으로 사용하도록 설정하기 전에 포트를 닫지 마세요.
기존 방화벽 규칙에서 다음 기존 엔드포인트 포트를 닫아야 합니다.
비고
유효성 검사에 성공하면 해당 포트를 닫는 것이 좋습니다.
| 엔드포인트(VIP) | 프로토콜 | 항구 |
|---|---|---|
| 포털(관리자) | HTTPS | 12495 12499 12646 12647 12648 12649 12650 13001 13003 13010 13011 13012 13020 13021 13026 30015 |
| 포털(사용자) | HTTPS | 12495 12649 13001 13010 13011 13012 13020 13021 30015 13003 |
| Azure Resource Manager(관리자) | HTTPS | 30024 |
| Azure Resource Manager (사용자) | HTTPS | 30024 |
다음 단계
- 방화벽 통합에 대해 알아봅니다.
- Azure Stack Hub 인증서 서명 요청 생성에 대해 알아봅니다.