AWS Datasync를 이용한 데이터 마이그레이션

안녕하세요. 오늘은 베스핀글로벌 D&A실 추영미님이 작성해 주신 AWS Datasync(데이터 전송 서비스)를 이용한 데이터 마이그레이션에 대해 알아보겠습니다. 궁금한 부분은 댓글을 달아주세요 🙂

1. AWS DataSync 이점 및 사용 사례

1-1. AWS DataSync 이점

  • 데이터 이동 간소화 및 자동화

네트워크를 통해 온프레미스 스토리지와 AWS 스토리지 서비스 간 및 AWS 스토리지 서비스 간에 데이터를 쉽게 전송

  • 안전하게 데이터 전송

데이터를 손상 없이 안전하게 전송하여 즉시 사용할 수 있도록 암호화 및 무결성 검증을 포함한 엔드 투 엔드 보안을 제공

  • 데이터 이동

  네트워크를 통해 AWS 로 데이터를 빠르게 전송

  • 운영 비용 절감

  스크립트 개발 및 배포 및 유지 관리 비용을 절감

1-2. AWS DataSync 사용 사례

  • 데이터 마이그레이션

  네트워크를 통해 활성 데이터 세트를 Amazon S3, Amazon EFS 또는 Amazon FSx for Windows File Server 로 신속하게 이  동. DataSync 는 데이터를 손상 없이 안전하게 전송하여 즉시 사용할 수 있도록 자동 암호화 및 데이터 무결성 검증을 포함

  • 콜드 데이터 아카이빙

  온프레미스 콜드 데이터를 S3 Glacier 또는 S3 Glacier Deep Archive와 같은 장기 스토리지로 이동

  • 데이터 보호

  Amazon S3 스토리지 클래스로 데이터를 이동하여 경제적인 스토리지 클래스를 선택하여 이용

  • 적시에 클라우드 내 처리를 위한 데이터 이동

  데이터 처리를 위해 AWS 내부 또는 외부로 데이터를 이동하여 하이브리드 클라우드 워크플로우를 가속화

2. DataSync 아키텍처

2-1. DataSync 아키텍처 – 온프레미스

2-2. DataSync 아키텍처 – AWS

3. DataSync로 데이터 이전 예제 – S3 to EFS

3-1. DataSync Agent EC2 생성

Console > EC2 > Launch Instance

1. CLI 를 이용하여 DataSync AMI ID 확인

– Region 별로 ID가 다르므로 Region을 확인 후 검색 한다.

– CLI 또는 Public image에서 “aws-datasync” 검색하여 최신 버전을 사용한다.

2. DataSync EC2 생성시 Public IP 할당

– 에이전트 활성화를 위해  인증이 필요하며, Public 으로 생성하거나 VPC Endpoint 를 생성하여 Private로 통신 할 수 있다.

3. SG 및 Role 할당

– Agent 에서 원본/대상 Locations에 접근이 가능하도록 SG 오픈 및 IAM 역할을 할당한다.

3-2. DataSync Agent 활성화

Console > DataSync > Agents > Create agent

1. DataSync 콘솔에서 Agents 생성

– 서비스 EndPoint는 Public 으로 생성

2. Agent Address 에 할당한 Public IP 입력

– 생성한 DataSync EC2 Security Group에 80 Port가 오픈 되어 있어야 한다.

3-3. Source Locations 생성

Console > DataSync > Locations > Create locations

1. 데이터 원본 Locations 생성

– Source S3 Bucket 을 입력한다.

2. Datasync Iam Role 생성

– 자동으로 생성하면 해당 Bucket의 Read/Write 권한을 갖는 역할이 생성된다.

3-4. Destination Location 생성

Console > DataSync > Locations > Create location

1. Destination Locations 생성

– Location Type은 NFS를 선택한다.

– 목적지 EFS 정보를 입력한다.

2. 생성한 Agents 선택

– 이전에 생성한 에이전트들이 목록에 나타난다.

3-5. DataSync Task 생성 – Configure source location

Console > DataSync > Tasks > Create Task

Source Location 선택

  • Locations 에서 생성한 Source location을 선택한다.

3-6. DataSync Task 생성 – Configure destination location

Console > DataSync > Tasks > Create Task

Destination Location 선택

  • Locations 에서 생성한 destination location을 선택한다.

3-7. DataSync Task 생성 – Configure settings

Console > DataSync > Tasks > Create Task

데이터 검증 옵션

전송된 데이터만 확인 (권장) — 소스에서 전송되는 파일 및 메타데이터의 체크섬을 계산한 다음, 전송이 끝날 때 대상에서 해당 파일에 대해 계산된 체크섬을 비교합니다.

대상에 있는 모든 데이터 확인 – 전송 종료 시 전체 소스와 전체 대상에 대한 검사를 수행하여 소스와 대상이 완전히 동기화되었는지 확인한다.

전송 중 무결성 확인 – 전송이 끝날 때 추가 확인을 실행하지 않습니다. 하지만 전송 중 체크섬 확인을 통해 모든 데이터 전송에 대한 무결성 검사를 수행합니다.

3-8. DataSync Task 생성 – Configure settings

Console > DataSync > Tasks > Create Task

1. 데이터 필터링 옵션

– 소스 위치에서 대상 위치로 데이터를 전송할 때 필터를 적용하여 소스 위치에 있는 파일의 하위 집합만 전송할 수 있다.

2. 작업 스케줄 구성

– 특정 시간에 실행되도록 DataSync 작업을 예약할 수 있습니다.

– 최소 1시간 간격으로 Cron 표현식을 기반으로 구성할 수 있습니다.

3-9. Task Start

Console > DataSync > Tasks > Start

작업 시작

  • Default 옵션 또는 overriding 옵션으로 작업을 시작할 수 있다.

3-10. Task 확인

Console > DataSync > Tasks

작업 상태 확인

  • 설정이 완료된 경우 정상적으로 작업 완료를 확인할 수 있다.

3-11. EFS to S3 데이터 이관하기

Console > DataSync > Tasks

원본 <> 대상 변경

  • 별도 location 생성 및 변경 없이 Task에서 원본/대상을 변경하면 EFS to S3 데이터 이관도 가능하다. ( DataSync 에서 접근 권한이 있어야 한다. )

감사합니다~ 🙂

문의: info@bespinglobal.com | 대표번호: 02-1688-1280

Leave a Comment