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

이러한 릴리스 정보는 Azure Stack Hub 2021 Q3의 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 2021 Q3 빌드 번호의 App Service 95.1.1.539입니다.

사전 요구 사항

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

Azure Stack에서 Azure App Service 2021년 3분기로 업그레이드를 시작하기 전에:

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

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

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

  • App Service 백업하고 master 데이터베이스를 SQL Server.

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

    중요

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

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

업데이트

Azure Stack Update 2021 Q3의 Azure App Service 다음과 같은 개선 사항 및 수정 사항이 포함되어 있습니다.

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

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

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

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

    • ASP.NET Core
      • 3.1.16
      • 5.0.7
      • 6.0.0
    • Azul OpenJDK
      • 8.52.0.23
      • 11.44.13
    • Git 2.33.1.1
    • MSBuild 16.8.3
    • MSDeploy 3.5.100419.17
    • NodeJS
      • 10.15.2
      • 10.16.3
      • 10.19.0
      • 12.21.0
      • 14.15.1
      • 14.16.0
    • NPM
      • 6.14.11
    • PHP
      • 7.2.34
      • 7.3.27
      • 7.4.15
    • Tomcat
      • 8.5.58
      • 9.0.38
    • Wordpress 4.9.18
    • Kudu가 94.30524.5227로 업데이트됨
  • 모든 역할의 기본 운영 체제로 업데이트.

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

  • Azure 서비스와의 일관성을 유지하기 위해 TLS 암호화 도구 모음이 업데이트되었습니다.

  • 2020-09-01-hybrid 프로필에 대한 지원이 추가됨

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

  • 이제 FIPS-Compliant 클라이언트 컴퓨터에서 설치 관리자를 실행할 때 App Service 배포할 수 있습니다.

  • App Service 비밀 회전 프로시저를 완료하기 전에 App Service 역할 상태를 자동으로 확인합니다. 모든 역할이 준비 상태가 아닌 경우 비밀 회전이 차단됩니다.

  • 이제 사이트의 아웃바운드 IP 주소가 테넌트 포털 내의 속성 및 사용자 지정 도메인 블레이드에 표시됩니다.

  • Custom Domain 확인 실패 이벤트에 대한 추가 세부 정보 포함

  • 고객은 테넌트 포털에서 프라이빗 인증서를 성공적으로 업로드하고 삭제할 수 있습니다.

  • Functions 크기 조정 구성 요소의 종속성이 누락되어 FrontEnd 역할 인스턴스가 자동 복구 루프에 남아 있을 수 있는 문제가 해결되었습니다.

  • Azure AD 엔드포인트의 변경으로 인해 SCM 사이트에 대한 Single Sign On 오류 해결

  • azure 구현과 일치하도록 Front-End 역할 및 관리 역할에 대한 부하 분산 장치 상태 프로브가 업데이트되었습니다. 준비 상태가 아닌 경우 트래픽이 Front-End 역할 instance 도달하지 못하도록 차단되었습니다.

  • Azure와 사이트별 임시 디렉터리 할당량 크기 조정, 전용 작업자 제한은 10GB, 공유 작업자는 500MB

  • 생성된 http 로그가 작업자에서 사용 가능한 공간을 초과하는 경우 작업자가 복구 루프를 입력하지 못하도록 로그 Scavenger 루틴에 알고리즘이 추가되었습니다.

업데이트 전 단계

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

배포 후 단계

중요

App Service 리소스 공급자에 SQL Always On 인스턴스를 제공한 경우 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

알려진 문제(설치 후)

  • 작업자는 azure Stack 배포 설명서의 Azure App 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

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

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

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

다음 단계