View a markdown version of this page

SQL Server 현대화 - AWS 변환

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

SQL Server 현대화

AWS SQL Server 현대화를 위한 변환은 Microsoft SQL Server 데이터베이스 및 관련 .NET 애플리케이션을 Amazon Aurora PostgreSQL로 전체 스택 현대화를 자동화하는 AI 기반 서비스입니다. 이 서비스는 스키마 변환, 데이터 마이그레이션, 새로운 대상 PostgreSQL과 일치하도록 애플리케이션 코드 수정 등 전체 마이그레이션 여정을 오케스트레이션하므로 복잡하고 노동 집약적인 작업을 자동화하여 팀의 생산성을 높일 수 있습니다.

지원되는 리전

AWS SQL Server용 변환은 미국 동부(버지니아 북부) - us-east-1에서 사용할 수 있습니다.

리전 간 사용: 지원되지 않는 리전의 데이터베이스의 경우 변환을 위해 데이터베이스를 지원되는 리전에 복제한 다음 결과를 대상 리전에 다시 배포할 수 있습니다.

기능 및 주요 기능

데이터베이스 변환

  • 스키마 변환: 테이블, 뷰, 인덱스, 제약 조건 및 관계를 포함하여 SQL Server 스키마를 Aurora PostgreSQL로 자동 변환합니다.

  • 저장 프로시저 변환: AI 향상된 정확도로 T-SQL 저장 프로시저를 PL/pgSQL로 변환합니다.

  • 데이터 마이그레이션: AWS Database Migration Service(DMS)를 사용하여 무결성 검증으로 데이터 마이그레이션

  • 데이터베이스 객체: 트리거, 함수, 뷰, 계산된 열 및 자격 증명 열 지원

  • 검증: 자동화된 데이터 무결성 확인 및 참조 무결성 검사

애플리케이션 변환

  • 개체 프레임워크 변환: PostgreSQL에 대한 개체 프레임워크 6.3-6.5 및 EF Core 1.0-8.0 구성을 업데이트합니다.

  • ADO.NET 변환: ADO.NET 데이터 액세스 코드를 SQL Server에서 PostgreSQL 공급자로 변환합니다.

  • 연결 문자열 업데이트: 모든 데이터베이스 연결 문자열을 새 대상 PostgreSQL 데이터베이스로 자동 업데이트

  • 데이터베이스 공급자 변경: SQL Server 공급자를 Npgsql(PostgreSQL 공급자)로 대체

  • ORM 구성 업데이트: 데이터 유형 매핑, 자격 증명 열 및 데이터베이스별 구성을 수정합니다.

오케스트레이션 및 검증

  • 웨이브 기반 현대화: 대규모 자산을 논리적 마이그레이션 단계로 구성

  • 종속성 매핑: 애플리케이션과 데이터베이스 간의 관계를 식별합니다.

  • Human-in-the-loop(HITL) 체크포인트: 중요한 단계에서 검토 및 승인 게이트를 제공합니다.

  • 자동 검증: 스키마 호환성, 데이터 무결성 및 애플리케이션 기능을 테스트합니다.

  • CI/CD 통합: 기존 개발 파이프라인과 통합

배포

  • Amazon ECS 및 Amazon EC2 배포: 자동 크기 조정을 지원하는 자동화된 컨테이너식 배포

  • Infrastructure-as-code 생성: CloudFormation 또는 AWS CDK 템플릿을 생성합니다.

  • 자동 배포 검증: 상태 확인을 통해 성공적인 배포 확인

  • 롤백 기능: 문제가 발생할 경우 롤백 절차를 지원합니다.

지원되는 버전 및 프로젝트 유형

SQL Server 버전

AWS 변환은 다음 SQL Server 버전을 지원합니다.

SQL Server 버전 지원 상태
SQL Server 2022 지원됨
SQL Server 2019 지원됨
SQL Server 2017 지원됨
SQL Server 2016 지원됨
SQL Server 2014 지원됨
SQL Server 2012 지원됨
SQL Server 2008 R2 지원됨
참고

모든 SQL Server 에디션이 지원됩니다(Express, Standard, Enterprise). SQL Server는 AWS (SQL Server용 Amazon RDS 또는 Amazon EC2의 SQL Server)에서 호스팅하거나 외부에서 호스팅할 수 있습니다 AWS.

.NET 버전

.NET 버전 지원 상태
.NET 10 지원됨
.NET 8 지원됨
.NET 7 지원됨
.NET 6(코어) 지원됨
.NET Framework 4.x 이하 지원되지 않음
중요

레거시 .NET Framework 4.x 및 이전 버전은 지원되지 않습니다. 애플리케이션이 .NET Framework를 사용하는 경우 SQL Server AWS 변환 기능을 사용하기 전에 먼저 Transform for .NET 현대화를 사용하여 .NET Core 6+로 업그레이드해야 합니다.

Entity Framework 버전

프레임워크 지원되는 버전
개체 프레임워크 6 6.3, 6.4, 6.5
개체 프레임워크 코어 1.0~8.0
ADO.NET 모든 버전(GA)

소스 코드 리포지토리

AWS 변환은 다음 소스 코드 플랫폼을 지원합니다.

  • GitHub 및 GitHub Enterprise Server

  • GitLab.com 및 GitLab 자체 관리형

  • Bitbucket Cloud 및 Bitbucket 데이터 센터

  • Azure DevOps 및 Azure DevOps Server

  • Amazon S3

대상 데이터베이스

AWS 최신 Aurora 기능 및 최적화를 지원하여 Amazon Aurora PostgreSQL(PostgreSQL 15+ 호환)을 대상으로 변환합니다.

기술 요구 사항

데이터베이스 요구 사항

  • Microsoft SQL Server 버전 2008 R2~2022

  • ( AWS Amazon RDS for SQL Server 또는 SQL Server on Amazon EC2)에서 호스팅되거나 외부에서 호스팅되는 SQL Server AWS

  • AWS호스팅된 데이터베이스의 경우 데이터베이스와 AWS 변환이 동일한 AWS 리전에 있어야 합니다.

  • 외부에서 호스팅되는 데이터베이스의 경우 AWS 변환 서비스에 대한 AWS네트워크 연결이 필요합니다.

  • VIEW DEFINITION 및 VIEW DATABASE STATE 권한이 있는 데이터베이스 사용자

  • 인쇄 가능한 ASCII 문자만 사용하는 데이터베이스 암호('/', '@', '"' 및 공백 제외)

  • 소스 SQL Server가 포함된 VPC에는 최소 2개의 서로 다른 가용 영역에 서브넷이 있어야 합니다(DMS 복제 서브넷 그룹에 필요).

애플리케이션 요구 사항

  • .NET Core 6, 7 또는 8 애플리케이션

  • Entity Framework 6.3-6.5 또는 Entity Framework Core 1.0-8.0 또는 ADO.NET

  • 소스 코드에서 데이터베이스 연결 검색 가능

  • 애플리케이션이 성공적으로 빌드되고 실행됨

  • 지원되는 리포지토리 플랫폼의 소스 코드

AWS 계정 요구 사항

  • AWS 관리자 액세스 권한이 있는 계정

  • IAM Identity Center 활성화

  • 생성된 필수 서비스 역할(아래 설정 지침 참조)

  • 적절한 네트워크 구성이 있는 VPC

데이터 처리 및 스토리지

처리 위치

  • 스키마 처리는 VPC 내의 DMS 인스턴스에서 발생합니다.

  • 데이터 마이그레이션은 선택 사항이며 필요한 경우 제외할 수 있습니다.

  • 변환 아티팩트는 AWS 변환 서비스 리전에 저장됩니다.

저장된 아티팩트

다음 항목은 서비스 리전에 저장됩니다.

  • 에이전트 로그

  • 평가 결과

  • SQL 스키마 파일

  • DMS 출력 아티팩트

중요

데이터 레지던시에 중요: 데이터 마이그레이션을 옵트아웃하더라도 메타데이터 및 처리 아티팩트는 서비스 리전에 저장됩니다. 이는 데이터 레지던시 요구 사항이 엄격한 조직에 중요합니다.

아티팩트 관리

  • 자체 KMS 키를 사용한 암호화를 위한 고객 옵션

  • 모든 아티팩트에 대해 정의된 TTL(time-to-live) 기간

  • 오프라인 스토리지를 위해 아티팩트를 다운로드할 수 있습니다.

애플리케이션 요구 사항

레거시 .NET Framework

  • 제한 사항: .NET Framework 4.x 및 이전 버전은 지원되지 않습니다.

  • 해결 방법: .NET용 AWS 변환을 사용하여 먼저 .NET Core 6 이상으로 업그레이드한 다음 SQL Server 변환을 사용합니다.

Entity Framework 버전

  • 제한: Entity Framework 6.3-6.5 및 EF Core 1.0-8.0만 지원됩니다.

  • 해결 방법: 변환 전에 지원되는 Entity Framework 버전으로 업그레이드합니다.

VB.NET 애플리케이션

  • 제한: VB.NET 지원되지 않습니다.

  • 해결 방법: C#로 변환하거나 사용자 지정 AWS 변환을 사용하여 VB.NET C#으로 변환합니다.

데이터베이스 간 종속성

  • 제한: 데이터베이스 스키마가 여러 데이터베이스 간에 상호 작용할 때 발생하는 문제입니다.

  • 해결 방법: 마이그레이션 전에 데이터베이스 간 쿼리를 검토하고 리팩터링합니다. 데이터베이스를 통합하거나 PostgreSQL 스키마를 사용하는 것이 좋습니다.

  • 영향: 복잡한 데이터베이스 간 시나리오에 대해 사람의 개입이 필요할 수 있습니다.

리포지토리-데이터베이스 결합

  • 제한: 단일 리포지토리가 여러 데이터베이스를 제공할 때 발생하는 문제입니다.

  • 해결 방법: 리포지토리 재구성 또는 단계별 마이그레이션 접근 방식을 고려합니다.

  • 영향: 웨이브 기반 마이그레이션을 위한 추가 계획이 필요할 수 있습니다.

인프라 요구 사항

작업당 단일 계정/리전

  • 제한: 각 변환 작업은 하나의 AWS 계정과 리전을 대상으로 합니다.

  • 해결 방법: 다중 계정 또는 다중 리전 배포를 위한 여러 변환 작업을 생성합니다.

배포 대상

  • 제한: Amazon ECS 및 Amazon EC2 배포가 지원됩니다.

리포지토리 요구 사항

프라이빗 NuGet 패키지

  • 제한 사항: 프라이빗 NuGet 패키지에는 추가 구성이 필요합니다.

  • 해결 방법: 작업을 시작하기 전에 변환 설정에서 프라이빗 NuGet 피드를 구성합니다.