Azure Stack Hub 업데이트 3 릴리스 정보에 대한 App Service

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

중요

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

빌드 참조

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

사전 요구 사항

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

Azure Stack Hub에서 Azure App Service 1.3으로 업그레이드하기 전에 Azure Stack Hub 관리자 포털의 Azure App Service 관리에서 모든 역할이 준비되었는지 확인합니다.

App Service 역할 상태

새로운 기능 및 수정 사항

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

  • Azure App Service 리소스 공급자 데이터베이스에 대한 SQL Server Always On 사용을 지원합니다.

  • 다른 Azure AD 지역을 대상으로 지정하는 데 도움이 되도록 Create-AADIdentityApp 도우미 스크립트에 새 환경 매개 변수가 추가되었습니다.

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

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

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

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

    • ASP.NET Core 2.1.2가 추가됨
    • NodeJS 10.0.0이 추가됨
    • Zulu OpenJDK 8.30.0.1이 추가됨
    • Tomcat 8.5.31 및 9.0.8이 추가됨
    • PHP 버전이 추가됨:
      • 5.6.36
      • 7.0.30
      • 7.1.17
      • 7.2.5
    • Wincache 2.0.0.8이 추가됨
    • Windows용 Git이 v 2.17.1.2로 업데이트됨
    • Kudu가 74.10611.3437로 업데이트됨
  • 모든 역할의 기본 운영 체제에 업데이트.

업데이트 후 단계(선택 사항)

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

중요

이 절차는 약 5-10분이 걸립니다. 이 절차에는 기존 데이터베이스 로그인 세션이 종료됩니다. 마이그레이션 후 Azure Stack Hub에서 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. 포함된 데이터베이스 사용자로 로그인을 마이그레이션합니다.

        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 1807 릴리스 정보에서 설명서를 참조하세요.

다음 단계