Condividi tramite


Preparare l'host dell'estensione nell'hub di Azure Stack

L'host dell'estensione protegge l'hub di Azure Stack riducendo il numero di porte TCP/IP necessarie. Questo articolo descrive come preparare l'hub di Azure Stack per l'host di estensione abilitato automaticamente tramite un pacchetto di aggiornamento dell'hub di Azure Stack dopo l'aggiornamento 1808. Questo articolo si applica agli aggiornamenti dell'hub di Azure Stack 1808, 1809 e 1811.

Requisiti dei certificati

L'host di estensione implementa due nuovi namespace di dominio per garantire voci host univoche per ciascuna estensione del portale. I nuovi spazi dei nomi di dominio richiedono due certificati wildcard aggiuntivi per garantire la comunicazione sicura.

La tabella mostra i nuovi namespace e i certificati associati:

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

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

Creare una richiesta di firma del certificato

Lo strumento Controllo conformità hub di Azure Stack consente di creare una richiesta di firma del certificato per i due certificati SSL nuovi e necessari. Seguire la procedura descritta nell'articolo generazione di richieste di firma dei certificati dell'hub di Azure Stack.

Nota

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

Convalidare i nuovi certificati

  1. Apri PowerShell con autorizzazioni elevate sull'host del ciclo di vita hardware o sulla workstation di gestione di Azure Stack Hub.

  2. Eseguire il cmdlet seguente per installare lo strumento Di verifica dell'idoneità dell'hub di Azure Stack:

    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 esegue la distribuzione con Microsoft Entra ID Federated Services (AD FS), è necessario aggiungere le directory seguenti a $directories nello script: ADFS, Graph.

  4. Inserire i certificati esistenti, attualmente in uso nell'hub di Azure Stack, nelle directory appropriate. Ad esempio, inserire il certificato Admin ARM nella cartella Arm Admin. Inserire quindi i certificati di hosting appena creati nelle directory Admin extension host 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 per verificare se tutti i certificati superano tutti i test.

Importare i certificati host dell'estensione

Usare un computer in grado di connettersi all'endpoint con privilegi dell'hub di Azure Stack 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'endpoint con privilegi dell'hub di Azure Stack 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 dell'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 è obbligatorio se è stata usata la delega della zona DNS per l'integrazione DNS.

Se i singoli host A record sono stati configurati per pubblicare gli endpoint dell'hub di Azure Stack, è necessario creare due record A host aggiuntivi:

Protocollo Internet (IP) Nome host Tipo
<IP> *. Adminhosting.<'area>.<FQDN> Un
<IP> *. Ospitare.<'area>.<FQDN> Un

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

Porte e protocolli

L'articolo integrazione del datacenter di Azure Stack Hub - Pubblicare gli endpoint illustra le porte e i protocolli che richiedono la comunicazione in ingresso per pubblicare Azure Stack Hub prima del rollout dell'host di estensione.

Pubblicare nuovi endpoint

Sono necessari due nuovi endpoint da pubblicare tramite il firewall. Gli indirizzi IP allocati dal pool di indirizzi VIP pubblici possono essere recuperati usando il codice seguente che deve essere eseguito dall'endpoint con privilegi dell'hub di Azure Stack .

# 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 i portali dell'hub di Azure Stack possono essere continuamente accessibili.

Endpoint (INDIRIZZO VIP) Protocollo Porte
Hosting amministratore HTTPS 443
Servizio di hosting HTTPS 443

Aggiornare le regole di pubblicazione esistenti (dopo l'abilitazione dell'host di estensione)

Nota

Il pacchetto di aggiornamento dell'hub di Azure Stack 1808 non abilita ancora l'host dell'estensione. Consente di preparare l'host dell'estensione importando i certificati necessari. Non chiudere alcuna porta prima che l'host dell'estensione venga abilitato automaticamente tramite un pacchetto di aggiornamento dell'hub di Azure Stack 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

  • Informazioni sull'integrazione del firewall .
  • Informazioni sulla generazione delle richieste di firma dei certificati per l'hub di Azure Stack .