Prepare-se para o anfitrião da extensão no Azure Stack Hub

O anfitrião de extensão assegura o Azure Stack Hub reduzindo o número de portas TCP/IP necessárias. Este artigo analisa a preparação do Azure Stack Hub para o anfitrião de extensão que é automaticamente ativado através de um pacote de atualização Azure Stack Hub após a atualização de 1808. Este artigo aplica-se às atualizações 1808, 1809 e 1811 do Azure Stack Hub.

Requisitos de certificados

O anfitrião de extensão implementa dois novos espaços de nome de domínio para garantir entradas de anfitriões únicas para cada extensão do portal. Os novos espaços de nome de domínio requerem dois certificados wildcard adicionais para garantir uma comunicação segura.

A tabela mostra os novos espaços de nome e os certificados associados:

Pasta de implantação Sujeito de certificado exigido e nomes alternativos sujeitos (SAN) Âmbito (por região) Espaço de nome subdomínio
Anfitrião de extensão de administrador *.adminhos.< região>.< fqdn> (Certificados SSL wildcard) Anfitrião de extensão de administrador adminhos.< região>.< fqdn>
Anfitrião de extensão pública *.hosting.< região>.< fqdn> (Certificados SSL wildcard) Anfitrião de extensão pública hospedagem.< região>.< fqdn>

Para obter requisitos de certificados detalhados, consulte os requisitos de certificado de infraestrutura de chaves de infraestrutura do Azure Stack Hub.

Criar pedido de assinatura de certificado

A ferramenta Azure Stack Hub Readiness Checker permite criar um pedido de assinatura de certificado para os dois certificados SSL novos e necessários. Siga os passos no artigo Azure Stack Hub certificados de assinatura de geração de pedido.

Nota

Pode saltar este passo dependendo da forma como solicitou os seus certificados SSL.

Validar novos certificados

  1. Open PowerShell com permissão elevada no anfitrião do ciclo de vida do hardware ou na estação de gestão do Azure Stack Hub.

  2. Executar o seguinte cmdlet para instalar a ferramenta Azure Stack Hub Checkiness Checker:

    Install-Module -Name Microsoft.AzureStack.ReadinessChecker
    
  3. Executar o seguinte script para criar a estrutura de pastas necessária:

    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}
    

    Nota

    Se utilizar com Azure Ative Directory Serviços Federados (AD FS), devem ser adicionados aos seguintes diretórios $directories no guião: . Graph

  4. Coloque os certificados existentes, que está a utilizar no Azure Stack Hub, em diretórios apropriados. Por exemplo, coloque o certificado Admin ARM na pasta. E, em seguida, colocar os certificados de hospedagem recém-criados nos Admin extension host diretórios e Public extension host diretórios.

  5. Executar o seguinte cmdlet para iniciar a verificação do certificado:

    $pfxPassword = Read-Host -Prompt "Enter PFX Password" -AsSecureString 
    
    Start-AzsReadinessChecker -CertificatePath c:\certificates -pfxPassword $pfxPassword -RegionName east -FQDN azurestack.contoso.com -IdentitySystem AAD
    
  6. Verifique a saída e se todos os certificados passam em todos os testes.

Certificados de anfitrião de extensão de importação

Utilize um computador que possa ligar-se ao ponto final privilegiado do Azure Stack Hub para os próximos passos. Certifique-se de ter acesso aos novos ficheiros de certificados desse computador.

  1. Utilize um computador que possa ligar-se ao ponto final privilegiado do Azure Stack Hub para os próximos passos. Certifique-se de que acede aos novos ficheiros de certificados desse computador.

  2. Open PowerShell ISE para executar os próximos blocos de script.

  3. Importar o certificado para o ponto final de alojamento administrativo.

    
    $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. Importe o certificado para o ponto final de alojamento.

    $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
    }
    

Atualizar configuração DNS

Nota

Este passo não é necessário se usou a delegação da Zona DNS para integração de DNS. Se os registos individuais A foram configurados para publicar pontos finais do Azure Stack Hub, é necessário criar dois registos adicionais do anfitrião A:

IP Hostname (Nome do anfitrião) Tipo
<IP> *. Adminhos.< A região>.< FQDN> A
<IP> *. Hospedagem.< A região>.< FQDN> A

Os IPs atribuídos podem ser recuperados utilizando o ponto final privilegiado executando o cmdlet Get-AzureStackStampInformation.

Portos e protocolos

O artigo Azure Stack Hub integração de datacenter - Publicar pontos finais abrange as portas e protocolos que requerem comunicação de entrada para publicar O Azure Stack Hub antes do lançamento do anfitrião de extensão.

Publicar novos pontos finais

Há dois novos pontos finais necessários para serem publicados através da sua firewall. Os IPs atribuídos na piscina VIP pública podem ser recuperados usando o seguinte código que deve ser executado a partir do ponto final privilegiado do seu ambiente 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

Saída de Exemplo

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

Nota

Faça esta alteração antes de ativar o anfitrião da extensão. Isto permite que os portais do Azure Stack Hub sejam continuamente acessíveis.

Ponto final (VIP) Protocolo Portas
Hospedagem de Administrador HTTPS 443
Alojamento HTTPS 443

Atualizar as regras de publicação existentes (pós-habilição do anfitrião de extensão)

Nota

O Pacote de Atualização do Hub Azure Stack de 1808 ainda não permite o anfitrião de extensão. Permite-lhe preparar-se para o anfitrião da extensão importando os certificados necessários. Não feche nenhuma porta antes que o anfitrião de extensão seja automaticamente ativado através de um pacote de atualização Azure Stack Hub após a atualização de 1808.

As portas de ponto final existentes devem ser fechadas nas regras de firewall existentes.

Nota

Recomenda-se fechar as portas após a validação bem sucedida.

Ponto final (VIP) Protocolo Portas
Portal (administrador) HTTPS 12495
12499
12646
12647
12648
12649
12650
13001
13003
13010
13011
13012
13020
13021
13026
30015
Portal (utilizador) HTTPS 12495
12649
13001
13010
13011
13012
13020
13021
30015
13003
Gestor de Recursos Azure (administrador) HTTPS 30024
Gestor de Recursos Azure (utilizador) HTTPS 30024

Passos seguintes