안녕하세요. 오늘은 베스핀글로벌 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