Freigeben über


Vorbereiten des Erweiterungshosts im Azure Stack Hub

Der Erweiterungshost sichert Azure Stack Hub, indem die Anzahl der erforderlichen TCP/IP-Ports reduziert wird. In diesem Artikel wird beschrieben, wie Sie Azure Stack Hub auf den Erweiterungshost vorbereiten, der nach dem Update von 1808 automatisch über ein Azure Stack Hub-Updatepaket aktiviert wird. Dieser Artikel bezieht sich auf Azure Stack Hub-Updates 1808, 1809 und 1811.

Zertifikatanforderungen

Der Erweiterungshost implementiert zwei neue Domänennamespaces, um eindeutige Hosteinträge für jede Portalerweiterung zu gewährleisten. Für die neuen Domänennamespaces sind zwei zusätzliche Wildcardzertifikate erforderlich, um eine sichere Kommunikation sicherzustellen.

In der Tabelle sind die neuen Namespaces und die zugehörigen Zertifikate aufgeführt:

Bereitstellungsordner Erforderlicher Zertifikatantragsteller und alternative Antragstellernamen Bereich (pro Region) Subdomänen-Namespace
Administrator-Erweiterungshost *.adminhosting.<region>.<fqdn> (SSL-Platzhalterzertifikate) Administrator-Erweiterungshost adminhosting.<region>.<fqdn>
Host für öffentliche Erweiterungen *.hosting.<region>.<fqdn> (SSL-Platzhalterzertifikate) Host für öffentliche Erweiterungen hosting.<region>.<fqdn>

Ausführliche Zertifikatanforderungen finden Sie unter Anforderungen an die Public Key-Infrastruktur von Azure Stack Hub.

Erstellen einer Zertifikatsignaturanforderung

Mit dem Azure Stack Hub Readiness Checker-Tool können Sie eine Zertifikatsignaturanforderung für die beiden neuen und erforderlichen SSL-Zertifikate erstellen. Führen Sie die Schritte im Artikel Azure Stack Hub-Zertifikatsignaturanforderungsgenerierungaus.

Anmerkung

Sie können diesen Schritt überspringen, je nachdem, wie Sie Ihre SSL-Zertifikate angefordert haben.

Überprüfen neuer Zertifikate

  1. Öffnen Sie PowerShell mit erhöhten Berechtigungen auf dem Hardwarelebenszyklushost oder der Azure Stack Hub-Verwaltungsarbeitsstation.

  2. Führen Sie das folgende Cmdlet aus, um das Azure Stack Hub Readiness Checker-Tool zu installieren:

    Install-Module -Name Microsoft.AzureStack.ReadinessChecker
    
  3. Führen Sie das folgende Skript aus, um die erforderliche Ordnerstruktur zu erstellen:

    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}
    

    Anmerkung

    Wenn Sie mit Microsoft Entra ID Federated Services (AD FS) bereitstellen, müssen die folgenden Verzeichnisse zum $directories im Skript hinzugefügt werden: ADFS, Graph.

  4. Platzieren Sie die vorhandenen Zertifikate, die Sie derzeit in Azure Stack Hub verwenden, in entsprechenden Verzeichnissen. Fügen Sie z. B. das Admin ARM Zertifikat in den Ordner Arm Admin ein. Fügen Sie dann die neu erstellten Hostingzertifikate in die verzeichnisse Admin extension host und Public extension host ein.

  5. Führen Sie das folgende Cmdlet aus, um die Zertifikatüberprüfung zu starten:

    $pfxPassword = Read-Host -Prompt "Enter PFX Password" -AsSecureString 
    
    Start-AzsReadinessChecker -CertificatePath c:\certificates -pfxPassword $pfxPassword -RegionName east -FQDN azurestack.contoso.com -IdentitySystem AAD
    
  6. Überprüfen Sie die Ausgabe, um zu ermitteln, ob alle Zertifikate alle Tests bestanden haben.

Importieren von Erweiterungshostzertifikaten

Verwenden Sie einen Computer, der eine Verbindung mit dem privilegierten Azure Stack Hub-Endpunkt herstellen kann, um die nächsten Schritte auszuführen. Stellen Sie sicher, dass Sie zugriff auf die neuen Zertifikatdateien von diesem Computer haben.

  1. Verwenden Sie einen Computer, der eine Verbindung mit dem privilegierten Azure Stack Hub-Endpunkt herstellen kann, um die nächsten Schritte auszuführen. Stellen Sie sicher, dass Sie von diesem Computer aus auf die neuen Zertifikatdateien zugreifen.

  2. Öffnen Sie PowerShell ISE, um die nächsten Skriptblöcke auszuführen.

  3. Importieren Sie das Zertifikat für den Administratorhostingendpunkt.

    
    $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. Importieren Sie das Zertifikat für den Hostingendpunkt:

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

Aktualisieren der DNS-Konfiguration

Anmerkung

Dieser Schritt ist nicht erforderlich, wenn Sie die DNS-Zonendelegierung für die DNS-Integration verwendet haben.

Wenn einzelne Host-A-Datensätze so konfiguriert wurden, dass Azure Stack Hub-Endpunkte veröffentlicht werden, müssen Sie zwei zusätzliche Host A-Einträge erstellen:

IP Rechnername Typ
<IP> *.Adminhosting.<Region>.<FQDN> A
<IP> *.Hosting.<Region>.<FQDN> A

Zugewiesene IPs können mithilfe des privilegierten Endpunkts abgerufen werden, indem das Cmdlet Get-AzureStackStampInformationausgeführt wird.

Ports und Protokolle

Der Artikel Azure Stack Hub-Rechenzentrumsintegration – Veröffentlichen von Endpunkten umfasst die Ports und Protokolle, die eine eingehende Kommunikation erfordern, um Azure Stack Hub vor dem Rollout des Erweiterungshosts zu veröffentlichen.

Veröffentlichen neuer Endpunkte

Es sind zwei neue Endpunkte erforderlich, die über Ihre Firewall veröffentlicht werden müssen. Die zugewiesenen IPs aus dem öffentlichen VIP-Pool können mithilfe des folgenden Codes abgerufen werden, der über den privilegierten Endpunkt Ihrer Azure Stack Hub-Umgebungausgeführt werden muss.

# 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

Beispielausgabe

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

Anmerkung

Nehmen Sie diese Änderung vor, bevor Sie den Erweiterungshost aktivieren. Auf diese Weise können die Azure Stack Hub-Portale kontinuierlich zugänglich sein.

Endpunkt (VIP) Protokoll Häfen
Administratorhosting HTTPS 443
Hosting HTTPS 443

Aktualisieren vorhandener Veröffentlichungsregeln (Nach der Aktivierung des Erweiterungshosts)

Anmerkung

Das Azure Stack Hub Update Package von 1808 aktiviert den Erweiterungshost noch nicht. Sie können den Erweiterungshost vorbereiten, indem Sie die erforderlichen Zertifikate importieren. Schließen Sie keine Ports, bevor der Erweiterungshost nach dem Update 1808 automatisch über ein Azure Stack Hub-Updatepaket aktiviert wird.

Die folgenden vorhandenen Endpunktports müssen in Ihren vorhandenen Firewallregeln geschlossen werden.

Anmerkung

Es wird empfohlen, diese Ports nach erfolgreicher Überprüfung zu schließen.

Endpunkt (VIP) Protokoll Häfen
Portal (Administrator) HTTPS 12495
12499
12646
12647
12648
12649
12650
13001
13003
13010
13011
13012
13020
13021
13026
30015
Portal (Benutzer) HTTPS 12495
12649
13001
13010
13011
13012
13020
13021
30015
13003
Azure Resource Manager (Administrator) HTTPS 30024
Azure Resource Manager (Benutzer) HTTPS 30024

Nächste Schritte