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
Öffnen Sie PowerShell mit erhöhten Berechtigungen auf dem Hardwarelebenszyklushost oder der Azure Stack Hub-Verwaltungsarbeitsstation.
Führen Sie das folgende Cmdlet aus, um das Azure Stack Hub Readiness Checker-Tool zu installieren:
Install-Module -Name Microsoft.AzureStack.ReadinessChecker
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
.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 verzeichnisseAdmin extension host
undPublic extension host
ein.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
Ü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.
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.
Öffnen Sie PowerShell ISE, um die nächsten Skriptblöcke auszuführen.
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 }
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
- Erfahren Sie mehr über Firewall-Integration.
- Informieren Sie sich über das Generieren von Signieranforderungen für Azure Stack Hub-Zertifikate.