共用方式為


Azure Stack Hub 2022 H1 版本資訊上的 App Service

這些版本資訊描述 Azure Stack Hub 2022 H1 版本資訊及任何已知問題的 Azure App 服務 改善和修正。 已知問題分為直接與部署、更新程序相關的問題,以及組建 (安裝後) 的相關問題。

重要

如有必要,請在部署或更新 App Service 資源提供者 (RP) 之前,將 Azure Stack Hub 更新為支援的版本 (或部署最新的 Azure Stack 開發套件)。 也請務必閱讀 RP 版本資訊,以了解有哪些新功能、修正,以及任何可能對部署造成影響的已知問題。

支援的最小 Azure Stack Hub 版本 App Service RP 版本
2301 和更新版本 2302 安裝程式 (版本資訊)

建置參考

Azure Stack Hub 2022 H1 組建編號上的 App Service 為 98.0.1.699

新功能

azure Stack Hub 2022 H1 上的 Azure App 服務,可為 Azure Stack Hub 帶來許多新功能。

  • 所有角色現在都由 Windows Server 2022 Datacenter 提供。
  • 系統管理員可以將 SKU 設定為 AppService,隔離平臺映射以供 Azure Stack Hub 上的 App Service 使用。
  • 所有背景工作 虛擬機器擴展集的網路設計更新,解決遇到 SNAT 埠耗盡問題的客戶。
  • 增加所有應用程式的輸出位址數目。 您可以在 Azure Stack Hub 入口網站中應用程式的屬性中探索輸出位址的更新清單。
  • 系統管理員可以為每個部署的虛擬機擴展集中個別實例設定三個字元部署前置詞,在管理多個 Azure Stack Hub 實例時很有用。
  • 現在已為租用戶啟用部署中心,並取代部署選項體驗。 重要:操作員必須重新設定 其部署來源 ,因為重新導向 URL 已隨著此更新而變更,此外租使用者還需要將其應用程式重新連線到其原始檔控制提供者。
  • 從此更新開始,信件 K 現在是保留的 SKU 信件,如果您有使用字母 K 定義的自定義 SKU,請連絡支援人員以協助在升級之前解決這種情況。

Prerequisites

開始部署之前,請參閱「在您開始之前」文件

開始將 Azure Stack 上的 Azure App 服務 升級至 2022 H1 之前:

  • 請確定 您的 Azure Stack Hub 已更新為 1.2108.2.1271.2206.2.52

  • 確定 Azure Stack Hub 管理員 入口網站中 Azure App 服務 管理中的所有角色都就緒。

  • 使用 Azure Stack Hub 管理員 入口網站中的 App Service 管理來備份 App Service 秘密。

  • 備份 App Service 和 SQL Server master 資料庫:

    • AppService_Hosting;
    • AppService_Metering;
    • Master
  • 備份租使用者應用程式內容檔案共用。

    重要

    雲端操作員負責維護和操作檔案伺服器與 SQL Server。 資源提供者不會管理這些資源。 雲端操作員負責備份 App Service 資料庫和租用戶內容檔案共用。

  • 從 Marketplace 整合 自定義腳本擴充功能1.9.3 版

更新

Azure Stack Update 2022 H1 上的 Azure App 服務 包含下列改善和修正:

  • App Service 租用戶、系統管理員、Functions 入口網站和 Kudu 工具的更新。 與 Azure Stack 入口網站 SDK 版本保持一致。

  • Azure Functions 執行階段更新為 v1.0.13154

  • 用來改善可靠性和錯誤訊息以利進行常見問題診斷的核心服務更新。

  • 下列應用程式架構和工具的更新

    • 2022-09 適用於 .NET Framework 3.5 和 4.8 版 Microsoft 伺服器作業系統 21H2 for x64 (KB5017028) 的累積更新。
    • ASP.NET Core
      • 3.1.18
      • 3.1.23
      • 6.0.2
      • 6.0.3
    • Eclipse Temurin OpenJDK 8
      • 8u302
      • 8u312
      • 8u322
    • Microsoft OpenJDK 11
      • 11.0.12.7.1
      • 11.0.13.8
      • 11.0.14.1
      • 17.0.1.12
      • 17.0.2.8
    • MSBuild
      • 16.7.0
      • 17.1.0
    • MSDeploy 3.5.100608.567
    • NodeJS
      • 14.18.1
      • 16.9.1
      • 16.13.0
    • npm
      • 6.14.15
      • 7.21.1
      • 8.1.0
    • Tomcat
      • 8.5.69
      • 8.5.72
      • 8.5.78
      • 9.0.52
      • 9.0.54
      • 9.0.62
      • 10.0.12
      • 10.0.20
    • 已將 Kudu 更新為 97.40427.5713。
  • 所有角色的基礎作業系統更新

  • Windows Server 的累積 匯報 現在會套用至控制器角色,作為部署和升級的一部分

本版已修正的問題

  • 自動清除 App Service Resource Provider 資料庫內的 SiteDataRecord 和 TraceMessages 數據表, (s) 。
  • 私人憑證現在會顯示在具有部署位置的站台中, () 。
  • 藉由確認所有角色都就緒,改善升級程式的可靠性。

更新前步驟

Azure Stack Hub 2022 H1 上的 Azure App 服務 是一項重大更新,因此可能需要數小時才能完成,因為整個部署會更新,而且所有角色都會使用 Windows Server 2022 Datacenter OS 重新建立。 因此,建議您先通知終端客戶已規劃的更新,再套用更新。

  • 從 Azure Stack Hub 2022 H1 更新 Azure App 服務 開始,如果您已定義使用字母 K 的自定義 SKU,請連絡支援人員,以協助在升級之前解決這種情況。

請檢閱更新的已知問題,並採取任何指定的動作。

部署後步驟

重要

如果您已對 App Service 資源提供者提供 SQL Always On 執行個體,就必須將 appservice_hosting 和 appservice_metering 資料庫新增至可用性群組並同步處理資料庫,以避免在資料庫進行容錯移轉時中斷服務。

已知問題 (更新)

  • 如果客戶已將appservice_hosting和appservice_metering資料庫轉換成自主資料庫,如果登入尚未成功移轉至自主用戶,升級可能會失敗。

已將appservice_hosting和appservice_metering資料庫轉換成自主資料庫部署后,且尚未成功將資料庫登入移轉至自主用戶的客戶,可能會遇到升級失敗。

客戶必須先針對裝載 appservice_hosting 和 appservice_metering 的 SQL Server 執行下列指令碼,才能將「Azure Stack Hub 上的 Azure App Service」安裝升級到 2020 Q3。 此指令碼不具破壞性,而且不會造成停機

此文稿必須在下列情況下執行:

  • 由具有系統管理員權限的使用者 (例如 SQL SA 帳戶) 執行;

  • 如果使用 SQL Always On,請確定指令碼是從包含所有 App Service 登入 (格式如下) 的 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 之後,Front-Ends 缺少功能。 運算子必須遵循此程式來解決問題。

    1. 在 Azure Stack Hub 系統管理入口網站中,流覽至 網路安全組 並檢視 ControllersNSG 網路安全組。

    2. 根據預設,遠端桌面會停用所有 App Service 基礎結構角色。 將 Inbound_Rdp_2289 規則動作修改為 [允許 存取]。

    3. 流覽至包含 App Service 資源提供者部署的資源群組,預設名稱為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 管理入口網站中,流覽回 ControllersNSG 網路安全組。

    7. 修改 Inbound_Rdp_3389 規則來拒絕存取。

已知問題 (安裝後)

  • 將應用程式服務部署在現有的虛擬網路中且只能在私人網路上使用檔案伺服器時,背景工作角色無法連線到檔案伺服器,如 Azure App Service on Azure Stack 部署文件中所述。

    如果您選擇要部署到現有的虛擬網路並以內部 IP 位址連線到檔案伺服器,便必須新增輸出安全性規則,以啟用背景工作角色子網路與檔案伺服器之間的 SMB 流量。 移至管理入口網站中的 WorkersNsg,然後使用下列屬性新增輸出安全性規則:

    • 來源:任意
    • 來源連接埠範圍:*
    • 目的地:IP 位址
    • 目的地 IP 位址範圍:檔案伺服器的 IP 範圍
    • 目的地連接埠範圍:445
    • 通訊協定:TCP
    • 動作:Allow
    • 優先順序:700
    • 名稱:Outbound_Allow_SMB445
  • 若要移除背景工作角色與文件伺服器通訊時的延遲,我們也建議您將下列規則新增至背景工作 NSG,以允許輸出 LDAP 和 Kerberos 流量在使用 Active Directory 保護檔伺服器時傳送到 Active Directory 控制器,例如,如果您使用快速入門範本來部署 HA 檔案伺服器和 SQL Server。

    移至管理入口網站中的 WorkersNsg,然後使用下列屬性新增輸出安全性規則:

    • 來源:任意
    • 來源連接埠範圍:*
    • 目的地:IP 位址
    • 目的地 IP 位址範圍:AD 伺服器的 IP 範圍,例如使用快速入門範本時為 10.0.0.100, 10.0.0.101
    • 目的地連接埠範圍:389,88
    • 通訊協定: 任何
    • 動作:Allow
    • 優先順序:710
    • 名稱:Outbound_Allow_LDAP_and_Kerberos_to_Domain_Controllers
  • 租使用者應用程式無法在升級后將憑證系結至應用程式。

    此問題的原因是升級至 Windows Server 2022 之後,Front-Ends 缺少功能。 運算子必須遵循此程式來解決問題。

    1. 在 Azure Stack Hub 系統管理入口網站中,流覽至 網路安全組 並檢視 ControllersNSG 網路安全組。

    2. 根據預設,遠端桌面會停用所有 App Service 基礎結構角色。 將 Inbound_Rdp_2289 規則動作修改為 [允許 存取]。

    3. 流覽至包含 App Service 資源提供者部署的資源群組,預設名稱為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 管理入口網站中,流覽回 ControllersNSG 網路安全組。

    7. 修改 Inbound_Rdp_3389 規則來拒絕存取。

雲端管理員操作 Azure App Service on Azure Stack 時的已知問題

  • 已中斷連線的環境中不支援自定義網域。

    App Service 會對公用 DNS 端點執行網域擁有權驗證。 因此,中斷連線的案例中不支援自定義網域。

  • 不支援 Web 和 Function Apps 的 虛擬網路 整合。

    將虛擬網路整合新增至 Web 和函式應用程式的能力會顯示在 Azure Stack Hub 入口網站中,如果租使用者嘗試設定,他們會收到內部伺服器錯誤。 Azure Stack Hub 上的 Azure App 服務 不支援此功能。

後續步驟