Azure Stack Hub 24R1의 App Service 릴리스 정보
이러한 릴리스 정보는 Azure Stack Hub 24R1 릴리스 정보 및 알려진 문제에 대한 Azure App Service의 개선 사항 및 수정 사항을 설명합니다. 알려진 문제는 배포와 직접 관련된 문제, 업데이트 프로세스와 관련된 문제 및 설치 후 빌드와 관련된 문제로 나뉩니다.
중요하다
필요한 경우 App Service RP(리소스 공급자)를 배포하거나 업데이트하기 전에 Azure Stack Hub를 지원되는 버전으로 업데이트하거나 최신 Azure Stack 개발 키트를 배포합니다. 배포에 영향을 줄 수 있는 새로운 기능, 수정 사항 및 알려진 문제에 대해 알아보려면 RP 릴리스 정보를 읽어야 합니다.
지원되는 최소 Azure Stack Hub 버전 App Service RP 버전 2311 이상 24R1 Installer(릴리스 정보)
빌드 참조
Azure Stack Hub 24R1의 App Service 빌드 번호는 102.0.2.5입니다.
뭐가 새로워요?
Azure Stack Hub 24 R1의 Azure App Service는 Azure Stack Hub에 새로운 업데이트를 제공합니다.
- Kestrel 및 YARP(또 다른 역방향 프록시) 이제 퍼블릭 클라우드에 대한 투자에 맞춰 Azure Stack Hub 프런트 엔드에서 App Service를 구동합니다. 이것의 의미와 퍼블릭 클라우드 서비스에 미친 영향에 대한 더 자세한 내용은 App Service 팀 블로그 - "대규모 작업: Kestrel + YARP를 Azure App Services로 가져오기"을 읽어보세요.
- 많은 애플리케이션 스택을 업데이트하여 .NET, Java, Tomcat 등의 최신 LTS(장기 지원) 릴리스를 제공합니다.
- 테넌트는 상태 검사 기능 사용하여 인스턴스 상태를 모니터링할 수 있습니다.
필수 구성 요소
배포를 시작하기 전에 시작하기 전에
Azure Stack에서 Azure App Service를 24R1로 업그레이드하기 전에 다음을 수행합니다.
Azure Stack Hub이 1.2311.1.22 이상으로 업데이트되었는지 확인하십시오.
Azure Stack Hub 관리 포털의 Azure App Service 관리에서 모든 역할이 준비되었는지 확인합니다.
Azure Stack Hub 관리자 포털에서 App Service 관리 기능을 사용하여 App Service 비밀을 백업합니다.
App Service 및 SQL Server 마스터 데이터베이스를 백업합니다.
- AppService_Hosting;
- AppService_Metering (앱 서비스 계측)
- 주
테넌트 앱 콘텐츠 파일 공유를 백업합니다.
중요하다
클라우드 운영자는 파일 서버 및 SQL Server의 유지 관리 및 작업을 담당합니다. 리소스 공급자는 이러한 리소스를 관리하지 않습니다. 클라우드 운영자는 App Service 데이터베이스 및 테넌트 콘텐츠 파일 공유를 백업해야 합니다.
Marketplace에서 사용자 지정 스크립트 확장 버전 1.9.3을 배포합니다.
업데이트
Azure Stack 업데이트 24R1의 Azure App Service에는 다음과 같은 개선 사항 및 수정 사항이 포함되어 있습니다.
App Service 임대자, 관리자, 함수 포털 및 Kudu 도구업데이트 사항. Azure Stack Portal SDK 버전과 일치합니다.
Azure Functions 런타임을 v1.0.21719 으로 업데이트합니다.
안정성 및 오류 메시징을 개선하여 일반적인 문제를 보다 쉽게 진단할 수 있도록 핵심 서비스를 업데이트합니다.
다음 애플리케이션 프레임워크 및 도구의업데이트:
.NET Framework 4.8.1
ASP.NET Core
- 8.0.7
- 8.0.8
- 6.0.29
Eclipse Temurin OpenJDK 8
- 8u302
- 8u312
- 8u322
- 8u332
- 8u345
- 8u362
- 8u392
- 8u412
- 8u422
Microsoft OpenJDK 11
- 11.0.12.7.1
- 11.0.13.8
- 11.0.14.1
- 11.0.15.10
- 11.0.16.1
- 11.0.18.10
- 11.0.21.9
- 11.0.23.9
- 11.0.24.8
Microsoft OpenJDK 17
- 17.0.11.9
- 17.0.1.12
- 17.0.2.8
- 17.0.3.7
- 17.0.4.1
- 17.0.6.1
- 17.0.9.8
- 17.0.12.7
Microsoft OpenJDK 21
- 21.0.1.12
- 21.0.3.9
- 21.0.4.7
MSBuild
- 15.9.21.664
- 16.4.0
- 16.7.0
- 16.11.2
- 17.11.2
MSDeploy
- 3.5.120530.385
- 2.5.1270717.34
NodeJS
- 10.24.1
- 12.22.12
- 14.20.0
- 16.16.0
- 18.12.1
- 18.19.1
- 20.9.0
npm
- 6.4.1
- 6.13.4
- 6.14.11
- 6.14.12
- 6.14.15
- 6.14.16
- 6.14.17
- 7.21.1
- 8.1.0
- 8.19.2
- 10.1.0
- 10.2.4
수고양이
- 8.5.20
- 8.5.57
- 8.5.58
- 8.5.79
- 8.5.82
- 8.5.85
- 8.5.96
- 8.5.100
- 9.0.0
- 9.0.27
- 9.0.31
- 9.0.37
- 9.0.63
- 9.0.65
- 9.0.71
- 9.0.83
- 9.0.91
- 9.0.96
- 10.0.21
- 10.0.23
- 10.0.27
- 10.1.5
- 10.1.16
- 10.1.25
- 10.1.31
- 11.0.0
Git 2.43.0
Kudu가 102.10502.001로 업데이트되었습니다.
지속적인 접근성 및 유용성 업데이트
모든 역할의 기본 운영 체제에 대한업데이트:
이제 배포 및 업그레이드일부로 Windows Server용
누적 업데이트가 컨트롤러 역할에 적용됩니다. Cipher Suites의 동기화 상태를 유지하고, 고객의 개입과 지원의 결과로 수행된 모든 수정 사항을 보존합니다.
이 릴리스에서 해결된 문제
일부 고객은 App Service 호스팅 테이블 잠금과 관련된 데이터베이스 성능 문제를 경험했습니다. 성능 향상이 이 릴리스에 포함되어 있습니다.
사용 기록 서비스의 소유권을 개선하여 여러 역할과 많은 작업자를 다룰 때 서비스를 강화하다.
Windows Server 2022에 Windows Server 2016 업데이트를 지속적으로 적용하려고 시도하여 Windows 업데이트가 중단되고 그 반대의 경우도 마찬가지입니다.
Windows 업데이트 KB5034439가 완료되지 않고 역할이 준비 상태로 전환되지 않는 문제가 해결되었습니다.
설치 관리자 오류는 고객이 최신 버전의 사용자 지정 스크립트 확장을 사용할 때 해결됩니다.
App Service 역할의 추적 메시지를 검토하고 트리밍하여 제공된 정보의 품질을 개선하고 데이터베이스에 대한 부담을 줄였습니다.
중앙 집중식 SSL 인증서 지원 기능은 배포의 일부로 프런트 엔드에 설치되며 테넌트는 운영자 개입 없이 인증서를 바인딩할 수 있습니다.
이제 포털에서 가상 네트워크 통합 옵션을 기본적으로 사용할 수 없습니다.
애플리케이션 로깅을 위해 Blob Storage를 사용하도록 설정하는 해결된 문제
시간 제한을 방지하기 위해 슬롯을 교환할 때의 스왑 환경 개선
수행 중인 작업에 대해 더 명시적으로 자격 증명 회전에 대한 선택 항목에서 관리 서버에서 관리/컨트롤러 역할로 설명 변경
업데이트 전 단계
- Azure Stack Hub 2022 H1 업데이트의 Azure App Service를 기준으로 문자 K는 이제 예약된 SKU 문자입니다. 문자 K를 사용하여 정의된 사용자 지정 SKU가 있는 경우 업그레이드하기 전에 이 상황을 해결하는 데 도움을 주기 위해 지원에 문의하세요.
업데이트에 대한
배포 후 단계
중요하다
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으로 업그레이드하기 전에, appservice_hosting 및 appservice_metering를 호스팅하는 SQL Server에서 다음 스크립트를 실행해야 합니다. 이 스크립트는 비 파괴적이며 가동 중지 시간발생하지 않습니다.
이 스크립트는 다음 조건에서 실행해야 합니다.
시스템 관리자 권한이 있는 사용자에 의해(예: SQL SA; 시스템 관리자 계정)
SQL Always On을 사용하는 경우 양식의 모든 App Service 로그인이 포함된 SQL 인스턴스에서 스크립트를 실행해야 합니다.
- appservice_hosting_FileServer
- appservice_hosting_HostingAdmin
- appservice_hosting_LoadBalancer
- 앱서비스_호스팅_작업
- appservice_hosting_Publisher
- appservice_hosting_SecurePublisher
- appservice_hosting_WebWorkerManager
- 앱서비스_계량_일반
- appservice_metering_Operations
- 모든 WebWorker 로그인은 WebWorker_<인스턴스 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
알려진 문제(설치 후)
App Service가 기존 가상 네트워크에 배포되고 Azure Stack 배포 설명서의 Azure App Service에서 설명한 대로 파일 서버는 프라이빗 네트워크에서만 사용할 수 있는 경우 작업자가 파일 서버에 연결할 수 없습니다.
기존 가상 네트워크 및 내부 IP 주소에 배포하여 파일 서버에 연결하도록 선택한 경우 아웃바운드 보안 규칙을 추가하여 작업자 서브넷과 파일 서버 간에 SMB(서버 메시지 블록) 트래픽을 사용하도록 설정해야 합니다. 관리 포털에서 WorkerNsg로 이동하여 다음 속성을 사용하여 아웃바운드 보안 규칙을 추가합니다.
- 원본: Any
- 원본 포트 범위: *
- 대상: IP 주소
- 대상 IP 주소 범위: 파일 서버의 IP 범위
- 대상 포트 범위: 445
- 프로토콜: TCP
- 작업: 허용
- 우선 순위: 700
- 이름: Outbound_Allow_SMB445
작업자가 파일 서버와 통신할 때 대기 시간을 제거하려면 Active Directory를 사용하여 파일 서버를 보호하는 경우 아웃바운드 LDAP(경량 디렉터리 액세스 프로토콜) 및 Kerberos 트래픽을 Active Directory 컨트롤러에 허용하도록 작업자 NSG(네트워크 보안 그룹)에 다음 규칙을 추가하는 것이 좋습니다. 예를 들어 빠른 시작 템플릿을 사용하여 HA 파일 서버 및 SQL Server를 배포한 경우입니다.
관리 포털에서 WorkerNsg로 이동하여 다음 속성을 사용하여 아웃바운드 보안 규칙을 추가합니다.
- 원본: Any
- 원본 포트 범위: *
- 목적지: IP 주소
- 대상 IP 주소 범위: AD 서버의 IP 범위(예: 빠른 시작 템플릿 10.0.0.100, 10.0.0.101 사용)
- 대상 포트 범위: 389, 88
- 프로토콜: 임의
- 작업: 허용
- 우선 순위: 710
- 이름: 도메인 컨트롤러에 대한 바깥으로의 LDAP 및 Kerberos 허용
Azure Stack에서 Azure App Service를 운영하는 클라우드 관리자의 알려진 문제
연결이 끊긴 환경에서는 사용자 지정 도메인이 지원되지 않습니다.
App Service는 공용 DNS(도메인 이름 시스템) 엔드포인트에 대해 도메인 소유권 확인을 수행합니다. 따라서 연결이 끊긴 시나리오에서는 사용자 지정 도메인이 지원되지 않습니다.
웹 및 함수 앱에 대한 Virtual Network 통합은 지원되지 않습니다.
웹 및 함수 앱에 가상 네트워크 통합을 추가하는 기능은 Azure Stack Hub 포털에 표시되며 테넌트가 구성을 시도하면 내부 서버 오류가 발생합니다. 이 기능은 Azure Stack Hub의 Azure App Service에서 지원되지 않습니다.
다음 단계
- Azure App Service에 대한 개요는 Azure Stack의 Azure App Service 개요
참조하세요. - Azure Stack에서 App Service 배포를 준비하는 방법에 대한 자세한 내용은 azure StackApp Service를 시작하기 전에
참조하세요.