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
Apri PowerShell con autorizzazioni elevate sull'host del ciclo di vita hardware o sulla workstation di gestione di Azure Stack Hub.
Eseguire il cmdlet seguente per installare lo strumento Di verifica dell'idoneità dell'hub di Azure Stack:
Install-Module -Name Microsoft.AzureStack.ReadinessChecker
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
.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 directoryAdmin extension host
ePublic extension host
.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
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.
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.
Aprire PowerShell ISE per eseguire i blocchi di script successivi.
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 }
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 |