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

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

중요

RP(App Service 리소스 공급자)를 배포하거나 업데이트하기 전에 필요한 경우 Azure Stack Hub를 지원되는 버전으로 업데이트하거나 최신 Azure Stack Development Kit를 배포합니다. 배포에 영향을 줄 수 있는 새로운 기능, 수정 사항 및 알려진 문제에 대해 알아보려면 RP 릴리스 정보를 읽어보세요.

지원되는 최소 Azure Stack Hub 버전 App Service RP 버전
2301 이상 2302 설치 관리자 (릴리스 정보)

빌드 참조

Azure Stack Hub 2302 빌드 번호의 App Service 98.0.1.703입니다.

새로운 기능

Azure Stack Hub 2302 릴리스의 Azure App Service 2022 H1 릴리스를 대체하고 다음 문제에 대한 수정 사항을 포함합니다.

사전 요구 사항

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

Azure Stack Hub에서 Azure App Service 2302로 업그레이드를 시작하기 전에 다음을 수행합니다.

  • 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 master.

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

    중요

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

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

업데이트 전 단계

참고

이전에 Azure Stack Hub 2022 H1의 Azure App Service Azure Stack Hub 스탬프에 배포한 경우 이 릴리스는 두 가지 문제를 해결하는 2022 H1로의 사소한 업그레이드입니다.

Azure Stack Hub 2302의 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 instance 제공한 경우 appservice_hosting 및 appservice_metering 데이터베이스를 가용성 그룹에 추가하고 데이터베이스를 동기화하여 데이터베이스 장애 조치(failover) 시 서비스 손실을 방지해야 합니다.

알려진 문제(업데이트)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

다음 단계