다음을 통해 공유


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

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

Important

필요한 경우 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 앱 Service는 Azure Stack Hub에 많은 새로운 기능을 제공합니다.

  • 이제 모든 역할은 Windows Server 2022 Datacenter에서 지원됩니다.
  • 관리자는 SKU를 AppService로 설정하여 Azure Stack Hub의 App Service에서 사용할 플랫폼 이미지를 격리할 수 있습니다.
  • SNAT 포트 고갈 문제가 발생하는 고객을 해결하기 위해 모든 작업자 Virtual Machine Scale Sets에 대한 네트워크 디자인 업데이트입니다.
  • 모든 애플리케이션에 대한 아웃바운드 주소 수가 증가했습니다. 업데이트된 아웃바운드 주소 목록은 Azure Stack Hub 포털의 애플리케이션 속성에서 검색할 수 있습니다.
  • 관리자는 배포되는 각 Virtual Machine Scale Set의 개별 인스턴스에 대해 세 개의 문자 배포 접두사를 설정할 수 있으며, 여러 Azure Stack Hub 인스턴스를 관리할 때 유용합니다.
  • 이제 배포 센터가 테넌트에 대해 사용하도록 설정되어 배포 옵션 환경을 대체합니다. 중요: 이 업데이트로 리디렉션 URL이 변경되었으므로 운영자는 배포 원본 을 다시 구성해야 합니다. 또한 테넌트는 해당 앱을 소스 제어 공급자에 다시 연결해야 합니다.
  • 이 업데이트를 기준으로 문자 K는 이제 예약된 SKU 문자입니다. 문자 K를 사용하여 정의된 사용자 지정 SKU가 있는 경우 업그레이드하기 전에 이 상황을 해결하는 데 도움이 되도록 지원에 문의하세요.

필수 조건

배포를 시작하기 전에 시작하기 전에 설명서를 참조하세요 .

Azure Stack의 Azure 앱 Service를 2022 H1로 업그레이드하기 전에 다음을 수행합니다.

  • Azure Stack Hub가 1.2108.2.127 또는 1.2206.2.52로 업데이트되었는지 확인합니다.

  • Azure Stack Hub 관리 포털의 Azure 앱 서비스 관리에서 모든 역할이 준비되었는지 확인합니다.

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

  • App Service 및 SQL Server 마스터 데이터베이스를 백업합니다.

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

    Important

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

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

업데이트

Azure Stack Update 2022 H1의 Azure 앱 서비스에는 다음과 같은 개선 사항 및 수정 사항이 포함되어 있습니다.

  • App Service 테넌트, 관리자, 함수 포털 및 Kudu 도구에 대한 업데이트입니다. Azure Stack Portal SDK 버전과 일치합니다.

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

  • 일반적인 문제를 보다 간편하게 진단할 수 있는 안정성 및 오류 메시지를 개선하기 위해 핵심 서비스로 업데이트.

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

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

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

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

배포 후 단계

Important

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

알려진 문제(업데이트)

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

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

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

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

  • 시스템 관리자 권한이 있는 사용자(예: 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로 업그레이드한 후 프런트 엔드에서 누락된 기능 때문입니다. 운영자는 이 절차를 따라 문제를 해결해야 합니다.

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

    2. 기본적으로 원격 데스크톱은 모든 App Service 인프라 역할에 사용할 수 없습니다. Inbound_Rdp_2289 규칙 작업을 수정하여 액세스를 허용합니다.

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

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

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

      Important

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

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

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

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

    관리 포털에서 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로 업그레이드한 후 프런트 엔드에서 누락된 기능 때문입니다. 운영자는 이 절차를 따라 문제를 해결해야 합니다.

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

    2. 기본적으로 원격 데스크톱은 모든 App Service 인프라 역할에 사용할 수 없습니다. Inbound_Rdp_2289 규칙 작업을 수정하여 액세스를 허용합니다.

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

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

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

      Important

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

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

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

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

  • 웹 및 함수 앱에 대한 Virtual Network 통합은 지원되지 않습니다.

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

다음 단계

  • Azure 앱 Service에 대한 개요는 Azure Stack의 Azure 앱 Service 개요를 참조하세요.
  • Azure Stack에서 App Service 배포를 준비하는 방법에 대한 자세한 내용은 Azure Stack 에서 App Service를 시작하기 전에 참조하세요.