Подготовьте хост расширения в Azure Stack Hub
Узел расширения защищает Azure Stack Hub, уменьшая количество необходимых портов TCP/IP. В этой статье описывается, как подготовить Azure Stack Hub для узла расширения, который автоматически включен с помощью пакета обновления Azure Stack Hub после обновления 1808. Эта статья относится к обновлениям Azure Stack Hub 1808, 1809 и 1811.
Требования к сертификату
Хост расширения реализует два новых пространства имен домена, чтобы гарантировать уникальные записи для каждого расширения портала. Новые пространства доменных имен требуют двух дополнительных подстановочных сертификатов для обеспечения безопасного взаимодействия.
В таблице показаны новые пространства имен и связанные сертификаты:
Папка развертывания | Обязательные имена субъектов сертификатов и альтернативные имена субъектов (SAN) | Область (на регион) | Пространство имен поддомена |
---|---|---|---|
Хост расширений администратора | *.adminhosting.<регионе>.<fqdn> (SSL-сертификаты с подстановочными знаками) | Хост расширений администратора | adminhosting.<регион>.<fqdn> |
Общедоступный сервер расширений | *.хостинг.<"регион">.<fqdn> (SSL-сертификаты с подстановочными знаками) | Хост общедоступного расширения | хостинг.<регион>.<fqdn> |
Подробные требования к сертификату см. в статье требования к сертификату инфраструктуры открытого ключа Azure Stack Hub.
Создание запроса на подпись сертификата
Средство проверки готовности Azure Stack Hub позволяет создать запрос на подпись сертификата для двух новых и необходимых SSL-сертификатов. Выполните действия, описанные в статье генерации запроса на подпись сертификатов Azure Stack Hub.
Заметка
Этот шаг можно пропустить в зависимости от того, как вы запрашивали SSL-сертификаты.
Проверка новых сертификатов
Откройте PowerShell с повышенными правами на узле жизненного цикла оборудования или рабочей станции управления Azure Stack Hub.
Выполните следующий командлет, чтобы установить средство проверки готовности Azure Stack Hub:
Install-Module -Name Microsoft.AzureStack.ReadinessChecker
Выполните следующий сценарий, чтобы создать требуемую структуру папок:
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}
Заметка
При развертывании, используя федеративные службы Microsoft Entra ID (AD FS), в следующий список в скрипте необходимо добавить следующие каталоги: $directories,
ADFS
,Graph
.Поместите существующие сертификаты, которые в настоящее время используются в Azure Stack Hub, в соответствующих каталогах. Например, поместите сертификат ARM администратора
в папку . А затем поместите только что созданные сертификаты размещения в каталоги Admin extension host
иPublic extension host
.Выполните следующий командлет, чтобы запустить проверку сертификата:
$pfxPassword = Read-Host -Prompt "Enter PFX Password" -AsSecureString Start-AzsReadinessChecker -CertificatePath c:\certificates -pfxPassword $pfxPassword -RegionName east -FQDN azurestack.contoso.com -IdentitySystem AAD
Проверьте выходные данные, чтобы узнать, проходят ли все сертификаты все тесты.
Импорт сертификатов узла расширения
Используйте компьютер, который может подключиться к привилегированной конечной точке Azure Stack Hub, чтобы выполнить следующие действия. Убедитесь, что у вас есть доступ к новым файлам сертификатов с этого компьютера.
Используйте компьютер, который может подключиться к привилегированной конечной точке Azure Stack Hub, чтобы выполнить следующие действия. Убедитесь, что вы обращаетесь к новым файлам сертификатов с этого компьютера.
Откройте PowerShell ISE, чтобы выполнить блоки следующих скриптов.
Импортируйте сертификат для конечной точки размещения администратора.
$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 }
Импортируйте сертификат для конечной точки размещения:
$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 }
Обновление конфигурации DNS
Заметка
Этот шаг не требуется, если вы использовали делегирование зоны DNS для интеграции DNS.
Если для публикации конечных точек Azure Stack Hub настроен отдельный узел A, необходимо создать две дополнительные записи узла A:
Протокол IP | Имя узла | Тип |
---|---|---|
<IP-> | *. Администрирование.<регион>.<полное доменное имя> | A |
<IP-> | *. Хостинг.<регион>.<полное доменное имя> | А |
Выделенные IP-адреса можно получить с помощью привилегированной точки доступа, выполнив командлет Get-AzureStackStampInformation.
Порты и протоколы
Статья об интеграции центра обработки данных Azure Stack Hub, касающаяся публикации конечных точек, охватывает порты и протоколы, которые требуют входящего взаимодействия для публикации Azure Stack Hub до развертывания узла расширения.
Публикация новых конечных точек
Существуют две новые конечные точки, которые нужно опубликовать через брандмауэр. Выделенные IP-адреса из пула публичных виртуальных IP-адресов можно получить с помощью следующего кода, который должен быть выполнен из привилегированной точки доступа вашей среды 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
Пример выходных данных
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
Заметка
Внесите это изменение перед включением хоста расширения. Это позволяет порталам Azure Stack Hub постоянно быть доступными.
Конечная точка (VIP) | Протокол | Порты |
---|---|---|
Размещение администраторов | HTTPS | 443 |
Хостинг | HTTPS | 443 |
Обновите существующие правила публикации (после включения узла расширения)
Заметка
Пакет обновления Azure Stack Hub 1808 еще не включает поддержку узла расширения. Вы можете подготовиться к хосту расширения, импортируя необходимые сертификаты. Не закрывайте порты до автоматического включения узла расширения с помощью пакета обновления Azure Stack Hub после обновления 1808.
Следующие существующие порты конечных точек должны быть закрыты в существующих правилах брандмауэра.
Заметка
Рекомендуется закрыть эти порты после успешной проверки.
Конечная точка (VIP) | Протокол | Порты |
---|---|---|
Портал (администратор) | HTTPS | 12495 12499 12646 12647 12648 12649 12650 13001 13003 13010 13011 13012 13020 13021 13026 30015 |
Портал (пользователь) | HTTPS | 12495 12649 13001 13010 13011 13012 13020 13021 30015 13003 |
Azure Resource Manager (администратор) | HTTPS | 30024 |
Azure Resource Manager (пользователь) | HTTPS | 30024 |
Дальнейшие действия
- Узнайте о интеграции брандмауэра.
- Узнайте о создания запросов подписывания сертификатов Azure Stack Hub.