Mempersiapkan host ekstensi di Azure Stack Hub
Host ekstensi mengamankan Azure Stack Hub dengan mengurangi jumlah port TCP/IP yang diperlukan. Artikel ini membahas persiapan Azure Stack Hub untuk host ekstensi yang diaktifkan secara otomatis melalui paket pembaruan Azure Stack Hub setelah pembaruan 1808. Artikel ini berlaku untuk pembaruan Azure Stack Hub 1808, 1809, dan 1811.
Persyaratan sertifikat
Host ekstensi mengimplementasikan dua namaspace layanan domain baru untuk menjamin entri host unik bagi setiap ekstensi portal. Namespace layanan domain baru memerlukan dua sertifikat kartu bebas tambahan untuk memastikan komunikasi yang aman.
Tabel ini menunjukkan namespace layanan baru dan sertifikat yang terkait:
Folder Penyebaran | Subjek sertifikat yang diperlukan dan nama alternatif subjek (SAN) | Lingkup (per wilayah) | Namespace layanan subdomain |
---|---|---|---|
Host ekstensi admin | *.adminhosting.<region>.<fqdn> (Sertifikat SSL Kartu Bebas) | Host ekstensi admin | adminhosting.<region>.<fqdn> |
Host ekstensi publik | *.hosting.<region>.<fqdn> (Sertifikat SSL Kartu Bebas) | Host ekstensi publik | hosting.<region>.<fqdn> |
Untuk persyaratan sertifikat terperinci, lihat persyaratan sertifikat infrastruktur kunci umum Azure Stack Hub.
Membuat permintaan penandatanganan sertifikat
Alat Azure Stack Hub Readiness Checker memungkinkan Anda membuat permintaan penandatanganan sertifikat untuk dua sertifikat SSL baru dan yang diperlukan. Ikuti langkah-langkah dalam artikel Pembuatan permintaan penandatanganan sertifikat Azure Stack Hub.
Catatan
Anda dapat melewati langkah ini tergantung pada cara Anda meminta sertifikat SSL.
Memvalidasi sertifikat baru
Buka PowerShell dengan izin yang ditingkatkan pada host siklus hidup perangkat keras atau stasiun kerja manajemen Azure Stack Hub.
Jalankan cmdlet berikut untuk menginstal alat Azure Stack Hub Readiness Checker:
Install-Module -Name Microsoft.AzureStack.ReadinessChecker
Jalankan skrip berikut untuk membuat struktur folder yang diperlukan:
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}
Catatan
Jika Anda menyebarkan dengan Microsoft Entra ID Federated Services (AD FS) direktori berikut harus ditambahkan ke $directories dalam skrip:
ADFS
,Graph
.Tempatkan sertifikat yang sudah ada, yang saat ini Anda gunakan di Azure Stack Hub, di direktori yang sesuai. Misalnya, tempatkan sertifikat ARM Admin di folder
Arm Admin
. Kemudian tempatkan sertifikat hosting yang baru dibuat di direktoriAdmin extension host
danPublic extension host
.Jalankan cmdlet berikut untuk memulai pemeriksaan sertifikat:
$pfxPassword = Read-Host -Prompt "Enter PFX Password" -AsSecureString Start-AzsReadinessChecker -CertificatePath c:\certificates -pfxPassword $pfxPassword -RegionName east -FQDN azurestack.contoso.com -IdentitySystem AAD
Periksa output dan periksa apakah semua sertifikat lulus semua tes.
Mengimpor sertifikat host ekstensi
Untuk langkah selanjutnya, gunakan komputer yang dapat tersambung ke titik akhir berhak istimewa dari Azure Stack Hub. Pastikan Anda memiliki akses ke file sertifikat baru dari komputer tersebut.
Untuk langkah selanjutnya, gunakan komputer yang dapat tersambung ke titik akhir berhak istimewa dari Azure Stack Hub. Pastikan Anda memiliki akses ke file sertifikat baru dari komputer tersebut.
Buka PowerShell ISE untuk menjalankan blok skrip berikutnya.
Impor sertifikat untuk titik akhir hosting admin.
$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 }
Impor sertifikat untuk titik akhir 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 }
Memperbarui konfigurasi DNS
Catatan
Langkah ini tidak diperlukan jika Anda menggunakan Delegasi zona DNS untuk Integrasi DNS. Jika rekaman host A individual telah dikonfigurasi untuk menerbitkan titik akhir Azure Stack Hub, Anda harus membuat dua rekaman host A tambahan:
IP | Nama host | Jenis |
---|---|---|
<IP> | *.Adminhosting.<Region>.<FQDN> | A |
<IP> | *.Hosting.<Region>.<FQDN> | A |
IP yang dialokasikan dapat diambil menggunakan titik akhir berhak istimewa dengan menjalankan cmdlet Get-AzureStackStampInformation.
Port dan protokol
Artikel Integrasi pusat data Azure Stack Hub - Titik akhir penerbitan membahas port dan protokol yang memerlukan komunikasi masuk untuk menerbitkan Azure Stack Hub sebelum peluncuran host ekstensi.
Menerbitkan titik akhir baru
Ada dua titik akhir baru yang harus dipublikasikan melalui firewall Anda. IP yang dialokasikan dari kumpulan VIP publik dapat diambil menggunakan kode berikut, yang harus dijalankan dari titik akhir berhak istimewa lingkungan 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
Output sampel
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
Catatan
Buat perubahan ini sebelum mengaktifkan host ekstensi. Hal ini memungkinkan portal Azure Stack Hub agar terus dapat diakses.
Titik Akhir (VIP) | Protokol | Port |
---|---|---|
Hosting Admin | HTTPS | 443 |
Hosting | HTTPS | 443 |
Memperbarui Aturan penerbitan yang ada (Pasca pengaktifan host ekstensi)
Catatan
Paket Pembaruan Azure Stack Hub 1808 belum mengaktifkan host ekstensi. Hal ini memungkinkan Anda mempersiapkan host ekstensi dengan mengimpor sertifikat yang diperlukan. Jangan menutup port apa pun sebelum host ekstensi diaktifkan secara otomatis melalui paket pembaruan Azure Stack Hub setelah pembaruan 1808.
Port titik akhir yang ada berikut harus ditutup dalam aturan firewall yang ada.
Catatan
Sebaiknya tutup port tersebut setelah validasi berhasil.
Titik Akhir (VIP) | Protokol | Port |
---|---|---|
Portal (administrator) | HTTPS | 12495 12499 12646 12647 12648 12649 12650 13001 13003 13010 13011 13012 13020 13021 13026 30015 |
Portal (pengguna) | HTTPS | 12495 12649 13001 13010 13011 13012 13020 13021 30015 13003 |
Azure Resource Manager (administrator) | HTTPS | 30024 |
Azure Resource Manager (pengguna) | HTTPS | 30024 |
Langkah berikutnya
- Pelajari integrasi Firewall.
- Pelajari Pembuatan permintaan penandatanganan sertifikat Azure Stack Hub.