Azure Stack Hub에서 확장 호스트 준비

확장 호스트는 필요한 TCP/IP 포트 수를 줄여 Azure Stack Hub를 보호합니다. 이 문서에서는 1808 업데이트 후 Azure Stack Hub 업데이트 패키지를 통해 자동으로 사용하도록 설정되는 확장 호스트에 대한 Azure Stack Hub 준비를 살펴봅니다. 이 문서는 Azure Stack Hub 업데이트 1808, 1809 및 1811에 적용됩니다.

인증서 요구 사항

확장 호스트는 각 포털 확장에 대한 고유한 호스트 항목을 보장하기 위해 두 개의 새 도메인 네임스페이스를 구현합니다. 새 도메인 네임스페이스에는 보안 통신을 보장하기 위해 두 개의 추가 와일드카드 인증서가 필요합니다.

표에는 새 네임스페이스 및 연결된 인증서가 표시됩니다.

배포 폴더 필요한 인증서 주체 및 SAN(주체 대체 이름) 범위(지역별) 하위 도메인 네임스페이스
관리 확장 호스트 *.adminhosting.<지역.><fqdn>(와일드카드 SSL 인증서) 관리 확장 호스트 adminhosting.<region>.<fqdn>
공용 확장 호스트 *.호스팅.<지역.><fqdn>(와일드카드 SSL 인증서) 공용 확장 호스트 호스팅.<지역.><Fqdn>

자세한 인증서 요구 사항은 Azure Stack Hub 공개 키 인프라 인증서 요구 사항을 참조하세요.

인증서 서명 요청 만들기

Azure Stack Hub 준비 검사기 도구를 사용하면 두 개의 새 SSL 인증서와 필요한 SSL 인증서에 대한 인증서 서명 요청을 만들 수 있습니다. Azure Stack Hub 인증서 서명 요청 생성 문서의 단계를 따릅니다.

참고

SSL 인증서를 요청한 방법에 따라 이 단계를 건너뛸 수 있습니다.

새 인증서 유효성 검사

  1. 하드웨어 수명 주기 호스트 또는 Azure Stack Hub 관리 워크스테이션에 대한 상승된 권한으로 PowerShell을 엽니다.

  2. 다음 cmdlet을 실행하여 Azure Stack Hub 준비 검사기 도구를 설치합니다.

    Install-Module -Name Microsoft.AzureStack.ReadinessChecker
    
  3. 다음 스크립트를 실행하여 필요한 폴더 구조를 만듭니다.

    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 페더레이션 서비스(AD FS)를 사용하여 배포하는 경우 스크립트ADFS$directories 다음 디렉터리를 추가해야 합니다. , Graph.

  4. 현재 Azure Stack Hub에서 사용 중인 기존 인증서를 적절한 디렉터리에 배치합니다. 예를 들어 관리 ARM 인증서를 폴더에 넣습니다Arm Admin. 그런 다음 새로 만든 호스팅 인증서를 Admin extension hostPublic extension host 디렉터리에 배치합니다.

  5. 다음 cmdlet을 실행하여 인증서 검사 시작합니다.

    $pfxPassword = Read-Host -Prompt "Enter PFX Password" -AsSecureString 
    
    Start-AzsReadinessChecker -CertificatePath c:\certificates -pfxPassword $pfxPassword -RegionName east -FQDN azurestack.contoso.com -IdentitySystem AAD
    
  6. 출력을 확인하고 모든 인증서가 모든 테스트를 통과하는지 확인합니다.

확장 호스트 인증서 가져오기

다음 단계를 위해 Azure Stack Hub 권한 있는 엔드포인트에 연결할 수 있는 컴퓨터를 사용합니다. 해당 컴퓨터에서 새 인증서 파일에 액세스할 수 있는지 확인합니다.

  1. 다음 단계를 위해 Azure Stack Hub 권한 있는 엔드포인트에 연결할 수 있는 컴퓨터를 사용합니다. 해당 컴퓨터에서 새 인증서 파일에 액세스해야 합니다.

  2. PowerShell ISE를 열어 다음 스크립트 블록을 실행합니다.

  3. 관리자 호스팅 엔드포인트에 대한 인증서를 가져옵니다.

    
    $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
    }
    
  4. 호스팅 엔드포인트에 대한 인증서를 가져옵니다.

    $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 호스트 이름 형식
<IP> *. Adminhosting.<지역>.<Fqdn> A
<IP> *. 호스팅.<지역>.<Fqdn> A

Get-AzureStackStampInformation cmdlet을 실행하여 권한 있는 엔드포인트를 사용하여 할당된 IP를 검색할 수 있습니다.

포트 및 프로토콜

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
Hosting 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

다음 단계