AWS DataSync

SRE실 김우혁 님이 작성해 주신 ‘DataSync을 사용하여 다른 EFS의 파일을 다른 시스템에 연동하는 방법’에 대해 알아보겠습니다.

1. 개요


1-1. 목적

DataSync을 사용하여 다른 EFS의 파일을 다른 시스템에 연동하는 방법에 대한 가이드 제공

해당 문서는 AWS간에 Datasync 매뉴얼

마이그레이션 – 지속적으로 상태가 변경되는 다량의 데이터 세트가 있는 곳 (세트에는 일회성 전송에 사용할 수 있는 자연적인 중단 또는 중지 지점이 없음)
업로드 및 처리 – 온프레미스에서 주기적으로 생성되는 대량의 데이터를 클라우드에서 처리해야 하는 용도
백업/DR – 온프레미스 데이터를 클라우드에 복사하여 안전하게 유지하고 비즈니스 지속성을 보장이 필요한 곳
  • 이러한 작업은 규모가 상당히 큼 수십 또는 수백 테라바이트의 일회성 또는 주기적 데이터 전송이 일상적으로 이루어짐. 
  • 이 정도의 규모에서는 네트워크 대역폭을 효과적으로 사용하고 높은 처리량을 달성하는 것이 필수적이며 안정성, 보안 및 사용 편의성도 고려해야 함

1-2. DataSync

AWS DataSync는 온프레미스 스토리지 시스템과 AWS 스토리지 서비스 간 및 AWS 스토리지 서비스와 AWS 스토리지 서비스 간 데이터 이동을 단순화, 자동화 및 가속화하는 온라인 데이터 전송 서비스

DataSync 는 NFS (Network File System), SMB (Server Message Block) 파일 서버, 자체 관리형 개체 스토리지, AWS Snowcone, Amazon Simple Storage Service (Amazon S3) 버킷,Amazon EFS파일 시스템, Amazon FSx for Windows File Server 파일 시스템을 지원

TLS 기반

2. 세부 내용


2-1. AWS DataSync Agent  설치

동일한AWS 계정 내 서비스 간에 전송할 때는 에이전트 설치 필요 없음


(1) 가상 머신

요구 사항(DataSync Agent을 온프레미스로 배포시)

  • 가상 프로세서: VM에 지정한 가상 프로세스 4개.
  • 디스크 공간: 가상 머신 이미지 및 시스템 데이터 설치용 디스크 공간 80GB.
  • memory:

최대 2천만 개의 파일을 전송하는 작업을 위해  32GB

2천만 개 이상의 파일을 전송하는 작업을 위해  64GB

DataSync → agent → agent 생성 → agent 배포에서 이미지 다운로드


(2) EC2

요구 사항

  • 타입:

최대 2천만 개의 파일을 전송하는 작업을 위해  M5.2xlarge

2천만 개 이상의 파일을 전송하는 작업을 위해  M5.4xlarge

  • 소스 파일 시스템이 있는AWS 리전 및 AWS 계정 위치에 에이전트를 배포

▶ 다음 CLI 명령어로 AMI ID 가져옴(datasync가 설치된 이미지)

aws ssm get-parameter –name /aws/service/datasync/ami –region region

▶ 해당 이미지로 인스턴스 생성

<인스턴스 접속 시 화면>

2-2. AWS DataSync Agent  활성화


(1) 사전 작업

  • 엔드포인트 설정

AWS DataSync 에이전트가 AWS와 통신하는 데 사용하는 엔드포인트를 지정

(2) Agent  

DataSync → agent → agent 생성

  • 에이전트 배포 : 에이전트 타입 선택
  • 서비스 엔드포인트: 사전작업에 만든 엔트포인트 추가
  • 정품인증키:

자동(권장) 으로 agent 인스턴스 만든 퍼블릭 IP 등록

인증키 받을때만 사용됨

활성화 된후 agent 에서 해당 port 닫지만 보안상 SG에서 해당 정책 삭제 권장

<키 가져오기 성공시>

  • 에이전트 생성 클릭

2-3. 태스크 생성

(1) 위치 생성(source)

DataSync → 위치 → 위치 생성

<위치 구성>

  • 위치 유형 :  source 서비스 선택
  • 폴더: 대상 버킷의 폴더 선택
  • IAM 역할: 자동 생성으로 생성

(2) Task 설정

DataSync → 태스크 → 태스크 설정

<소스 위치>

  • 소스 위치 구성은 위치 생성에서 만든 것 불러와서 진행하거나 동일하게 새로 구성해도 됨

<대상 위치 구성>

  • 위치 구성과 동일함(위치 유형 서비스에 따라 agent 들어감)

<설정 구성>

  • 테이터 확인 :

전송된 데이터만 확인 (권장) – 이 옵션은 소스에서 전송된 파일 및 메타데이터의 체크섬을 계산

전송 중 무결성 확인 – 이 옵션은 전송이 끝날 때 추가 인증을 실행하지 않음 전송 중 체크섬 확인을 통해 모든 데이터 전송에 대한 무결성 검사를 수행

  • 스캔할 데이터:

특정 파일 및 폴더를 선택 시 필더 부분이 활성화 되고 패턴 추가하여 특정 데이터만 선택 가능.

2-4. 태스크 실행

Task 상태가 사용 가능으로 표시되면 시작을 선택하여 실행하면 됨

감사합니다 🙂

Written by 김 우혁 / Woohyuk Kim

Cloud Engineer

Leave a Comment