Служба приложений в заметках о выпуске Azure Stack Hub 2302

В этих заметках о выпуске описываются улучшения и исправления в Служба приложений Azure в Azure Stack Hub 2302, а также все известные проблемы. Известные проблемы можно разделить на проблемы, которые непосредственно относятся к процессу развертывания, обновления, и проблемы со сборкой (после установки).

Важно!

При необходимости обновите Azure Stack Hub до поддерживаемой версии (или разверните последнюю версию пакета средств разработки Azure Stack) перед развертыванием или обновлением поставщика ресурсов Служба приложений . Обязательно ознакомьтесь с заметками о выпуске RP, чтобы узнать о новых функциях, исправлениях и известных проблемах, которые могут повлиять на развертывание.

Поддерживаемая минимальная версия Azure Stack Hub Служба приложений версия RP
2301 и более поздней версии Установщик 2302 (заметки о выпуске)

Указание сборки

Номер сборки Служба приложений в Azure Stack Hub 2302 — 98.0.1.703

Новые возможности

Служба приложений Azure в выпуске Azure Stack Hub 2302 заменяет выпуск 2022 H1 и включает исправления для следующих проблем:

Предварительные требования

Перед началом развертывания ознакомьтесь со статьей Подготовка к работе со службой приложений в Azure Stack.

Прежде чем приступить к обновлению Служба приложений Azure в Azure Stack Hub до версии 2302, выполните следующие действия.

  • Убедитесь, что azure Stack Hub обновлен до версии 1.2108.2.127 или 1.2206.2.52.

  • Убедитесь, что все роли готовы в Служба приложений Azure администрирования на портале администрирования Azure Stack Hub.

  • Резервное копирование секретов Служба приложений с помощью Служба приложений администрирования на портале администрирования Azure Stack Hub.

  • Создайте резервную копию баз данных Служба приложений и SQL Server master.

    • AppService_Hosting;
    • AppService_Metering;
    • master.
  • Выполните резервное копирование общей папки с содержимым приложения клиента.

    Важно!

    Операторы облака отвечают за обслуживание и работу файлового сервера и SQL Server. Поставщик ресурсов не управляет этими ресурсами. Оператор облака отвечает за резервное копирование баз данных Службы приложений и общей папки содержимого арендатора.

  • Синдикация расширения пользовательских скриптов версии 1.9.3 из Marketplace.

Действия перед обновлением

Примечание

Если вы ранее развернули Служба приложений Azure в Azure Stack Hub 2022 H1 в метке Azure Stack Hub, этот выпуск является незначительным обновлением до 2022 H1, которое устраняет две проблемы.

Служба приложений Azure в Azure Stack Hub 2302 — это значительное обновление, которое займет несколько часов. Все развертывание будет обновлено, а все роли будут повторно созданы с помощью ОС Windows Server 2022 Datacenter. Поэтому перед применением обновления мы рекомендуем сообщить конечным клиентам о запланированном обновлении.

  • По состоянию на Служба приложений Azure в обновлении Azure Stack Hub 2022 H1 буква K теперь является зарезервированной буквой SKU. Если у вас определен пользовательский номер SKU, использующий букву K, обратитесь в службу поддержки, чтобы помочь в устранении этой проблемы до обновления.

Просмотрите известные проблемы для обновления и выполните все предписанные действия.

Действия, выполняемые после развертывания

Важно!

Если поставщик ресурсов Служба приложений предоставлен с экземпляром SQL Always On, необходимо добавить базы данных appservice_hosting и appservice_metering в группу доступности и синхронизировать базы данных, чтобы предотвратить потерю службы в случае отработки отказа базы данных.

Известные проблемы (обновление)

  • В ситуациях, когда вы преобразовали базы данных appservice_hosting и appservice_metering в автономные базы данных, обновление может завершиться ошибкой, если имена входа не были успешно перенесены на автономных пользователей.

    Если вы преобразовали базы данных appservice_hosting и appservice_metering в автономную базу данных после развертывания и не успешно перенесли имена входа базы данных для автономных пользователей, могут возникнуть сбои обновления.

    Перед обновлением Служба приложений Azure в установке Azure Stack Hub до 3-го квартала 2020 г. необходимо выполнить следующий скрипт для SQL Server размещения appservice_hosting и appservice_metering. Этот скрипт безопасен для системы, а его выполнение не приведет к простою.

    Этот скрипт должен выполняться при следующих условиях:

    • Пользователем с правами системного администратора, например учетной записью SQL SA.
    • Если на сервере SQL используется группа доступности Always On, убедитесь, что скрипт выполняется из экземпляра SQL, который содержит все имена для входа Службы приложений в таком виде:
      • appservice_hosting_FileServer;
      • appservice_hosting_HostingAdmin;
      • appservice_hosting_LoadBalancer;
      • appservice_hosting_Operations;
      • appservice_hosting_Publisher;
      • appservice_hosting_SecurePublisher;
      • appservice_hosting_WebWorkerManager;
      • appservice_metering_Common;
      • appservice_metering_Operations;
      • Все имена входа WebWorker в формате WebWorker_< IP-адрес экземпляра>
          USE appservice_hosting
          IF EXISTS(SELECT * FROM sys.databases WHERE Name=DB_NAME() AND containment = 1)
          BEGIN
          DECLARE @username sysname ;  
          DECLARE user_cursor CURSOR  
          FOR
              SELECT dp.name
              FROM sys.database_principals AS dp  
              JOIN sys.server_principals AS sp
                  ON dp.sid = sp.sid  
                  WHERE dp.authentication_type = 1 AND dp.name NOT IN ('dbo','sys','guest','INFORMATION_SCHEMA');
              OPEN user_cursor  
              FETCH NEXT FROM user_cursor INTO @username  
                  WHILE @@FETCH_STATUS = 0  
                  BEGIN  
                      EXECUTE sp_migrate_user_to_contained
                      @username = @username,  
                      @rename = N'copy_login_name',  
                      @disablelogin = N'do_not_disable_login';  
                  FETCH NEXT FROM user_cursor INTO @username  
              END  
              CLOSE user_cursor ;  
              DEALLOCATE user_cursor ;
              END
          GO
    
          USE appservice_metering
          IF EXISTS(SELECT * FROM sys.databases WHERE Name=DB_NAME() AND containment = 1)
          BEGIN
          DECLARE @username sysname ;  
          DECLARE user_cursor CURSOR  
          FOR
              SELECT dp.name
              FROM sys.database_principals AS dp  
              JOIN sys.server_principals AS sp
                  ON dp.sid = sp.sid  
                  WHERE dp.authentication_type = 1 AND dp.name NOT IN ('dbo','sys','guest','INFORMATION_SCHEMA');
              OPEN user_cursor  
              FETCH NEXT FROM user_cursor INTO @username  
                  WHILE @@FETCH_STATUS = 0  
                  BEGIN  
                      EXECUTE sp_migrate_user_to_contained
                      @username = @username,  
                      @rename = N'copy_login_name',  
                      @disablelogin = N'do_not_disable_login';  
                  FETCH NEXT FROM user_cursor INTO @username  
              END  
              CLOSE user_cursor ;  
              DEALLOCATE user_cursor ;
              END
          GO
    
  • Приложения клиента не могут привязать сертификаты к приложениям после обновления.

    Причина этой проблемы заключается в отсутствии функции на внешних интерфейсах после обновления до Windows Server 2022. Операторы должны следовать этой процедуре, чтобы устранить проблему.

    1. На портале администрирования Azure Stack Hub перейдите в раздел Группы безопасности сети и просмотрите контроллеры ГРУППА безопасности сетиNSG .

    2. По умолчанию удаленный рабочий стол отключен для всех ролей инфраструктуры Служба приложений. Измените действие правила Inbound_Rdp_3389 на Разрешить доступ.

    3. Перейдите к группе ресурсов, содержащей развертывание поставщика ресурсов Служба приложений. Имя по умолчанию — AppService.<и> подключитесь к CN0-VM.

    4. Вернитесь к сеансу удаленного рабочего стола CN0-VM .

    5. В сеансе PowerShell администратора выполните следующую команду:

      Важно!

      Во время выполнения этого скрипта будет приостановлено выполнение каждого экземпляра в интерфейсном масштабируемом наборе. Если появится сообщение о том, что компонент устанавливается, этот экземпляр будет перезагружен. Используйте паузу в скрипте для обеспечения доступности внешнего интерфейса. Операторы должны убедиться, что по крайней мере один экземпляр внешнего интерфейса всегда готов, чтобы приложения клиента могли получать трафик и не сталкиваться с простоем.

      $c = Get-AppServiceConfig -Type Credential -CredentialName FrontEndCredential
      $spwd = ConvertTo-SecureString -String $c.Password -AsPlainText -Force
      $cred = New-Object System.Management.Automation.PsCredential ($c.UserName, $spwd)
      
      Get-AppServiceServer -ServerType LoadBalancer | ForEach-Object {
          $lb = $_
          $session = New-PSSession -ComputerName $lb.Name -Credential $cred
      
          Invoke-Command -Session $session {
            $f = Get-WindowsFeature -Name Web-CertProvider
            if (-not $f.Installed) {
                Write-Host Install feature on $env:COMPUTERNAME
                Install-WindowsFeature -Name Web-CertProvider
      
                Shutdown /t 5 /r /f 
            }
         }
      }
      
      Remove-PSSession -Session $session
      
      Read-Host -Prompt "If installing the feature, the machine will reboot. Wait until there's enough frontend availability, then press ENTER to continue"
      
    6. На портале администрирования Azure Stack вернитесь к разделу Контроллеры ГРУППА безопасности сетиNSG .

    7. Измените правило Inbound_Rdp_3389 , чтобы запретить доступ.

Известные проблемы (после установки)

  • Рабочие роли не могут связаться с файловым сервером, если Служба приложений развернут в существующей виртуальной сети, а файловый сервер доступен только в частной сети, как описано в документации по развертыванию Служба приложений Azure в Azure Stack.

    Если вы решили выполнить развертывание в существующей виртуальной сети с использованием внутреннего IP-адреса для подключения к файловому серверу, необходимо добавить правило безопасности для исходящего трафика, разрешающее передачу трафика SMB между подсетью рабочей роли и файловым сервером. Для этого перейдите к группе безопасности сети WorkersNsg на портале администрирования и добавьте правило безопасности для исходящего трафика со следующими свойствами.

    • Источник: Любой
    • Диапазон исходных портов: *.
    • Назначение: IP-адреса
    • Диапазон конечных IP-адресов: диапазон IP-адресов для файлового сервера
    • Диапазон конечных портов: 445
    • Протокол: TCP
    • Действие: Allow
    • Приоритет: 700
    • Имя: Outbound_Allow_SMB445
  • Чтобы устранить задержку при взаимодействии рабочих ролей с файловыми серверами, мы также рекомендуем добавить следующее правило в группу безопасности сети рабочей роли, чтобы разрешить исходящий трафик LDAP и Kerberos к контроллерам Active Directory при защите файлового сервера с помощью Active Directory. Например, если вы использовали шаблон быстрого запуска для развертывания файлового сервера высокой доступности и SQL Server.

    Для этого перейдите к группе безопасности сети WorkersNsg на портале администрирования и добавьте правило безопасности для исходящего трафика со следующими свойствами.

    • Источник: Любой
    • Диапазон исходных портов: *.
    • Назначение: IP-адреса
    • Диапазон IP-адресов назначения: диапазон IP-адресов для серверов AD, например с помощью шаблона быстрого запуска 10.0.0.100, 10.0.0.101
    • Диапазон портов назначения: 389,88
    • Протокол: любой
    • Действие: Allow
    • Приоритет: 710
    • Имя: Outbound_Allow_LDAP_and_Kerberos_to_Domain_Controllers
  • Приложения клиента не могут привязать сертификаты к приложениям после обновления.

    Причина этой проблемы заключается в отсутствии функции на внешних интерфейсах после обновления до Windows Server 2022. Чтобы устранить проблему, операторы должны выполнить следующую процедуру:

    1. На портале администрирования Azure Stack Hub перейдите в раздел Группы безопасности сети и просмотрите группу безопасности сети КонтроллерыNSG .

    2. По умолчанию удаленный рабочий стол отключен для всех ролей инфраструктуры Служба приложений. Измените действие правила Inbound_Rdp_3389 на Разрешить доступ.

    3. Перейдите к группе ресурсов, содержащей развертывание поставщика ресурсов Служба приложений. По умолчанию имя — AppService.<и> подключитесь к CN0-VM.

    4. Вернитесь к сеансу удаленного рабочего стола CN0-VM .

    5. В сеансе PowerShell администратора выполните следующую команду:

      Важно!

      Во время выполнения этого скрипта для каждого экземпляра в интерфейсном масштабируемом наборе будет приостановлено. Если появится сообщение о том, что компонент устанавливается, этот экземпляр будет перезагружен. Используйте паузу в скрипте, чтобы поддерживать доступность внешнего интерфейса. Операторы должны убедиться, что по крайней мере один экземпляр внешнего интерфейса всегда готов, чтобы приложения клиента могли получать трафик и не испытывать простоев.

      $c = Get-AppServiceConfig -Type Credential -CredentialName FrontEndCredential
      $spwd = ConvertTo-SecureString -String $c.Password -AsPlainText -Force
      $cred = New-Object System.Management.Automation.PsCredential ($c.UserName, $spwd)
      
      Get-AppServiceServer -ServerType LoadBalancer | ForEach-Object {
          $lb = $_
          $session = New-PSSession -ComputerName $lb.Name -Credential $cred
      
          Invoke-Command -Session $session {
            $f = Get-WindowsFeature -Name Web-CertProvider
            if (-not $f.Installed) {
                Write-Host Install feature on $env:COMPUTERNAME
                Install-WindowsFeature -Name Web-CertProvider
      
                Read-Host -Prompt "If installing the feature, the machine will reboot. Wait until there's enough frontend availability, then press ENTER to continue"
                Shutdown /t 5 /r /f 
            }
         }
      }
      
      Remove-PSSession -Session $session      
      
    6. На портале администрирования Azure Stack вернитесь к группе безопасности сети КонтроллерыNSG .

    7. Измените правило Inbound_Rdp_3389 , чтобы запретить доступ.

Известные проблемы для облачных администраторов, работающих со службой приложений Azure в Azure Stack

  • Личные домены не поддерживаются в отключенных средах.

    Служба приложений выполняет проверку владения доменом для общедоступных конечных точек DNS. В результате личные домены не поддерживаются в отключенных сценариях.

  • виртуальная сеть интеграция веб-приложений и приложений-функций не поддерживается.

    Возможность добавления интеграции виртуальной сети в веб-приложения и приложения-функции отображается на портале Azure Stack Hub, и если клиент пытается настроить, он получает внутреннюю ошибку сервера. Эта функция не поддерживается в Служба приложений Azure в Azure Stack Hub.

Дальнейшие действия