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

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

중요

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

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

빌드 참조

Azure Stack Hub 2020 Q2 빌드 번호의 App Service 87.0.2.10입니다.

사전 요구 사항

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

Azure Stack에서 Azure App Service 2020 Q2로 업그레이드하기 전에 다음을 수행합니다.

  • Azure Stack Hub 관리 Portal의 Azure App Service 관리에서 모든 역할이 준비되었는지 확인합니다.

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

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

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

    중요

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

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

업데이트

Azure Stack 업데이트 Q2의 Azure App Service 다음과 같은 개선 사항 및 수정 사항이 포함되어 있습니다.

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

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

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

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

    • ASP.NET Framework 4.7.2
    • ASP.NET Core 3.1.3
    • ASP.NET Core 모듈 v2 13.1.19331.0
    • PHP 7.4.2
    • Kudu가 86.20224.4450으로 업데이트됨
    • NodeJS
      • 8.17.0
      • 10.19.0
      • 12.13.0
      • 12.15.0
    • NPM
      • 5.6.0
      • 6.1.0
      • 6.12.0
      • 6.13.4
  • 모든 역할의 기본 운영 체제에 업데이트.

  • 이제 Windows Server용 누적 업데이트 배포 및 업그레이드의 일부로 컨트롤러 역할에 적용됩니다.

  • 새 배포에 대해 업데이트된 기본 Virtual Machine 및 확장 집합 sku: 퍼블릭 클라우드 서비스와 일관성을 유지하기 위해 Azure Stack Hub에서 Azure App Service 새 배포는 리소스 공급자를 운영하는 데 사용되는 기본 머신 및 확장 집합에 대해 다음 SKU를 사용합니다.

    역할 최소 SKU
    컨트롤러 Standard_A4_v2 - (코어 4개, 8192MB)
    관리 Standard_D3_v2 - (코어 4개, 14336MB)
    Publisher Standard_A2_v2 - (코어 2개, 4096MB)
    FrontEnd Standard_A4_v2 - (코어 4개, 8192MB)
    공유 작업자 Standard_A4_v2 - (코어 4개, 8192MB)
    소규모 전용 작업자 Standard_A1_v2 - (코어 1개, 2048MB)
    중간 전용 작업자 Standard_A2_v2 - (코어 2개, 4096MB)
    대규모 전용 작업자 Standard_A4_v2 - (코어 4개, 8192MB)

ASDK 배포의 경우 인스턴스를 낮은 SKU로 축소하여 코어 및 메모리 커밋을 줄일 수 있지만 성능이 저하됩니다.

이번 릴리스에서 수정된 문제

  • 이제 SQL Always On 클러스터가 보조 노드로 장애 조치(failover)된 경우 업그레이드가 완료됩니다.
  • Azure Stack Hub에서 Azure App Service 새 배포에서는 더 이상 데이터베이스를 포함된 데이터베이스로 수동으로 변환할 필요가 없습니다.
  • 추가 작업자 또는 인프라 역할 인스턴스를 추가하면 수동 개입 없이 올바르게 완료됩니다.
  • 사용자 지정 작업자 계층 추가는 수동 개입 없이 올바르게 완료됩니다.
  • 이제 포털 오류 없이 사용자 지정 작업자 계층 제거가 완료됨
  • 로컬 디스크의 공간이 부족하면 작업자가 더 이상 준비 상태로 표시되지 않습니다.
  • Azure Resource Manager 인증서 검색 시간 초과
  • 서버 로그에서 검색되고 관리 Portal에 표시되는 메시지 수는 최대 Azure Resource Manager 요청 크기 아래로 유지되도록 제한됩니다.
  • 사용량 서비스 시작 문제를 일으키는 시간 초과 문제
  • Orchard CMS 사이트를 만들 때 데이터베이스 배포 문제가 해결됨
  • 컨트롤러는 이제 배포 및 업그레이드의 일부로 Windows 누적 업데이트 업데이트됩니다.
  • App Service 사용자 지정 도메인 확인에 실패할 때 더 이상 작업을 잠그지 않습니다.

업데이트 전 단계

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

배포 후 단계

중요

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 Q2로 업그레이드하기 전에 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

알려진 문제(설치 후)

  • 작업자는 azure Stack 배포 설명서의 Azure App Service 설명서에 설명된 대로 App Service 기존 가상 네트워크에 배포되고 파일 서버를 프라이빗 네트워크에서만 사용할 수 있는 경우 파일 서버에 연결할 수 없습니다.

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

    • 원본: 모두
    • 원본 포트 범위: *
    • 대상: IP 주소
    • 대상 IP 주소 범위: 파일 서버의 IP 범위
    • 대상 포트 범위: 445
    • 프로토콜: TCP
    • 작업: 허용
    • 우선 순위: 700
    • 이름: Outbound_Allow_SMB445

Azure Stack에서 Azure App Service 운영하는 Cloud Admins의 알려진 문제

  • 테넌트 포털의 App Service 계획 보기에서 새로 만들기를 사용하여 App Service 계획을 만들 수 없는 테넌트

새 애플리케이션을 만들 때 테넌트는 앱 만들기 워크플로 중에 또는 현재 앱에 대한 App Service 계획을 변경하는 동안 또는 App Service 계획 마켓플레이스 항목을 통해 App Service 계획을 만들 수 있습니다.

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

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

  • 경우에 따라 작업자가 상태 검사를 충족하지 못합니다(디스크 공간 부족).

많은 수의 사이트가 작업자에 할당되거나 사이트에서 많은 수의 요청을 처리하는 경우 작업자는 C:\DWAS\LogFiles에서 많은 수의 런타임 로그 파일을 생성합니다. 이는 이러한 로그 파일에 대한 클린 논리의 버그 때문입니다.

이 문제를 완화하려면 개별 작업자에게 원격으로 이동하여 폴더의 내용을 지웁니다.

이 문제는 Azure Stack Hub 2020 Q3의 App Service 해결되었습니다. 고객은 가능한 한 빨리 2020 Q3 릴리스로 업그레이드하는 것이 좋습니다.

중요

Azure Stack Hub 2020 Q3에서 Azure App Service 업데이트하려면 Azure Stack Hub 2008로 업그레이드해야 합니다.

다음 단계