Azure Stack Hub 2022 H1 のApp Serviceリリース ノート

これらのリリース ノートでは、Azure Stack Hub 2022 H1 のリリース ノートと既知の問題に関するAzure App Serviceの機能強化と修正について説明します。 既知の問題は、デプロイおよび更新プロセスに直接関係する問題と、ビルド (インストール後) に関する問題に分けられています。

重要

App Service リソースプロバイダー (RP) をデプロイまたは更新する前に、必要に応じて Azure Stack Hub をサポートされているバージョンに更新します (または最新の Azure Stack Development Kit をデプロイします)。 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 Serviceは、Azure Stack Hub に多くの新機能をもたらします。

  • すべてのロールは、Windows Server 2022 Datacenter を利用するようになりました。
  • 管理者は、SKU を AppService に設定することで、Azure Stack Hub でApp Serviceして使用するプラットフォーム イメージを分離できます。
  • すべてのワーカー Virtual Machine Scale Setsのネットワーク設計の更新。SNAT ポートの枯渇の問題に直面しているお客様に対処します。
  • すべてのアプリケーションの送信アドレスの数を増やしました。 送信アドレスの更新された一覧は、Azure Stack Hub ポータルのアプリケーションのプロパティで検出できます。
  • 管理者は、デプロイされる各仮想マシン スケール セット内の個々のインスタンスに対して 3 文字のデプロイ プレフィックスを設定できます。複数の Azure Stack Hub インスタンスを管理する場合に便利です。
  • テナントに対して展開センターが有効になり、展開オプション エクスペリエンスが置き換えられます。 重要: オペレーターは、この更新プログラムでリダイレクト URL が変更されたので 、展開ソースを再構成 する必要があります。さらに、テナントはアプリをソース管理プロバイダーに再接続する必要があります。
  • この更新の時点で、文字 K は予約済みの SKU レターになりました。文字 K を使用してカスタム SKU が定義されている場合は、アップグレード前にこの状況の解決を支援するためにサポートにお問い合わせください。

前提条件

デプロイを開始する前に、前提条件に関するドキュメントをご覧ください。

Azure Stack 上のAzure App Serviceを 2022 H1 にアップグレードする前に、次の手順を実行します。

  • Azure Stack Hub1.2108.2.127 または 1.2206.2.52 に更新されていることを確認します。

  • Azure Stack Hub 管理 ポータルの Azure App Service 管理ですべてのロールが準備完了であることを確認します。

  • Azure Stack Hub 管理 ポータルの App Service 管理を使用して、シークレットApp Serviceバックアップします。

  • App Service と SQL Server マスター データベースをバックアップします。

    • AppService_Hosting
    • AppService_Metering
    • Master
  • テナント アプリ コンテンツ ファイル共有をバックアップします。

    重要

    ファイル サーバーと SQL Server の保守と操作を担当するのは、クラウド オペレーターです。 リソース プロバイダーは、これらのリソースの管理は行いません。 クラウドオ ペレーターが、App Service データベースとテナント コンテンツ ファイル共有のバックアップを行います。

  • Marketplace から カスタム スクリプト拡張機能 バージョン 1.9.3 をシンジケートします。

更新プログラム

Azure Stack Update 2022 H1 のAzure App Serviceには、次の機能強化と修正が含まれています。

  • App Service のテナント ポータル、管理ポータル、Functions ポータル、Kudu ツールの更新。 Azure Stack Portal SDK バージョンと一致しています。

  • Azure Functions ランタイムv1.0.13154 に更新されました。

  • 信頼性を高めるためのコア サービスと、一般的な問題を簡単に診断できるようにするエラー メッセージの更新。

  • 次のアプリケーション フレームワークとツールの更新:

    • 2022-09 x64 (KB5017028) の Microsoft サーバー オペレーティング システム バージョン 21H2 の.NET Framework 3.5 および 4.8 の累積的な更新プログラム。
    • 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 Serviceは重要な更新プログラムであり、デプロイ全体が更新され、すべてのロールが Windows Server 2022 Datacenter OS で再作成されるため、完了までに数時間かかることがあります。 そのため、更新プログラムを適用する前に、予定されている更新プログラムをエンド ユーザーに通知することをお勧めします。

  • Azure Stack Hub 2022 H1 Update のAzure App Service時点で、文字 K は予約済みの SKU レターになりました。文字 K を使用してカスタム SKU が定義されている場合は、アップグレード前にこの状況の解決を支援するためにサポートにお問い合わせください。

更新の既知の問題を確認し、規定されている措置を講じます。

デプロイ後の手順

重要

SQL Always On インスタンスを使用して App Service リソース プロバイダーを提供している場合は、データベースのフェールオーバーが発生したときにサービスが失われないように、appservice_hosting と appservice_metering データベースを可用性グループに追加し、それらのデータベースを同期する必要があります。

既知の問題 (更新プログラム)

  • お客様がappservice_hostingとappservice_meteringデータベースを包含データベースに変換した場合、ログインが包含ユーザーに正常に移行されていない場合、アップグレードが失敗する可能性があります。

デプロイ後にデータベースのappservice_hostingとappservice_meteringを包含データベースに変換し、包含ユーザーにデータベース ログインを正常に移行していないお客様は、アップグレードエラーが発生する可能性があります。

お客様は、Azure App Service on Azure Stack Hub インストールを 2020 Q3 にアップグレードする前に、appservice_hosting と appservice_metering をホストしている SQL Server に対して次のスクリプトを実行する必要があります。 このスクリプトは非破壊的であり、ダウンタイムが発生することはありません。

このスクリプトは、次の条件で実行する必要があります。

  • システム管理者特権を持つユーザー (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_<インスタンス IP アドレス> の形式のすべての WebWorker ログイン
        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 セッションで、次を実行します。

      重要

      このスクリプトの実行中に、フロントエンド スケールセット内の各インスタンスに対して一時停止が行われます。 機能がインストールされていることを示すメッセージがある場合は、そのインスタンスが再起動されます。スクリプトの一時停止を使用して、フロント エンドの可用性を維持します。 オペレーターは、テナント アプリケーションがトラフィックを受信でき、ダウンタイムが発生しないように、少なくとも 1 つのフロント エンド インスタンスが常に "準備完了" であることを確認する必要があります。

      $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 が既存の仮想ネットワークにデプロイされ、ファイル サーバーがプライベート ネットワークでしか使用できない場合、worker はファイル サーバーに到達することができません。Azure App Service on Azure Stack のデプロイ ドキュメントで説明されているとおりです。

    ファイル サーバーに接続するために既存の仮想ネットワークと内部 IP アドレスへデプロイする場合は、送信セキュリティ規則を追加して、worker サブネットとファイル サーバー間の SMB トラフィックを有効にする必要があります。 管理者ポータルで WorkersNsg に移動し、次のプロパティを持つ送信セキュリティ規則を追加します。

    • ソース:Any
    • 送信元ポート範囲: *
    • 変換先:IP アドレス
    • 宛先 IP アドレス範囲:ファイル サーバーの IP の範囲
    • 送信先ポート範囲:445
    • プロトコル:TCP
    • アクション:Allow
    • 優先順位:700
    • 名前:Outbound_Allow_SMB445
  • ワーカーがファイル サーバーと通信しているときの待機時間を削除するために、Active Directory を使用してファイル サーバーをセキュリティで保護する場合 (たとえば、クイック スタート テンプレートを使用して HA ファイル サーバーとSQL Serverを展開した場合など) に、Active Directory コントローラーへの送信 LDAP および Kerberos トラフィックを許可するように、次の規則を Worker NSG に追加することをお勧めします。

    管理者ポータルで WorkersNsg に移動し、次のプロパティを持つ送信セキュリティ規則を追加します。

    • ソース:Any
    • 送信元ポート範囲: *
    • 変換先:IP アドレス
    • 宛先 IP アドレス範囲: AD サーバーの IP の範囲 (クイックスタート テンプレートでの例: 10.0.0.100、10.0.0.101)
    • 宛先ポート範囲: 389、88
    • プロトコル: Any
    • アクション: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 セッションで、次を実行します。

      重要

      このスクリプトの実行中に、フロントエンド スケールセット内の各インスタンスに対して一時停止が行われます。 機能がインストールされていることを示すメッセージがある場合は、そのインスタンスが再起動されます。スクリプトの一時停止を使用して、フロント エンドの可用性を維持します。 オペレーターは、テナント アプリケーションがトラフィックを受信でき、ダウンタイムが発生しないように、少なくとも 1 つのフロント エンド インスタンスが常に "準備完了" であることを確認する必要があります。

      $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 のVirtual Network統合はサポートされていません。

    Web アプリと関数アプリに仮想ネットワーク統合を追加する機能は、Azure Stack Hub ポータルに表示され、テナントが構成を試みると、内部サーバー エラーが発生します。 この機能は、Azure Stack Hub 上のAzure App Serviceではサポートされていません。

次のステップ