Compartir a través de


Notas de la versión de App Service en Azure Stack Hub 2302

Estas notas de la versión describen las mejoras y correcciones de App de Azure Service en Azure Stack Hub 2302 y los problemas conocidos. Los problemas conocidos se dividen en aquellos que están relacionados directamente con el proceso de actualización y aquellos que están relacionados con la compilación (posteriores a la instalación).

Importante

Actualice Azure Stack Hub a una versión compatible (o implemente la versión más reciente del Kit de desarrollo de Azure Stack) si es necesario, antes de implementar o actualizar el proveedor de recursos de App Service. No olvide leer también las notas de la versión del proveedor de recursos para conocer las nuevas funcionalidades, correcciones y problemas conocidos que podrían afectar a la implementación.

Versión mínima de Azure Stack Hub admitida Versión del proveedor de recursos de App Service
2301 y versiones posteriores Instalador 2302 (notas de la versión)

Referencia de compilación

El número de compilación de App Service en Azure Stack Hub 2302 es 98.0.1.703

Novedades

App de Azure Service on Azure Stack Hub 2302 release replaces the 2022 H1 release and includes fixes for the following issues:

  • CVE-2023-21703 App de Azure Servicio en la vulnerabilidad de elevación de privilegios de Azure Stack Hub.

  • No se puede abrir la experiencia del usuario de virtual Machine Scale Sets desde la experiencia de usuario de administración de roles de App Service en el portal de administración de Azure Stack Hub.

  • Todas las demás actualizaciones se documentan en las notas de la versión de actualización de App de Azure Service en Azure Stack Hub 2022 H1.

  • A partir de la actualización de App de Azure Service en Azure Stack Hub 2022 H1, la letra K es ahora una letra reservada de SKU. Si tiene una SKU personalizada definida que usa la letra K, póngase en contacto con el soporte técnico para ayudar a resolver esta situación antes de la actualización.

Requisitos previos

Remítase a la documentación de introducción antes de comenzar la implementación.

Antes de comenzar la actualización de App de Azure Service en Azure Stack Hub a 2302:

  • Asegúrese de que Azure Stack Hub está actualizado a la versión 1.2108.2.127 o 1.2206.2.52.

  • Asegúrese de que todos los roles están listos en la administración del servicio App de Azure en el portal de administración de Azure Stack Hub.

  • Realice una copia de seguridad de secretos de App Service mediante la administración de App Service en el portal de administración de Azure Stack Hub.

  • Realice una copia de seguridad de las bases de datos maestras de App Service y SQL Server:

    • AppService_Hosting;
    • AppService_Metering;
    • Embarque maestro
  • Realice una copia de seguridad del recurso compartido de archivos del contenido de la aplicación inquilina.

    Importante

    Los operadores en la nube son responsables del mantenimiento y el funcionamiento del servidor de archivos y SQL Server. El proveedor de recursos no administra estos recursos. El operador de la nube es responsable de realizar copias de seguridad de las bases de datos y los recursos compartidos de archivos del contenido del inquilino de App Service.

  • Distribuya la extensión de script personalizado versión 1.9.3 desde Marketplace.

Pasos previos a la actualización

Nota:

Si anteriormente ha implementado App de Azure Service en Azure Stack Hub 2022 H1 en la marca de Azure Stack Hub, esta versión es una actualización secundaria a 2022 H1 que soluciona dos problemas.

App de Azure Service en Azure Stack Hub 2302 es una actualización significativa que tardará varias horas en completarse. Toda la implementación se actualizará y todos los roles se volverán a crear con el sistema operativo Windows Server 2022 Datacenter. Por lo tanto, se recomienda informar a los clientes finales de una actualización planeada antes de aplicar la actualización.

  • A partir de la actualización de App de Azure Service en Azure Stack Hub 2022 H1, la letra K es ahora una letra reservada de SKU. Si tiene una SKU personalizada definida que usa la letra K, póngase en contacto con el soporte técnico para ayudar a resolver esta situación antes de la actualización.

Revise los problemas conocidos de actualización y realice las acciones prescritas.

Implementación de App Service en Azure Stack Hub

Importante

Si ha proporcionado el proveedor de recursos de App Service con una instancia de SQL AlwaysOn, debe agregar las bases de datos de appservice_hosting y appservice_metering a un grupo de disponibilidad y sincronizar las bases de datos para evitar la pérdida de servicio en caso de una conmutación por error de base de datos.

Problemas conocidos (actualización)

  • En situaciones en las que ha convertido las bases de datos de appservice_hosting y appservice_metering en bases de datos independientes, la actualización puede producir un error si los inicios de sesión no se han migrado correctamente a usuarios contenidos.

    Si ha convertido las bases de datos de appservice_hosting y appservice_metering en bases de datos independientes después de la implementación y no ha migrado correctamente los inicios de sesión de la base de datos a usuarios independientes, es posible que experimente errores de actualización.

    Debe ejecutar el siguiente script en el appservice_hosting de hospedaje de SQL Server y appservice_metering antes de actualizar el servicio de App de Azure en Azure Stack Hub a 2020 Q3. Este script no es destructivo y no provocará tiempo de inactividad.

    Este script debe ejecutarse en las condiciones siguientes:

    • Por un usuario que tiene el privilegio de administrador del sistema, por ejemplo, la cuenta de SA de SQL.
    • Si usa SQL AlwaysOn, asegúrese de que el script se ejecuta desde la instancia de SQL que contiene todos los inicios de sesión de App Service con el formato :
      • 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
      • Todos los inicios de sesión de WebWorker, que tienen el formato WebWorker_<dirección IP de la instancia>
          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
    
  • Las aplicaciones de inquilino no pueden enlazar certificados a aplicaciones después de la actualización.

    La causa de este problema se debe a que falta una característica en front-end después de la actualización a Windows Server 2022. Los operadores deben seguir este procedimiento para resolver el problema.

    1. En el portal de administración de Azure Stack Hub, vaya a Grupos de seguridad de red y vea el grupo de seguridad de red ControllersNSG .

    2. De forma predeterminada, el escritorio remoto está deshabilitado para todos los roles de infraestructura de App Service. Modifique la acción de regla de Inbound_Rdp_3389 para permitir el acceso.

    3. Vaya al grupo de recursos que contiene la implementación del proveedor de recursos de App Service; de forma predeterminada, el nombre es AppService.<región> y conexión a CN0-VM.

    4. Vuelva a la sesión de escritorio remoto CN0-VM .

    5. En una sesión de PowerShell de administrador, ejecute:

      Importante

      Durante la ejecución de este script, habrá una pausa para cada instancia del conjunto de escalado front-end. Si hay un mensaje que indica que se está instalando la característica, esa instancia se reiniciará. Use la pausa en el script para mantener la disponibilidad de front-end. Los operadores deben asegurarse de que al menos una instancia de front-end sea "Preparada" en todo momento para asegurarse de que las aplicaciones de inquilino pueden recibir tráfico y no experimentar tiempo de inactividad.

      $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. En el portal de administración de Azure Stack, vuelva al grupo de seguridad de red ControllersNSG .

    7. Modifique la regla de Inbound_Rdp_3389 para denegar el acceso.

Problemas conocidos (posteriores a la instalación)

  • Los trabajadores no pueden acceder al servidor de archivos cuando App Service se implementa en una red virtual existente y el servidor de archivos solo está disponible en la red privada, como se indica en la documentación de implementación del servicio App de Azure en Azure Stack.

    Si decide realizar una implementación en una red virtual existente y en una dirección IP interna para conectarse al servidor de archivos, debe agregar una regla de seguridad de salida. De ese modo, permite que exista tráfico SMB entre la subred del rol de trabajo y el servidor de archivos. Vaya a WorkersNsg en el portal de administración y agregue una regla de seguridad de salida con las siguientes propiedades:

    • Origen: Any
    • Intervalo de puertos de origen: *
    • Destino: Direcciones IP
    • Intervalo de direcciones IP de destino: Intervalo de direcciones IP del servidor de archivos
    • Intervalo de puertos de destino: 445
    • Protocolo: TCP
    • Acción: Allow
    • Prioridad: 700
    • Nombre: Outbound_Allow_SMB445
  • Para quitar la latencia cuando los trabajadores se comunican con el servidor de archivos, también se recomienda agregar la siguiente regla al grupo de seguridad de red de trabajo para permitir el tráfico LDAP saliente y Kerberos a los controladores de Active Directory si protege el servidor de archivos mediante Active Directory; por ejemplo, si ha usado la plantilla de inicio rápido para implementar un servidor de archivos de alta disponibilidad y SQL Server.

    Vaya a WorkersNsg en el portal de administración y agregue una regla de seguridad de salida con las siguientes propiedades:

    • Origen: Any
    • Intervalo de puertos de origen: *
    • Destino: Direcciones IP
    • Intervalo de direcciones IP de destino: intervalo de direcciones IP de los servidores de AD, por ejemplo, con la plantilla de inicio rápido 10.0.0.100, 10.0.0.101
    • Intervalo de puertos de destino: 389,88
    • Protocolo: Cualquiera
    • Acción: Permitir
    • Prioridad: 710
    • Nombre: Outbound_Allow_LDAP_and_Kerberos_to_Domain_Controllers
  • Las aplicaciones de inquilino no pueden enlazar certificados a aplicaciones después de la actualización.

    La causa de este problema se debe a que falta una característica en front-end después de la actualización a Windows Server 2022. Los operadores deben seguir este procedimiento para resolver el problema:

    1. En el portal de administración de Azure Stack Hub, vaya a Grupos de seguridad de red y vea el grupo de seguridad de red ControllersNSG .

    2. De forma predeterminada, el escritorio remoto está deshabilitado para todos los roles de infraestructura de App Service. Modifique la acción de regla de Inbound_Rdp_3389 para permitir el acceso.

    3. Vaya al grupo de recursos que contiene la implementación del proveedor de recursos de App Service; de forma predeterminada, el nombre es AppService.<región> y conexión a CN0-VM.

    4. Vuelva a la sesión de escritorio remoto CN0-VM .

    5. En una sesión de PowerShell de administrador, ejecute:

      Importante

      Durante la ejecución de este script, habrá una pausa para cada instancia del conjunto de escalado front-end. Si hay un mensaje que indica que se está instalando la característica, esa instancia se reiniciará. Use la pausa en el script para mantener la disponibilidad de front-end. Los operadores deben asegurarse de que al menos una instancia de front-end sea "Preparada" en todo momento para asegurarse de que las aplicaciones de inquilino pueden recibir tráfico y no experimentar tiempo de inactividad.

      $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. En el portal de administración de Azure Stack, vuelva al grupo de seguridad de red ControllersNSG .

    7. Modifique la regla de Inbound_Rdp_3389 para denegar el acceso.

Problemas conocidos para los administradores en la nube que trabajan con Azure App Service en Azure Stack

  • Los dominios personalizados no se admiten en entornos desconectados.

    App Service realiza la comprobación de la propiedad del dominio en los puntos de conexión DNS públicos. Como resultado, los dominios personalizados no se admiten en escenarios desconectados.

  • No se admite la integración de red virtual para aplicaciones web y de funciones.

    La capacidad de agregar integración de red virtual a aplicaciones web y de funciones se muestra en el portal de Azure Stack Hub y, si un inquilino intenta configurarlo, recibe un error interno del servidor. Esta característica no se admite en App de Azure Service en Azure Stack Hub.

Pasos siguientes