Przygotowanie do hosta rozszerzenia w centrum Azure StackPrepare for extension host in Azure Stack Hub

Host rozszerzeń zabezpiecza centrum Azure Stack, zmniejszając liczbę wymaganych portów TCP/IP.The extension host secures Azure Stack Hub by reducing the number of required TCP/IP ports. Ten artykuł zawiera omówienie przygotowywania Azure Stack Hub dla hosta rozszerzenia, który jest automatycznie włączany za pomocą pakietu aktualizacji centrum Azure Stack po aktualizacji 1808.This article looks at preparing Azure Stack Hub for the extension host that is automatically enabled through an Azure Stack Hub update package after the 1808 update. Ten artykuł ma zastosowanie do Azure Stack aktualizacji centrum 1808, 1809 i 1811.This article applies to Azure Stack Hub updates 1808, 1809, and 1811.

Wymagania certyfikatuCertificate requirements

Host rozszerzeń implementuje dwie nowe przestrzenie nazw domen w celu zagwarantowania unikatowych wpisów hosta dla każdego rozszerzenia portalu.The extension host implements two new domain namespaces to guarantee unique host entries for each portal extension. Nowe przestrzenie nazw domeny wymagają dwóch dodatkowych certyfikatów symboli wieloznacznych w celu zapewnienia bezpiecznej komunikacji.The new domain namespaces require two additional wildcard certificates to ensure secure communication.

W tabeli przedstawiono nowe przestrzenie nazw i skojarzone certyfikaty:The table shows the new namespaces and the associated certificates:

Folder wdrożeniaDeployment Folder Wymagany podmiot certyfikatu i alternatywne nazwy podmiotu (SAN)Required certificate subject and subject alternative names (SAN) Zakres (na region)Scope (per region) Przestrzeń nazw poddomenySubdomain namespace
Host rozszerzenia administratoraAdmin extension host *. adminhosting. <region> .<fqdn>*.adminhosting.<region>.<fqdn> (Wieloznaczne certyfikaty SSL)(Wildcard SSL Certificates) Host rozszerzenia administratoraAdmin extension host adminhosting. <region> .<fqdn>adminhosting.<region>.<fqdn>
Publiczny Host rozszerzeńPublic extension host *. hosting. <region> .<fqdn>*.hosting.<region>.<fqdn> (Wieloznaczne certyfikaty SSL)(Wildcard SSL Certificates) Publiczny Host rozszerzeńPublic extension host hosting. <region> ..<fqdn>hosting.<region>.<fqdn>

Szczegółowe wymagania dotyczące certyfikatów znajdują się w temacie Azure Stack Hub — wymagania dotyczące certyfikatu infrastruktury kluczy publicznych.For detailed certificate requirements, see Azure Stack Hub public key infrastructure certificate requirements.

Utwórz żądanie podpisania certyfikatuCreate certificate signing request

Narzędzie do sprawdzania gotowości centrum Azure Stack umożliwia utworzenie żądania podpisania certyfikatu dla dwóch nowych i wymaganych certyfikatów SSL.The Azure Stack Hub Readiness Checker tool lets you create a certificate signing request for the two new and required SSL certificates. Wykonaj kroki opisane w artykule Azure Stack generacja żądania podpisania certyfikatu centrum.Follow the steps in the article Azure Stack Hub certificates signing request generation.

Uwaga

Ten krok można pominąć w zależności od sposobu zażądania certyfikatów SSL.You may skip this step depending on how you requested your SSL certificates.

Weryfikuj nowe certyfikatyValidate new certificates

  1. Otwórz program PowerShell z podwyższonym poziomem uprawnień na hoście cyklu życia sprzętu lub stacji roboczej zarządzania centrum Azure Stack.Open PowerShell with elevated permission on the hardware lifecycle host or the Azure Stack Hub management workstation.

  2. Uruchom następujące polecenie cmdlet, aby zainstalować narzędzie do sprawdzania gotowości centrum Azure Stack:Run the following cmdlet to install the Azure Stack Hub Readiness Checker tool:

    Install-Module -Name Microsoft.AzureStack.ReadinessChecker
    
  3. Uruchom następujący skrypt, aby utworzyć wymaganą strukturę folderu:Run the following script to create the required folder structure:

    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}
    

    Uwaga

    W przypadku wdrażania programu przy użyciu usług federacyjnych Azure Active Directory (AD FS) następujące katalogi należy dodać do $Directories w skrypcie: ADFS , Graph .If you deploy with Azure Active Directory Federated Services (AD FS) the following directories must be added to $directories in the script: ADFS, Graph.

  4. Należy umieścić istniejące certyfikaty, które są obecnie używane w usłudze Azure Stack Hub w odpowiednich katalogach.Place the existing certificates, which you're currently using in Azure Stack Hub, in appropriate directories. Na przykład Umieść certyfikat ARM administratora w Arm Admin folderze.For example, put the Admin ARM certificate in the Arm Admin folder. Następnie należy umieścić nowo utworzone certyfikaty hostingu w Admin extension host Public extension host katalogach i.And then put the newly created hosting certificates in the Admin extension host and Public extension host directories.

  5. Uruchom następujące polecenie cmdlet, aby uruchomić sprawdzanie certyfikatu:Run the following cmdlet to start the certificate check:

    $pfxPassword = Read-Host -Prompt "Enter PFX Password" -AsSecureString 
    
    Start-AzsReadinessChecker -CertificatePath c:\certificates -pfxPassword $pfxPassword -RegionName east -FQDN azurestack.contoso.com -IdentitySystem AAD
    
  6. Sprawdź dane wyjściowe i jeśli wszystkie certyfikaty przechodzą wszystkie testy.Check the output and if all certificates pass all tests.

Importowanie certyfikatów hosta rozszerzeniaImport extension host certificates

Użyj komputera, który może nawiązać połączenie z punktem końcowym uprzywilejowanego centrum Azure Stack w celu wykonania następnych kroków.Use a computer that can connect to the Azure Stack Hub privileged endpoint for the next steps. Upewnij się, że masz dostęp do nowych plików certyfikatów z tego komputera.Make sure you have access to the new certificate files from that computer.

  1. Użyj komputera, który może nawiązać połączenie z punktem końcowym uprzywilejowanego centrum Azure Stack w celu wykonania następnych kroków.Use a computer that can connect to the Azure Stack Hub privileged endpoint for the next steps. Upewnij się, że masz dostęp do nowych plików certyfikatów z tego komputera.Make sure you access to the new certificate files from that computer.

  2. Otwórz program PowerShell ISE, aby wykonać kolejne bloki skryptów.Open PowerShell ISE to execute the next script blocks.

  3. Zaimportuj certyfikat dla punktu końcowego hostingu administratora.Import the certificate for the admin hosting endpoint.

    
    $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. Zaimportuj certyfikat dla punktu końcowego hostingu.Import the certificate for the hosting endpoint.

    $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 DNSUpdate DNS configuration

Uwaga

Ten krok nie jest wymagany, jeśli delegowanie strefy DNS zostało użyte do integracji DNS.This step isn't required if you used DNS Zone delegation for DNS Integration. Jeśli poszczególni hosty są skonfigurowane do publikowania Azure Stack punktów końcowych centrum, należy utworzyć dwa dodatkowe rekordy hosta:If individual host A records have been configured to publish Azure Stack Hub endpoints, you need to create two additional host A records:

Adres IPIP Hostname (Nazwa hosta)Hostname TypType
<IP> *. Adminhosting. <Region> .<FQDN>*.Adminhosting.<Region>.<FQDN> AA
<IP> *. Hosting. <Region> ..<FQDN>*.Hosting.<Region>.<FQDN> AA

Przydzielone adresy IP można pobrać przy użyciu uprzywilejowanego punktu końcowego, uruchamiając polecenie cmdlet Get-AzureStackStampInformation.Allocated IPs can be retrieved using the privileged endpoint by running the cmdlet Get-AzureStackStampInformation.

Porty i protokołyPorts and protocols

Artykuł Azure Stack Integration centrum danych — Publikowanie punktów końcowych obejmuje porty i protokoły, które wymagają komunikacji przychodzącej do publikowania centrum Azure Stack przed wdrożeniem hosta rozszerzenia.The article Azure Stack Hub datacenter integration - Publish endpoints covers the ports and protocols that require inbound communication to publish Azure Stack Hub before the extension host rollout.

Publikuj nowe punkty końcowePublish new endpoints

Do opublikowania za poorednictwem zapory wymagane są dwa nowe punkty końcowe.There are two new endpoints required to be published through your firewall. Przydzieloną adresy IP z puli publicznych adresów VIP można pobrać przy użyciu następującego kodu, który musi zostać uruchomiony ze uprzywilejowanego punktu końcowego środowiskacentrum Azure Stack.The allocated IPs from the public VIP pool can be retrieved using the following code that must be run from your Azure Stack Hub environment's privileged endpoint.

# Create a PEP Session
winrm s winrm/config/client '@{TrustedHosts= "<IpOfERCSMachine>"}'
$PEPCreds = Get-Credential
$PEPSession = New-PSSession -ComputerName <IpOfERCSMachine> -Credential $PEPCreds -ConfigurationName "PrivilegedEndpoint"

# 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ścioweSample Output

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

Uwaga

Wprowadź tę zmianę przed włączeniem hosta rozszerzenia.Make this change before enabling the extension host. Dzięki temu portale Azure Stack Hub będą stale dostępne.This allows the Azure Stack Hub portals to be continuously accessible.

Punkt końcowy (VIP)Endpoint (VIP) ProtokółProtocol PortyPorts
Hosting administratoraAdmin Hosting HTTPSHTTPS 443443
HostingHosting HTTPSHTTPS 443443

Aktualizowanie istniejących reguł publikowania (po włączeniu hosta rozszerzenia)Update existing publishing Rules (Post enablement of extension host)

Uwaga

Pakiet aktualizacji centrum Azure Stack 1808 nie włącza jeszcze hosta rozszerzenia.The 1808 Azure Stack Hub Update Package does not enable extension host yet. Umożliwia przygotowanie do hosta rozszerzenia przez zaimportowanie wymaganych certyfikatów.It lets you prepare for extension host by importing the required certificates. Nie zamykaj żadnych portów przed automatycznym włączeniem hosta rozszerzenia za pomocą pakietu aktualizacji centrum Azure Stack po aktualizacji 1808.Don't close any ports before extension host is automatically enabled through an Azure Stack Hub update package after the 1808 update.

Następujące istniejące porty punktów końcowych muszą zostać zamknięte w istniejących regułach zapory.The following existing endpoint ports must be closed in your existing firewall rules.

Uwaga

Zalecane jest zamknięcie tych portów po pomyślnym sprawdzeniu poprawności.It's recommended to close those ports after successful validation.

Punkt końcowy (VIP)Endpoint (VIP) ProtokółProtocol PortyPorts
Portal (Administrator)Portal (administrator) HTTPSHTTPS 1249512495
1249912499
1264612646
1264712647
1264812648
1264912649
1265012650
1300113001
1300313003
1301013010
1301113011
1301213012
1302013020
1302113021
1302613026
3001530015
Portal (użytkownik)Portal (user) HTTPSHTTPS 1249512495
1264912649
1300113001
1301013010
1301113011
1301213012
1302013020
1302113021
3001530015
1300313003
Azure Resource Manager (Administrator)Azure Resource Manager (administrator) HTTPSHTTPS 3002430024
Azure Resource Manager (użytkownik)Azure Resource Manager (user) HTTPSHTTPS 3002430024

Następne krokiNext steps