brunch

36탄-3. SQL Server를 AWS로 마이그레이션

by Master Seo

<1> SQL Server를 AWS로 마이그레이션 하기 전에 고려해야 할 것

<2> AWS로 마이그레이션 할 때 선택 할 수 있는 방안

<3> 데이터베이스 마이그레이션 방법

<4> 마이그레이션 후 고려 할 것들

<5> 호환 Postgre SSQL로 전환하는 방식



<1> SQL Server를 AWS로 마이그레이션 하기 전에 고려해야 할 것


1

마이그레이션 대상 파악?

어느 버전인가? EOS 된 버전? 업그레이드 계획은 있는가?

라이선스 상황은?

원본 인프라 구성은? 물리, 가상화, 고가용성

자원을 어느 정도 쓰고 있나? 실제 사용률 기반 사이징

다른 데이터 서비스로의 전환도 검토 중인가?


2

SQL 서버 기능 비교.

지금 어떤 기능을 쓰는가?

기능을 계속 써야 하는 것인가?

자원의 크기와 지원하는 기능 리뷰 필요.

Read replica 기능으로 엔터프라이즈를 써야 하나?


기능

https://learn.microsoft.com/ko-kr/sql/sql-server/editions-and-components-of-sql-server-2022?view=sql-server-ver16


3

라이선스?

AWS 라이선스 쓸 것인가?

본인 소유 라이선스 쓸 것인가? (BYOL)

Software Assurance 유 - EC2 기본 인스턴스 사용가능

Software Assurance 무 - 2019년 10월 1일 이전 구매 = EC2 Dedicated Host에서 사용가능

Aws의 영업 대표와 확인 필요



<2> AWS로 마이그레이션 할 때 선택 할 수 있는 방안


40 sql.png

1

Rehost?

SQL SERVER on Amazon EC2


2

Replcatform?

RDS for SQL SERVER


3

REFACTOR?

오로라, 다이나모 디비등으로 변경


4

SQL 서버를 변경하지 않고 이전하는 방법은?

SQL SERVER on Amazon EC2

RDS Custom for SQL SERVER

RDS for SQL SERVER


5

RDS for SQL SERVER는 RDS라 제약이 있다.

관리형 서비스, 아마존에서 서버 관리한다.

OS접근이 안된다,

서드 파트 제품을 설치 못한다.


6

RDS Custom for SQL SERVER는 RDS for SQL SERVER의 일부 제약을 해결함.

라이선스도 가지고 있는 라이선스 사용가능

BYOM으로 서비스 가능. 골든이미지로 사용하는 방법이다.


7

SQL SERVER on Amazon EC2 사용 시는 고가용성을 직접 구성해야 함.

고가용성 제공함.

기존에 MSCS 구성임.

AWS에서는 SAN 대신 FSX 사용. 또는 서드파티 사용도 가능.


8

비용 최적화 고려 사항

작은 인스턴스 통합?

엔터프라이즈 필요 사항인지 확인 필수

개발이라면 Developer Edition 이용.

워크로드에 맞는 인스턴스 크기, 스토리지 사용 선택




<3> 데이터베이스 마이그레이션 방법



데이터 베이스 기능으로 사용하는 방법들



1

Detach & Attach Database -> EC2

모든 에디션에서 가능

단순

분리 연결 후 새로 연결하는 방식.

작은 사이즈가 많거나 대규모 데이터

스노볼도 가능



2

데이터베이스 Export/Import Data -> EC2 , RDS

모든 에디션에서 가능

단순

SQL 서버 내보내기 기능으로 이전하는 방법



3

백업과 리스토어 (Log Shipping) -> EC2 , RDS

최초 한번 백업

이후 로그 백업

단순 + 일부 복잡



4

Transcationl Replication -> EC2, RDS

적용 가능 에디션이 따로 있다.

작업 복잡



5

DMS를 이용한 지속적인 복제(CDC)를 위한 조건

기존키 존재하는 경우, 존재하지 않는 경우 다르다.




<4> 마이그레이션 후 고려 할 것들



1

운영 최적화, 모니터링 필수

비용 및 아키텍처 최적화 필수



2

SQL Server 모니터링 툴?

Cloudwatch Metrics / Endhanced Monitoring

Cloudwatch Logs

Performanced Monitoring

SQL Server native tools : DMVs , Profiler 등

서드파트 모니터링 툴 : Red Gate 등




<5> 호환 Postgre SSQL로 전환하는 방식


1

하나의 데이터베이스 엔진(Aurora)에서 PostgreSQL 방식으로도 SQL Server 방식으로도 이용가능


2

빠르게 전환 가능한 Babelfish 기능 제공.

Babelfish 호환성 평가툴

무료

https://github.com/babelfish-for-postgresql/babelfish_compass

Babelfish compass

현재 쿼리가 어느 정도 그래도 이용할 수 있는지 확인하는 툴이다.


3

SQL Server 전문 기능을 이용하지 않는다면 오픈소스 데이터베이스로 전환을 검토 가능하다.

SQL 라이선스 고려하지 않아도 된다.



다음 자료

https://brunch.co.kr/@topasvga/3423




감사합니다.

keyword
매거진의 이전글36탄-2. Ktown4u , 오로라 DB커스텀