Preparare l'host di estensione in hub di Azure Stack

L'host di estensione hub di Azure Stack riducendo il numero di porte TCP/IP necessarie. Questo articolo esamina la preparazione hub di Azure Stack'host di estensione abilitato automaticamente tramite un pacchetto di aggiornamento hub di Azure Stack dopo l'aggiornamento 1808. Questo articolo si applica hub di Azure Stack aggiornamenti 1808, 1809 e 1811.

Requisiti per i certificati

L'host di estensione implementa due nuovi spazi dei nomi di dominio per garantire voci host univoche per ogni estensione del portale. I nuovi spazi dei nomi di dominio richiedono due certificati con caratteri jolly aggiuntivi per garantire una comunicazione sicura.

La tabella mostra i nuovi spazi dei nomi e i certificati associati:

Cartella di distribuzione Soggetto del certificato richiesto e nomi alternativi del soggetto (SAN) Ambito (per area) Spazio dei nomi del sottodominio
Host dell'estensione amministratore *.adminhosting.< area>.< fqdn> (certificati SSL con caratteri jolly) Host dell'estensione amministratore adminhosting.< area>.< Fqdn>
Host di estensione pubblico *.hosting.< area>.< fqdn> (certificati SSL con caratteri jolly) Host di estensione pubblico ospitare.< area>.< Fqdn>

Per i requisiti dettagliati dei certificati, vedere requisiti hub di Azure Stack certificati dell'infrastruttura a chiave pubblica.

Creare una richiesta di firma del certificato

Lo hub di Azure Stack Readiness Checker consente di creare una richiesta di firma del certificato per i due certificati SSL nuovi e necessari. Seguire la procedura descritta nell'articolo per la hub di Azure Stack della richiesta di firma dei certificati.

Nota

È possibile ignorare questo passaggio a seconda di come sono stati richiesti i certificati SSL.

Convalidare nuovi certificati

  1. Aprire PowerShell con autorizzazioni elevate nell'host del ciclo di vita dell'hardware o nella workstation hub di Azure Stack di gestione hardware.

  2. Eseguire il cmdlet seguente per installare lo strumento hub di Azure Stack Readiness Checker:

    Install-Module -Name Microsoft.AzureStack.ReadinessChecker
    
  3. Eseguire lo script seguente per creare la struttura di cartelle richiesta:

    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 si distribuisce con Azure Active Directory Federated Services (AD FS), è necessario aggiungere le directory seguenti $directories nello script: , Graph.

  4. Inserire i certificati esistenti, attualmente in uso in hub di Azure Stack, nelle directory appropriate. Ad esempio, inserire il certificato di Amministrazione arm nella cartella . Inserire quindi i certificati di hosting appena creati nelle Admin extension host directory e Public extension host .

  5. Eseguire il cmdlet seguente per avviare il controllo del certificato:

    $pfxPassword = Read-Host -Prompt "Enter PFX Password" -AsSecureString 
    
    Start-AzsReadinessChecker -CertificatePath c:\certificates -pfxPassword $pfxPassword -RegionName east -FQDN azurestack.contoso.com -IdentitySystem AAD
    
  6. Controllare l'output e se tutti i certificati superano tutti i test.

Importare certificati host dell'estensione

Usare un computer in grado di connettersi all hub di Azure Stack endpoint con privilegi per i passaggi successivi. Assicurarsi di avere accesso ai nuovi file di certificato da tale computer.

  1. Usare un computer in grado di connettersi all hub di Azure Stack endpoint con privilegi per i passaggi successivi. Assicurarsi di accedere ai nuovi file di certificato da tale computer.

  2. Aprire PowerShell ISE per eseguire i blocchi di script successivi.

  3. Importare il certificato per l'endpoint di hosting amministratore.

    
    $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. Importare il certificato per l'endpoint di hosting.

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

Aggiornare la configurazione DNS

Nota

Questo passaggio non è necessario se è stata usata la delega della zona DNS per l'integrazione DNS. Se i singoli record A host sono stati configurati per pubblicare hub di Azure Stack endpoint, è necessario creare due record A host aggiuntivi:

IP Nome host Tipo
<IP> *. Adminhosting.< Area>.< FQDN> A
<IP> *. Ospitare.< Area>.< FQDN> A

Gli IP allocati possono essere recuperati usando l'endpoint con privilegi eseguendo il cmdlet Get-AzureStackStampInformation.

Porte e protocolli

L'articolo hub di Azure Stack'integrazione del data center : gli endpoint di pubblicazione riguardano le porte e i protocolli che richiedono la comunicazione in ingresso hub di Azure Stack prima dell'implementazione dell'host di estensione.

Pubblicare nuovi endpoint

È necessario pubblicare due nuovi endpoint tramite il firewall. Gli indirizzi IP allocati dal pool VIP pubblico possono essere recuperati usando il codice seguente che deve essere eseguito dall'endpoint con privilegi dell'ambiente hub di Azure Stack locale.

# 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

Output di esempio

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

Apportare questa modifica prima di abilitare l'host di estensione. In questo modo hub di Azure Stack portali possono essere continuamente accessibili.

Endpoint (VIP) Protocollo Porte
Hosting amministratore HTTPS 443
Hosting HTTPS 443

Aggiornare le regole di pubblicazione esistenti (post-abilitazione dell'host di estensione)

Nota

Il pacchetto di aggiornamento hub di Azure Stack 1808 non abilita ancora l'host di estensione. Consente di preparare l'host di estensione importando i certificati necessari. Non chiudere alcuna porta prima che l'host di estensione venga abilitato automaticamente tramite hub di Azure Stack pacchetto di aggiornamento dopo l'aggiornamento 1808.

Le porte endpoint esistenti seguenti devono essere chiuse nelle regole del firewall esistenti.

Nota

È consigliabile chiudere tali porte dopo la convalida.

Endpoint (VIP) Protocollo Porte
Portale (amministratore) HTTPS 12495
12499
12646
12647
12648
12649
12650
13001
13003
13010
13011
13012
13020
13021
13026
30015
Portale (utente) HTTPS 12495
12649
13001
13010
13011
13012
13020
13021
30015
13003
Azure Resource Manager (amministratore) HTTPS 30024
Azure Resource Manager (utente) HTTPS 30024

Passaggi successivi