AWS 기술 블로그
AWS DataSync를 활용하여 Wasabi Object Storage를 Amazon S3로 마이그레이션하기
본 게시글은 AWS Storage Blog에 게시된 ‘Migrating Wasabi Object Storage to Amazon S3 using AWS DataSync’ by Emil Richardsen Nedregård and Darryl Diosomito을 한국어 번역 및 편집하였습니다.
많은 조직이 클라우드 서비스 제공자 간에 상당한 양의 객체 데이터를 전송하는 작업에 직면하고 있으며, 이러한 데이터 전송의 배경에는 다양한 시나리오가 있습니다. 이러한 시나리오에는 데이터 통합, 워크로드 마이그레이션, 데이터 획득, 그리고 비용 최적화가 포함이 됩니다.
성공적인 마이그레이션을 달성하려면 전송 중 포괄적인 데이터 암호화, 증분 변경 사항만 전송하는 기능, 전송 중인 객체의 무결성 확인, 네트워크 사용률 관리, 비용 효과적인 모니터링 솔루션 구현 등 몇 가지의 중요한 구성 요소가 필요합니다. 그럼에도 불구하고 이러한 전제 조건들을 충족하는 시스템을 만드는 것은, 리소스 집약적이고 비용이 많이 드는 작업이 될 수 있으며, 확장성이 부족한 경우가 많습니다. 또한 퍼블릭 클라우드 제공자 간의 전환은, 데이터 센터 스토리지 장치에 대한 액세스가 제한되는 등의 제약이 발생할 수 있습니다.
이번 게시물에서는 AWS DataSync를 사용하여 Amazon S3 호환 객체 스토리지 제공업체인 Wasabi Cloud Storage에서 Amazon Simple Storage Service(S3)로 객체 데이터를 전송하는 과정을 안내합니다. DataSync는 온프레미스든 클라우드든 다양한 스토리지 시스템 간의 데이터 전송을 용이하게 하는 다양한 내장 기능을 제공하는 강력한 서비스입니다. 네트워크 최적화, 데이터 검증 및 예약 기능을 통해 사용자는 빠르고 정확하며 효율적으로 전송을 수행할 수 있습니다. 데이터를 AWS로 이동할 때, 가장 중요한 애플리케이션들이 신뢰할 수 있는, AWS의 탁월한 경험, 성숙도, 안정성, 보안 및 성능을 활용할 수 있습니다.
AWS DataSync 개요
AWS DataSync는 온프레미스 스토리지, 기타 클라우드 및 AWS 스토리지 서비스 간에, 파일 및 객체 데이터 이동을 자동화하고 가속화하는 안전한 온라인 서비스입니다. AWS DataSync는 네트워크 파일 시스템(NFS) 공유, 서버 메시지 블록(SMB) 공유, 하둡 분산 파일 시스템(HDFS), 자체 관리형 객체 스토리지, AWS Snowcone, Amazon Simple Storage Service(Amazon S3) 버킷, Amazon Elastic File System(Amazon EFS) 파일 시스템, Windows 파일 서버 파일 시스템용 Amazon FSx, Lustre 파일 시스템용 Amazon FSx, OpenZFS 파일 시스템용 Amazon FSx, NetApp ONTAP 파일 시스템용 Amazon FSx 와 기타 클라우드 간에 데이터를 복사할 수 있습니다.
AWS DataSync를 사용하여 Wasabi Cloud Storage에서 Amazon S3로 데이터를 전송하는 방법
이 가이드는 Wasabi에서 Amazon S3로 파일을 전송하도록 AWS DataSync를 구성하는 과정을 안내합니다. 그림 1에 설명된 이 가이드의 AWS DataSync 아키텍처는 단일 AWS DataSync 에이전트를 활용합니다. 에이전트는 Wasabi의 소스 데이터와 목적지인 Amazon S3 버킷 사이에서 클라이언트 역할을 합니다.
인터페이스 엔드포인트를 사용하여 DataSync 에이전트를 활성화하는 것이 좋습니다. 이 과정은 에이전트와 AWS DataSync 서비스 간의 트래픽을 프라이빗 네트워크 내에서 유지할 수 있게 합니다. 비용을 절약하려면 동일한 가용 영역(Availability Zone) 내에 에이전트와 프라이빗 엔드포인트를 모두 배포하는 것이 좋습니다. 이러한 비용 절감은 AWS DataSync 에이전트와 인터페이스 엔드포인트가 모두 동일한 가용 영역내에 있는지 확인하여 달성할 수 있습니다.
DataSync를 사용하여 Wasabi에서 AWS로 데이터를 전송할 때, 데이터는 암호화되고 검증되어 파일의 기밀성과 무결성이 유지됩니다. AWS DataSync는 각 전송 중에 데이터 무결성 검사를 수행하여 데이터 전송 작업의 정확성과 신뢰성을 확인합니다. AWS DataSync가 파일 및 객체 전송을 처리하는 방법에 대한 보다 포괄적인 정보를 보려면 공식 설명서를 참조하는 것이 좋습니다.
그림 1: Wasabi Cloud Storage 마이그레이션을 위한 AWS DataSync 아키텍처
가이드 전제 조건
이 가이드를 위해서는 다음과 같은 전제 조건을 충족해야 합니다.
- 필요한 권한이 있는 AWS 계정이 있어야 합니다.
- 전송할 버킷과 객체가 있는 Wasabi Cloud Storage 계정이 있어야 합니다.
Wasabi Cloud Storage 개요
우리는 전송할 객체를 보관하기 위하여 도쿄 (ap-northeast-1) 리전의 Wasabi 버킷을 사용할 것입니다. 다음 링크로 이동하시면 Wasabi에서 사용 가능한 리전 목록을 보실 수 있습니다. 이 블로그 게시물에서는 그림 2에 제시된 폴더 구조(Testdata, Research, HR 및 Finance)를 사용합니다. 각각의 폴더에는 S3로 전송될 6개의 TXT 파일이 포함되어 있습니다.
그림 2: Wasabi Cloud Storage에서 S3으로 마이그레이션할 폴더 보기
솔루션 개요
- Wasabi Cloud Storage에서 액세스 키를 생성합니다.
- 마이그레이션을 할 목적지로 Amazon S3 버킷을 생성합니다.
- Amazon VPC 엔드포인트 구성을 위해 Amazon Virtual Private Cloud(Amazon VPC)를 구성합니다.
- DataSync 에이전트를 Amazon EC2 인스턴스로 배포합니다.
- Wasabi Cloud Storage(데이터 전송 소스)에 대한 DataSync 객체 스토리지 Location을 생성합니다.
- Amazon S3(데이터 전송 목적지)에 대한 Location을 생성합니다.
- AWS DataSync task 생성 및 실행
- DataSync task 설정을 생성하고 구성합니다.
- task 실행을 시작합니다.
- 전송된 데이터를 확인합니다.
1 단계: Wasabi Cloud Storage에서 액세스 키 생성
Wasabi Cloud Storage에서 액세스 키를 생성하려면:
- 액세스 키 섹션으로 이동합니다.
그림 3: Wasabi Cloud Storage의 액세스 키 섹션으로 이동
- 액세스 키 생성을 선택합니다.
- 생성을 선택합니다.
- 나중에 사용할 수 있도록 액세스 키와 비밀 키를 캡처하세요.
그림 4: 생성된 Wasabi Cloud Storage 액세스 키 캡처
구체적인 액세스 권한 세부 정보는 Wasabi Cloud Storage 및 AWS DataSync 설명서를 검토하세요.
2 단계: 데이터 전송 목적지로 사용할 Amazon S3 버킷 생성
Amazon S3에서 버킷을 생성하고 이름을 지정한 후 속성 탭에서 Amazon 리소스 이름(ARN)을 복사합니다.
그림 5: 데이터 전송 목적지로 사용할 Amazon S3 버킷
3 단계: Amazon VPC 엔드포인트를 위한 Amazon Virtual Private Cloud(Amazon VPC) 구성
VPC 엔드포인트 활용에 필요한 네트워크 요구 사항에 따라 VPC, 서브넷, 라우팅 테이블 및 보안 그룹을 설정합니다. 그런 다음 DataSync 에이전트와 서비스 간의 연결을 확인하기 위해 DataSync 인터페이스 엔드포인트를 생성합니다. 이렇게 구성하면 퍼블릭 인터넷을 통과하지 않습니다.
4 단계: Amazon EC2에 DataSync 에이전트 배포
VPC 엔드포인트를 구성한 후 DataSync 에이전트를 Amazon EC2 인스턴스로 배포합니다. VPC 엔드포인트가 생성된 서브넷에서, 최신 DataSync Amazon 머신 이미지(AMI)를 사용하여, Amazon EC2 인스턴스를 시작하고 에이전트에 대한 보안 그룹을 할당합니다. 마지막으로 VPC 엔드포인트로 에이전트를 활성화하여 AWS 계정에 연결합니다.
5 단계: Wasabi Cloud Storage에 대한 DataSync 객체 스토리지 Location 생성
- DataSync 콘솔을 열고 Location을 선택한 다음 Location 생성을 선택합니다.
- Location type으로 Object Storage를 선택합니다.
- 4단계에서 배포된 에이전트를 선택합니다.
- 서버에는 “s3.<서비스 URL>.wasabisys.com”을 입력하세요.
- Wasabi Cloud Storage의 서비스 URL 목록은 여기에서 확인할 수 있습니다.
- 버킷 이름에 Wasabi Cloud Storage의 버킷이름을 입력합니다.
- 인증 단계에서 1단계에서 생성한 Wasabi Cloud Storage의 액세스 및 비밀 키를 입력합니다.
- Location 생성을 선택합니다.
그림 6: Wasabi Cloud Storage의 Location
6 단계: Amazon S3 에 대한 Location 생성
- DataSync 콘솔을 열고 Location을 선택한 다음 Location 생성을 선택합니다.
- Location type으로 Amazon S3를 선택합니다.
- S3 버킷의 경우 2단계에서 생성한 버킷을 선택합니다.
- IAM 역할의 경우 자동 생성을 누릅니다.
- Location 생성을 선택합니다.
그림 7: IAM 역할과 S3 Location 설정
7 단계: AWS DataSync task 생성 및 실행
- AWS DataSync 콘솔을 열고 task을 선택한 후 task 생성을 선택합니다.
- 소스 Location 옵션의 경우 기존 Location 선택을 선택합니다.
- 기존 Location 선택 메뉴에서 이전에 생성된 Wasabi 객체 스토리지 Location을 선택하고 다음을 선택합니다.
그림 8: 소스 Location 구성 및 기존 Location 선택
- 목적지 Location 옵션의 경우 기존 Location 선택을 선택하세요. 다음으로 이전에 생성한 S3 버킷을 선택합니다.
그림 9: 목적지의 Location 구성 및 기존 Location 선택
- 설정 구성 탭에서 task 이름을 지정하여 입력합니다.
- 특정 요구 사항에 따라 원하는 task 실행 구성과 데이터 전송 구성을 추가합니다. 그러나 원하는 경우 가이드에 제공된 기본 설정으로 진행할 수도 있습니다.
- 그림 10과 같이 자동 생성된 CloudWatch 로그 그룹을 사용하여 task 로깅을 활성화합니다. 다음을 선택한 다음 task 생성을 선택합니다. task 생성이 완료되면 task를 시작할 수 있습니다.
그림 10: task 로깅 및 CloudWatch 로그 그룹
8 단계: 전송된 데이터 확인
DataSync task 실행이 성공적으로 완료된 후에 결과를 비교하여 데이터가 올바르게 전송되었는지 확인합니다. AWS DataSync는 전송 프로세스를 사용자가 정의하고, 데이터가 정확하고 효율적으로 전송되는지 확인하기 위해서, 대역폭 조절, 데이터 검증, 예약 등 task를 생성할 때 구성할 수 있는 여러 내장 기능을 제공합니다.
전송 프로세스 중에 오류가 발생하면 CloudWatch 로그로 이동하여 문제의 근본 원인을 조사할 수 있습니다. 로그는 전송 프로세스 중에 발생한 오류 또는 경고를 포함하여 DataSync task에 대한 자세한 개요를 제공합니다. 로그를 검사하면 문제를 해결하고 필요한 조정을 수행하여, 향후 전송이 원활하게 실행되도록 할 수 있습니다.
자원 정리
향후 비용이 발생하지 않도록 하려면 이 가이드에서 사용된 리소스를 삭제하세요.
- Wasabi Cloud Storage에서 API 키를 삭제합니다.
- Wasabi Cloud Storage의 버킷 콘텐츠와 버킷을 삭제합니다.
- DataSync task, locations, 에이전트를 삭제합니다.
- EC2 인스턴스를 종료합니다.
- DataSync VPC 엔드포인트를 삭제합니다.
- Amazon S3 버킷을 삭제합니다.
결론
이 블로그 게시물에서는 여러분의 조직이 다른 클라우드 공급자의 데이터를 AWS로 이동하려는 시나리오에 대해 논의했습니다. AWS DataSync가 일정 예약, 데이터 암호화 및 데이터 검증을 단순화하여, 데이터 이동 워크플로에 어떻게 도움이 되는지 논의했습니다. 또한 VPC 엔드포인트 설정, DataSync 에이전트 생성, 그리고 Wasabi Cloud Storage에서 Amazon S3로 데이터를 마이그레이션하도록 DataSync를 구성하는 특정 단계를 다루었습니다.
AWS DataSync는 온프레미스든 클라우드든 다양한 스토리지 시스템 간의 데이터 전송을 촉진하는 다양한 내장 기능을 제공하는 강력한 서비스입니다. 네트워크 최적화, 데이터 검증 및 예약 기능을 통해, 사용자는 전송을 빠르고 정확하며 효율적으로 수행할 수 있으며, 암호화 및 모니터링 기능은 전송되는 데이터의 보안과 무결성을 유지합니다. 여러 DataSync 에이전트 및 task를 사용하여 이 게시물의 DataSync 사용 방법을 확장하여 Wasabi Cloud Storage에서 데이터 마이그레이션을 가속화할 수도 있습니다.
전반적으로 AWS DataSync는 서로 다른 스토리지 시스템 간에 데이터를 전송하거나, 백업 또는 재해 복구 목적으로 데이터를 복제하려는 조직에 유용한 도구입니다. 사용 용이성, 유연성 및 다양한 기능으로 인해 모든 규모와 산업 분야의 기업에서 널리 사용됩니다. AWS DataSync를 사용하면 사용자는 데이터 전송이 안전하고 안정적이며 효율성에 최적화되어 있음을 확신할 수 있습니다. 자세히 알아보려면 다른 클라우드 객체 스토리지간의 데이터 전송에 대한 AWS DataSync 설명서를 검토하십시오.