Azure Stack Hub 업데이트 5 릴리스 정보에서 App Service

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

중요

Azure App Service 1.5를 배포하기 전에 Azure Stack Hub 통합 시스템에 1901 업데이트를 적용하거나 최신 ASDK(Azure Stack Development Kit)를 배포합니다.

빌드 참조

Azure Stack Hub 업데이트 5 빌드 번호의 App Service 80.0.2.15입니다.

사전 요구 사항

배포를 시작하기 전에 Azure Stack Hub에 App Service 배포하기 위한 필수 조건을 참조하세요.

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

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

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

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

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

    중요

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

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

새로운 기능 및 수정 사항

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

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

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

  • 연결이 끊긴 Azure Stack Hub를 운영하는 고객을 위해 스타일 지정 및 기능 문제를 resolve Kudu 도구에 업데이트.

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

  • 다음 앱 프레임워크 및 도구에 업데이트.

    • ASP.NET Core 2.1.6 및 2.2.0이 추가됨
    • NodeJS 10.14.1이 추가됨
    • NPM 6.4.1이 추가됨
    • Kudu가 79.20129.3767로 업데이트됨
  • 모든 역할의 기본 운영 체제에 업데이트.

배포 후 단계

중요

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

업데이트 후 단계

Azure Stack Hub 배포에서 기존 Azure App Service 위해 포함된 데이터베이스로 마이그레이션하려는 고객의 경우 Azure Stack Hub 1.5 업데이트의 Azure App Service 완료된 후 다음 단계를 실행합니다.

중요

마이그레이션 절차는 약 5~10분이 걸립니다. 이 절차에는 기존 데이터베이스 로그인 세션을 종료하는 작업이 포함됩니다. 마이그레이션 후 Azure Stack Hub에서 Azure App Service 마이그레이션하고 유효성을 검사하는 가동 중지 시간을 계획합니다. Azure Stack Hub 1.3에서 Azure App Service 업데이트한 후 이러한 단계를 완료한 경우 이러한 단계는 필요하지 않습니다.

  1. 가용성 그룹에 AppService 데이터베이스(appservice_hosting 및 appservice_metering)를 추가합니다.

  2. 포함된 데이터베이스를 사용하도록 설정합니다.

    
        sp_configure 'contained database authentication', 1;
        GO
        RECONFIGURE;
            GO
    
  3. 데이터베이스를 부분적으로 포함된 것으로 변환하면 모든 활성 세션을 종료해야 하므로 변환에 가동 중지 시간이 발생합니다.

        /******** [appservice_metering] Migration Start********/
            USE [master];
    
            -- kill all active sessions
            DECLARE @kill varchar(8000) = '';  
            SELECT @kill = @kill + 'kill ' + CONVERT(varchar(5), session_id) + ';'  
            FROM sys.dm_exec_sessions
            WHERE database_id  = db_id('appservice_metering')
    
            EXEC(@kill);
    
            USE [master]  
            GO  
            ALTER DATABASE [appservice_metering] SET CONTAINMENT = PARTIAL  
            GO  
    
        /********[appservice_metering] Migration End********/
    
        /********[appservice_hosting] Migration Start********/
    
            -- kill all active sessions
            USE [master];
    
            DECLARE @kill varchar(8000) = '';  
            SELECT @kill = @kill + 'kill ' + CONVERT(varchar(5), session_id) + ';'  
            FROM sys.dm_exec_sessions
            WHERE database_id  = db_id('appservice_hosting')
    
            EXEC(@kill);
    
            -- Convert database to contained
            USE [master]  
            GO  
            ALTER DATABASE [appservice_hosting] SET CONTAINMENT = PARTIAL  
            GO  
    
            /********[appservice_hosting] Migration End********/
    
  4. 포함된 데이터베이스 사용자로 로그인을 마이그레이션합니다.

        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
    

유효성 검사

  1. SQL Server 포함이 사용하도록 설정되어 있는지 확인합니다.

        sp_configure  @configname='contained database authentication'
    
  2. 포함된 기존 동작을 확인합니다.

        SELECT containment FROM sys.databases WHERE NAME LIKE (SELECT DB_NAME())
    

알려진 문제(설치 후)

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

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

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

Azure Stack Hub에서 Azure App Service 운영하는 클라우드 관리자의 알려진 문제

Azure Stack Hub 1809 릴리스 정보에서 설명서를 참조하세요.

다음 단계