Azure Stack Hub 2022 H1 릴리스 정보에서 App Service

이러한 릴리스 정보는 Azure Stack Hub 2022 H1 릴리스 정보 및 알려진 문제에 대한 Azure App Service 개선 사항 및 수정 사항을 설명합니다. 알려진 문제는 배포, 업데이트 프로세스 및 빌드 문제(설치 후)와 직접 관련된 문제로 나뉩니다.

중요

RP(App Service 리소스 공급자)를 배포하거나 업데이트하기 전에 필요한 경우 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 Service Azure Stack Hub에 많은 새로운 기능을 제공합니다.

  • 이제 모든 역할은 Windows Server 2022 Datacenter에서 구동됩니다.
  • 관리자는 SKU를 AppService로 설정하여 Azure Stack Hub의 App Service 사용할 플랫폼 이미지를 격리할 수 있습니다.
  • 모든 작업자 Virtual Machine Scale Sets 대한 네트워크 디자인 업데이트로, SNAT 포트 소모 문제가 발생한 고객을 해결합니다.
  • 모든 애플리케이션의 아웃바운드 주소 수가 증가했습니다. 아웃바운드 주소의 업데이트된 목록은 Azure Stack Hub 포털의 애플리케이션 속성에서 검색할 수 있습니다.
  • 관리자는 배포되는 각 Virtual Machine Scale Set의 개별 인스턴스에 대해 세 문자 배포 접두사를 설정할 수 있습니다. 여러 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 관리 Portal의 Azure App Service 관리에서 모든 역할이 준비되었는지 확인합니다.

  • Azure Stack Hub 관리 Portal에서 App Service 관리를 사용하여 App Service 비밀을 백업합니다.

  • App Service 백업하고 master 데이터베이스를 SQL Server.

    • AppService_Hosting;
    • AppService_Metering;
    • 마스터
  • 테넌트 앱 콘텐츠 파일 공유를 백업합니다.

    중요

    클라우드 운영자는 파일 서버 및 SQL Server 유지 관리 및 작업을 담당합니다. 리소스 공급자는 이러한 리소스를 관리하지 않습니다. 클라우드 운영자는 App Service 데이터베이스 및 테넌트 콘텐츠 파일 공유를 백업해야 합니다.

  • Marketplace에서 사용자 지정 스크립트 확장 버전 1.9.3 을 신디케이트합니다.

업데이트

Azure Stack Update 2022 H1의 Azure App Service 다음과 같은 개선 사항 및 수정 사항이 포함되어 있습니다.

  • 넌트, 관리, Functions 포털 및 Kudu 도구를 App Service 업데이트. Azure Stack Portal SDK 버전과 일치합니다.

  • Azure Functions 런타임v1.0.13154로 업데이트.

  • 일반적인 문제를 보다 쉽게 진단할 수 있도록 안정성 및 오류 메시징을 개선하기 위해 핵심 서비스에 업데이트.

  • 다음 애플리케이션 프레임워크 및 도구에 업데이트.

    • 2022-09 x64용 Microsoft 서버 운영 체제 버전 21H2용 .NET Framework 3.5 및 4.8 누적 업데이트(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 Service 중요한 업데이트이므로 전체 배포가 업데이트되고 모든 역할이 Windows Server 2022 Datacenter OS를 사용하여 다시 만들어질 때 완료하는 데 몇 시간이 걸릴 수 있습니다. 따라서 업데이트를 적용하기 전에 최종 고객에게 계획된 업데이트를 알리는 것이 좋습니다.

  • Azure Stack Hub 2022 H1 업데이트에서 Azure App Service 문자 K는 이제 예약된 SKU 문자입니다. 문자 K를 사용하여 정의된 사용자 지정 SKU가 있는 경우 업그레이드 전에 이 상황을 해결하는 데 도움이 되도록 지원에 문의하세요.

알려진 업데이트 문제를 검토하고 규정된 작업을 수행합니다.

배포 후 단계

중요

APP SERVICE 리소스 공급자에 SQL Always On 인스턴스를 제공한 경우 데이터베이스 장애 조치(failover) 시 서비스 손실을 방지하기 위해 가용성 그룹에 appservice_hosting 및 appservice_metering 데이터베이스를 추가하고 데이터베이스를 동기화해야 합니다.

알려진 문제(업데이트)

  • 고객이 appservice_hosting 및 appservice_metering 데이터베이스를 포함된 데이터베이스로 변환한 경우 로그인이 포함된 사용자로 성공적으로 마이그레이션되지 않은 경우 업그레이드가 실패할 수 있습니다.

배포 후 appservice_hosting 및 appservice_metering 데이터베이스를 포함된 데이터베이스로 변환하고 데이터베이스 로그인을 포함된 사용자로 성공적으로 마이그레이션하지 않은 고객은 업그레이드 오류가 발생할 수 있습니다.

고객은 Azure Stack Hub 설치에서 Azure App Service 2020 Q3으로 업그레이드하기 전에 SQL Server 호스팅 appservice_hosting 및 appservice_metering 대해 다음 스크립트를 실행해야 합니다. 이 스크립트는 비 파괴적이므로 가동 중지 시간이 발생하지 않습니다.

이 스크립트는 다음 조건에서 실행해야 합니다.

  • 시스템 관리자 권한이 있는 사용자(예: SQL SA 계정)

  • SQL Always On을 사용하는 경우 양식의 모든 App Service 로그인이 포함된 SQL instance 스크립트가 실행되었는지 확인합니다.

    • 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로 업그레이드한 후 Front-Ends 기능이 누락되어 있기 때문입니다. 운영자는 이 절차를 따라 문제를 resolve 합니다.

    1. Azure Stack Hub 관리 포털에서 네트워크 보안 그룹으로 이동하여 ControllersNSG 네트워크 보안 그룹을 확인합니다.

    2. 기본적으로 원격 데스크톱은 모든 App Service 인프라 역할에 대해 사용하지 않도록 설정됩니다. Inbound_Rdp_2289 규칙 작업을 액세스 허용으로 수정합니다.

    3. App Service 리소스 공급자 배포가 포함된 리소스 그룹으로 이동합니다. 기본적으로 이름은 AppService입니다.<지역>CN0-VM에 연결합니다.

    4. CN0-VM 원격 데스크톱 세션으로 돌아갑니다.

    5. 관리자 PowerShell 세션에서 다음을 실행합니다.

      중요

      이 스크립트를 실행하는 동안 프런트 엔드 확장 집합의 각 instance 대해 일시 중지됩니다. 기능이 설치되고 있음을 나타내는 메시지가 있는 경우 instance 다시 부팅됩니다. 스크립트에서 일시 중지를 사용하여 프런트 엔드 가용성을 유지합니다. 운영자는 테넌트 애플리케이션이 트래픽을 수신하고 가동 중지 시간을 경험할 수 없도록 항상 하나 이상의 프런트 엔드 instance "준비"되도록 해야 합니다.

      $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 Stack 배포 설명서의 Azure App Service 설명된 대로 App Service 기존 가상 네트워크에 배포되고 파일 서버를 프라이빗 네트워크에서만 사용할 수 있는 경우 파일 서버에 연결할 수 없습니다.

    기존 가상 네트워크 및 내부 IP 주소에 배포하여 파일 서버에 연결하도록 선택한 경우 아웃바운드 보안 규칙을 추가하여 작업자 서브넷과 파일 서버 간에 SMB 트래픽을 사용하도록 설정해야 합니다. 관리 Portal에서 WorkerNsg로 이동하여 다음 속성을 사용하여 아웃바운드 보안 규칙을 추가합니다.

    • 원본: 모두
    • 원본 포트 범위: *
    • 대상: IP 주소
    • 대상 IP 주소 범위: 파일 서버의 IP 범위
    • 대상 포트 범위: 445
    • 프로토콜: TCP
    • 작업: 허용
    • 우선 순위: 700
    • 이름: Outbound_Allow_SMB445
  • 작업자가 파일 서버와 통신할 때 대기 시간을 제거하려면 Active Directory를 사용하여 파일 서버를 보호하는 경우(예: 빠른 시작 템플릿을 사용하여 HA 파일 서버를 배포하고 SQL Server 경우) Active Directory 컨트롤러에 대한 아웃바운드 LDAP 및 Kerberos 트래픽을 허용하도록 작업자 NSG에 다음 규칙을 추가하는 것이 좋습니다.

    관리 Portal에서 WorkerNsg로 이동하여 다음 속성을 사용하여 아웃바운드 보안 규칙을 추가합니다.

    • 원본: 모두
    • 원본 포트 범위: *
    • 대상: IP 주소
    • 대상 IP 주소 범위: AD 서버에 대한 IP 범위(예: 빠른 시작 템플릿 10.0.0.100, 10.0.0.101)
    • 대상 포트 범위: 389,88
    • 프로토콜: 모두
    • 작업: 허용
    • 우선 순위: 710
    • 이름: Outbound_Allow_LDAP_and_Kerberos_to_Domain_Controllers
  • 테넌트 애플리케이션은 업그레이드 후 애플리케이션에 인증서를 바인딩할 수 없습니다.

    이 문제의 원인은 Windows Server 2022로 업그레이드한 후 Front-Ends 기능이 누락되어 있기 때문입니다. 운영자는 이 절차를 따라 문제를 resolve 합니다.

    1. Azure Stack Hub 관리 포털에서 네트워크 보안 그룹으로 이동하여 ControllersNSG 네트워크 보안 그룹을 확인합니다.

    2. 기본적으로 원격 데스크톱은 모든 App Service 인프라 역할에 대해 사용하지 않도록 설정됩니다. Inbound_Rdp_2289 규칙 작업을 액세스 허용으로 수정합니다.

    3. App Service 리소스 공급자 배포가 포함된 리소스 그룹으로 이동합니다. 기본적으로 이름은 AppService입니다.<지역>CN0-VM에 연결합니다.

    4. CN0-VM 원격 데스크톱 세션으로 돌아갑니다.

    5. 관리자 PowerShell 세션에서 다음을 실행합니다.

      중요

      이 스크립트를 실행하는 동안 프런트 엔드 확장 집합의 각 instance 대해 일시 중지됩니다. 기능이 설치되고 있음을 나타내는 메시지가 있는 경우 instance 다시 부팅됩니다. 스크립트에서 일시 중지를 사용하여 프런트 엔드 가용성을 유지합니다. 운영자는 테넌트 애플리케이션이 트래픽을 수신하고 가동 중지 시간을 경험할 수 없도록 항상 하나 이상의 프런트 엔드 instance "준비"되도록 해야 합니다.

      $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 Service 운영하는 Cloud Admins의 알려진 문제

  • 사용자 지정 도메인은 연결이 끊긴 환경에서 지원되지 않습니다.

    App Service 공용 DNS 엔드포인트에 대해 도메인 소유권 확인을 수행합니다. 따라서 연결이 끊긴 시나리오에서는 사용자 지정 도메인이 지원되지 않습니다.

  • 웹 및 Function Apps에 대한 Virtual Network 통합은 지원되지 않습니다.

    웹 및 함수 앱에 가상 네트워크 통합을 추가하는 기능은 Azure Stack Hub 포털에 표시되며 테넌트가 구성을 시도하면 내부 서버 오류가 발생합니다. 이 기능은 Azure Stack Hub의 Azure App Service 지원되지 않습니다.

다음 단계