Przygotowanie hosta rozszerzeń w usłudze Azure Stack Hub
Host rozszerzenia zabezpiecza usługę Azure Stack Hub, zmniejszając liczbę wymaganych portów TCP/IP. W tym artykule opisano sposób przygotowania usługi Azure Stack Hub do hosta rozszerzenia, który jest automatycznie włączony za pośrednictwem pakietu aktualizacji usługi Azure Stack Hub po aktualizacji 1808. Ten artykuł dotyczy aktualizacji usługi Azure Stack Hub 1808, 1809 i 1811.
Wymagania dotyczące certyfikatu
Host rozszerzenia implementuje dwie nowe przestrzenie nazw domeny w celu zagwarantowania unikatowych wpisów hosta dla każdego rozszerzenia portalu. Nowe przestrzenie nazw domen wymagają dwóch dodatkowych certyfikatów wieloznacznych w celu zapewnienia bezpiecznej komunikacji.
W tabeli przedstawiono nowe przestrzenie nazw i skojarzone certyfikaty:
Folder wdrożenia | Wymagane nazwy podmiotu certyfikatu i alternatywne nazwy podmiotu (SAN) | Zakres (na region) | Przestrzeń nazw poddomeny |
---|---|---|---|
Host rozszerzenia administratora | *.adminhosting.<region>.<fqdn> (Certyfikaty SSL typu Wildcard) | Host rozszerzenia administratora | adminhosting.<region>.<fqdn> |
Host rozszerzenia publicznego | *.hosting.<region>.<fqdn> (certyfikaty SSL typu wildcard) | Host rozszerzenia publicznego | gościnność.<region>.><fqdn |
Aby uzyskać szczegółowe wymagania dotyczące certyfikatów, zobacz wymagania dotyczące certyfikatów infrastruktury klucza publicznego dla Azure Stack Hub.
Tworzenie żądania podpisania certyfikatu
Narzędzie do sprawdzania gotowości usługi Azure Stack Hub umożliwia utworzenie żądania podpisania certyfikatu dla dwóch nowych i wymaganych certyfikatów SSL. Wykonaj kroki opisane w artykule generowanie żądania podpisu certyfikatów dla usługi Azure Stack Hub.
Notatka
Ten krok można pominąć w zależności od sposobu żądania certyfikatów SSL.
Weryfikowanie nowych certyfikatów
Otwórz program PowerShell z podwyższonym poziomem uprawnień na hoście cyklu życia sprzętu lub stacji roboczej zarządzania usługi Azure Stack Hub.
Uruchom następujące polecenie cmdlet, aby zainstalować narzędzie do sprawdzania gotowości usługi Azure Stack Hub:
Install-Module -Name Microsoft.AzureStack.ReadinessChecker
Uruchom następujący skrypt, aby utworzyć wymaganą strukturę folderów:
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}
Notatka
W przypadku wdrożenia za pomocą usług federacyjnych Microsoft Entra ID (AD FS) następujące katalogi muszą zostać dodane do $directories w skrypcie:
ADFS
,Graph
.Umieść istniejące certyfikaty, których obecnie używasz w usłudze Azure Stack Hub, w odpowiednich katalogach. Na przykład umieść certyfikat arm administratora w folderze
Arm Admin
. Następnie umieść nowo utworzone certyfikaty hostingu w katalogachAdmin extension host
iPublic extension host
.Uruchom następujące polecenie cmdlet, aby uruchomić sprawdzanie certyfikatu:
$pfxPassword = Read-Host -Prompt "Enter PFX Password" -AsSecureString Start-AzsReadinessChecker -CertificatePath c:\certificates -pfxPassword $pfxPassword -RegionName east -FQDN azurestack.contoso.com -IdentitySystem AAD
Sprawdź dane wyjściowe, aby sprawdzić, czy wszystkie certyfikaty przechodzą wszystkie testy.
Importowanie certyfikatów hosta rozszerzenia
Użyj komputera, który może nawiązać połączenie z uprzywilejowanym punktem końcowym usługi Azure Stack Hub, aby wykonać następne kroki. Upewnij się, że masz dostęp do nowych plików certyfikatów z tego komputera.
Użyj komputera, który może nawiązać połączenie z uprzywilejowanym punktem końcowym usługi Azure Stack Hub, aby wykonać następne kroki. Upewnij się, że masz dostęp do nowych plików certyfikatów z tego komputera.
Otwórz program PowerShell ISE, aby wykonać następne bloki skryptu.
Zaimportuj certyfikat dla punktu końcowego hostingu administratora.
$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 }
Zaimportuj certyfikat dla punktu końcowego hostingu:
$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 }
Aktualizowanie konfiguracji DNS
Notatka
Ten krok nie jest wymagany, jeśli do integracji DNS użyto delegowania strefy DNS.
Jeśli rekordy hosta A zostały skonfigurowane do publikowania punktów końcowych Azure Stack Hub, należy utworzyć dwa dodatkowe rekordy hosta A.
IP | Nazwa hosta | Typ |
---|---|---|
<IP> | *. Hostowanie administracyjne.<region>.> nazwy FQDN< | A |
<IP> | *. Hosting.<Region>.<FQDN> | A |
Przydzielone adresy IP można pobrać przy użyciu uprzywilejowanego punktu końcowego, uruchamiając polecenie cmdlet Get-AzureStackStampInformation.
Porty i protokoły
Artykuł integracji usługi Azure Stack Hub z centrum danych — publikowanie punktów końcowych obejmuje porty i protokoły wymagające komunikacji przychodzącej w celu opublikowania punktów końcowych usługi Azure Stack Hub przed rozpoczęciem wdrażania hosta rozszerzeń.
Publikowanie nowych punktów końcowych
Istnieją dwa nowe punkty końcowe, które należy opublikować przez zaporę. Przydzielone adresy IP z publicznej puli adresów VIP można pobrać przy użyciu następującego kodu, który należy uruchomić z uprzywilejowanego punktu końcowego środowiska usługi Azure Stack Hub.
# 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
Przykładowe dane wyjściowe
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
Notatka
Przed włączeniem hosta rozszerzenia wprowadź tę zmianę. Dzięki temu portale usługi Azure Stack Hub będą stale dostępne.
Punkt dostępowy (VIP) | Protokół | Porty |
---|---|---|
Hosting dla administratorów | HTTPS | 443 |
Gościnność | HTTPS | 443 |
Zaktualizuj istniejące reguły publikacji (po włączeniu hosta rozszerzenia)
Notatka
Pakiet aktualizacji usługi Azure Stack Hub 1808 nie włącza jeszcze hosta rozszerzenia. Umożliwia przygotowanie środowiska hosta rozszerzeń przez zaimportowanie wymaganych certyfikatów. Nie zamykaj żadnych portów przed automatycznym włączeniem hosta rozszerzenia za pośrednictwem pakietu aktualizacji usługi Azure Stack Hub po aktualizacji 1808.
Następujące istniejące porty punktu końcowego muszą być zamknięte w istniejących regułach zapory.
Notatka
Zaleca się zamknięcie tych portów po pomyślnej weryfikacji.
Punkt końcowy (VIP) | Protokół | Porty |
---|---|---|
Portal (administrator) | HTTPS | 12495 12499 12646 12647 12648 12649 12650 13001 13003 13010 13011 13012 13020 13021 13026 30015 |
Portal (użytkownik) | HTTPS | 12495 12649 13001 13010 13011 13012 13020 13021 30015 13003 |
Azure Resource Manager (administrator) | HTTPS | 30024 |
Azure Resource Manager (użytkownik) | HTTPS | 30024 |
Następne kroki
- Dowiedz się o integracji Firewall.
- Dowiedz się więcej na temat generowania żądania podpisania certyfikatów usługi Azure Stack Hub.