Wisdom’s Cloud

[AWS] 1. DataSync를 사용하여 EFS 간의 데이터 전송 본문

AWS/Migration

[AWS] 1. DataSync를 사용하여 EFS 간의 데이터 전송

지혜로운지혜쓰 2022. 2. 14. 13:29

DataSync

  • DataSync는 온프레미스 스토리지 시스템과 AWS 스토리지 서비스 간, 그리고 AWS 스토리지 서비스 간 데이터 이동을 간소화, 자동화 및 가속화하는 온라인 데이터 전송 서비스입니다.

 

DataSync에서 전송할 수 있는 데이터

  • NFS(Network File System)
  • SMB(Server Message Block)
  • HDFS(Hadoop Managed File System)
  • On-premises (self-managed) object storage
  • Amazon EFS
  • Amazon FSx for Windows File Server
  • Amazon FSx for Lustre
  • Amazon S3

 

 

실습

구성 아키텍처

 

Source 환경 구성

서울 리전에 VPC와 Subnet을 생성한 후, EFS 콘솔에서 파일 시스템을 선택하여 파일 시스템 생성을 클릭합니다.
이름에 source-efs를 입력하고, 해당 VPC와 가용 영역을 선택한 후, 생성을 클릭합니다.
그리고 NFS 2049 포트를 허용하는 EFS 보안 그룹을 생성합니다.
Source EFS에서 네트워크 항목의 관리를 클릭합니다.
기존의 보안 그룹을 제거한 후, 생성한 보안 그룹을 선택하여 저장합니다.
다음으로 Source EFS를 탑재한 인스턴스를 생성합니다. 인스턴스 생성 시 생성한 파일 시스템을 추가하면 됩니다.
그리고 NFS 2049 포트를 통한 트래픽을 허용할 수 있도록 보안 그룹을 구성하여 인스턴스를 생성합니다.
EFS 콘솔에서 Source EFS를 선택한 후, 연결을 클릭합니다.
IP를 통해 탑재를 선택한 후, NFS 클라이언트 사용 명령을 복사합니다.
Source EFS를 탑재한 인스턴스에 접속한 후, 복사한 명령을 입력하여 /mnt/efs/fs1 경로에 마운트합니다.
"df -h" 명령을 입력하여 마운트되었는지 확인합니다.
다음 명령어를 통해 더미 파일을 생성합니다.
"du -sh /mnt/efs/fs1" 명령을 입력하여 더미 파일이 생성되었는지 확인합니다.
그리고 다음 명령어를 통해 서울 리전에 대한 최신 DataSync AMI ID를 검색하여 복사합니다.
DataSync Agent 인스턴스 생성 시 복사한 DataSync AMI ID를 검색하여 선택합니다.
DataSync Agent는 최대 2천만 개의 파일을 전송하는 작업의 경우 m5.2xlarge를, 2천만 개가 넘는 파일을 전송하는 작업의 경우 m5.4xlarge를 사용하는 것을 권장하기 때문에 m5.2xlarge를 선택합니다.
그리고 Agent를 활성화하기 위해 HTTP 80 포트와 NFS 2049 포트에 대한 트래픽을 허용하여 인스턴스를 생성합니다.

 

Destination 환경 구성

마찬가지로 도쿄 리전에 VPC와 Subnet을 생성한 후, EFS 콘솔에서 파일 시스템을 선택하여 파일 시스템 생성을 클릭합니다.
이름에 destination-efs를 입력하고, 해당 VPC와 가용 영역을 선택한 후, 생성을 클릭합니다.
그리고 NFS 2049 포트를 허용하는 EFS 보안 그룹을 생성합니다.
Destination EFS에서 네트워크 항목의 관리를 클릭합니다.
기존의 보안 그룹을 제거한 후, 생성한 보안 그룹을 선택하여 저장합니다.
Destination EFS를 탑재한 인스턴스를 생성합니다. 인스턴스 생성 시 생성한 파일 시스템을 추가하면 됩니다.
그리고 NFS 2049 포트를 통한 트래픽을 허용할 수 있도록 보안 그룹을 구성하여 인스턴스를 생성합니다.
EFS 콘솔에서 Destination EFS를 선택한 후, 연결을 클릭합니다.
IP를 통해 탑재를 선택한 후, NFS 클라이언트 사용 명령을 복사합니다.
해당 EFS를 탑재한 인스턴스에 접속한 후, 복사한 명령을 입력하여 /mnt/efs/fs1 경로에 마운트합니다.
"df -h" 명령을 입력하여 마운트되었는지 확인합니다.

 

DataSync Agent 및 Task 생성

도쿄 리전의 DataSync 콘솔에서 Agents를 선택한 후, Create agent를 클릭합니다.
이전에 생성한 DataSync Agent 인스턴스에 에이전트를 배포하기 위해 위와 같이 선택한 후, 에이전트 주소에 DataSync Agent 인스턴스의 퍼블릭 주소를 입력하고, 맨 아래 Get Key를 클릭합니다.
키가 자동으로 생성된 것을 확인할 수 있고, 에이전트 이름을 입력한 후, 맨 아래 Create agent를 클릭합니다.
다시 DataSync 콘솔에서 Tasks를 선택한 후, Create task를 클릭합니다.
Source의 Location type은 NFS을, Agents는 방금 생성한 에이전트를 선택하고, NFS Server에 Source EFS의 IP 주소를 입력합니다. 그리고 Mount path는 "/"로 입력하는데, /mnt/efs/fs1 경로를 마운트하였기 때문에 /mnt/efs/fs1 경로가 루트로 설정됩니다.
Destination의 Location type은 EFS를, EFS는 Destination EFS를 선택합니다. 그리고 Mount path는 마찬가지로 "/"를 입력하고, Destination EFS가 액세스할 서브넷과 이전에 생성한 EFS 보안 그룹을 선택합니다.
작업 이름을 입력한 후, 나머지는 디폴트로 두고 맨 아래 Next 버튼을 클릭합니다.
설정한 내용들을 확인한 후, 맨 아래 Create task를 클릭합니다.
작업의 상태가 Available되면 Start에서 Start with defalts를 클릭합니다.
작업이 성공하면 History 항목의 상태가 Running에서 Success로 바뀌는 것을 확인할 수 있습니다.

 

확인

Destination EFS를 탑재한 인스턴스에 접속한 후, "du -sh /mnt/efs/fs1" 명령을 입력하여 확인합니다.
위와 같이 Source EFS에 있는 더미 파일이 Destination EFS로 성공적으로 옮겨졌음을 확인할 수 있습니다.