共用方式為


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

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

重要

視需要將 Azure Stack Hub 更新為支援的版本(或部署最新的 Azure Stack 開發工具包),再部署或更新 App Service 資源提供者 (RP)。 請務必閱讀 RP 版本資訊,以瞭解可能影響部署的新功能、修正程式及任何已知問題。

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

組建參考

Azure Stack Hub 上的 App Service 2022 H1 組建編號是 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,請連絡支援人員以協助在升級之前解決這種情況。

必要條件

請參閱開始部署之前的檔

開始將 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 Databases:

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

    重要

    雲端操作員負責文件伺服器和 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 適用於 x64 的 .NET Framework 3.5 和 Microsoft 4.8 伺服器操作系統版本 21H2 的累積更新(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 資源提供者資料庫內的 SiteDataRecord 和 TraceMessages 數據表。
  • 私人憑證現在會顯示在具有部署位置的站台中。
  • 藉由確認所有角色都就緒,改善升級程式的可靠性。

更新前步驟

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 服務 升級至 2020 年第 3 季。 此腳本不具破壞性,而且不會造成停機時間

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

  • 由具有系統管理員許可權的使用者,例如 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_<instance 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 系統管理入口網站中,流覽至 網路安全組 並檢視 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規則以拒絕存取。

已知問題 (安裝後)

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

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

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

    移至管理入口網站中的 WorkersNsg,並新增具有下列屬性的輸出安全性規則:

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

    此問題的原因是升級至 Windows Server 2022 之後前端缺少功能。 操作員必須遵循此程式來解決問題。

    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 Stack 上作業 Azure App 服務 雲端管理員的已知問題

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

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

  • 不支援 Web 和函式應用程式的 虛擬網絡 整合。

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

下一步