[ 고지 사항 (Disclaimer) ]
본 컨텐츠는 고객의 편의를 위하여 AWS 서비스 설명을 위해 제작, 제공된 것입니다. 만약 AWS 사이트와 컨텐츠 상에서 차이나 불일치가 있을 경우 AWS 사이트 (AWS.amazon.com)가 우선합니다. 또한 AWS 사이트 상에서 한글 번역문과 영어 원문에 차이나 불일치가 있을 경우(번역의 지체로 인한 경우 등 포함), 영어 원문이 우선합니다.
본 문서는 Building Big Data Storage Solutions (Data Lakes) for Maximum Flexibility(2017, 영문) 내용에 기반하여 작성 되었습니다.
이 문서는 정보 제공의 목적으로만 제공됩니다. 본 문서의 발행일 당시 AWS의 현재 제품 오퍼링 및 실행방법 등을 설명하며, 예고 없이 변경될 수 있습니다. 고객은 본 문서에 포함된 정보나 AWS 제품 또는 서비스의 사용을 독립적으로 평가할 책임이 있으며, 각 정보 및 제품은 명시적이든 묵시적이든 어떠한 종류의 보증 없이 “있는 그대로” 제공됩니다. 본 문서는 AWS, 그 자회사, 공급업체 또는 라이선스 제공자로부터 어떠한 보증, 표현, 계약 약속, 조건 또는 보장을 구성하지 않습니다. 고객에 대한 AWS의 책임 및 의무는 AWS 계약에 의해 관리되며 본 문서는 AWS와 고객 사이의 어떠한 계약에도 속하지 않으며 계약을 변경하지도 않습니다.
© 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved.
본 문서는 총 3부로 구성되어 있으며 이 글은 1부입니다.
요약
조직에서는 증가하는 데이터를 수집하고 분석하기 때문에 데이터 스토리지, 데이터 관리 및 분석을 위한 기존 사내 솔루션으로는 보조를 맞추기가 어렵습니다. Amazon S3 및 Amazon Glacier는 데이터 레이크에 이상적인 스토리지 솔루션을 제공합니다. 또한 기존 빅데이터 분석 툴과의 광범위한 통합과 같은 옵션을 제공하고, 비용이 많이 들고 복잡한 추출, 변환 및 로드 프로세스를 제거하는 데 도움이 되는 혁신적인 Query-in-place 분석 툴을 제공합니다. 이 가이드에서는 이러한 각 옵션을 설명하고 Amazon S3 기반 데이터 레이크를 구축하는 모범 사례를 제공합니다.
소개
조직에서 증가하는 데이터를 수집하고 분석함에 따라 데이터 스토리지, 데이터 관리 및 분석을 위한 기존의 사내 솔루션은 더 이상 속도를 유지할 수 없게 되었습니다. 제대로 작동하지 않는 데이터 사일로는 스토리지를 통합하여 보다 포괄적이고 효율적인 분석을 수행할 수 없습니다. 따라서 조직의 민첩성, 데이터에서 더 많은 통찰력과 가치를 도출할 수 있는 능력, 보다 정교한 분석 툴과 프로세스를 기술과 요구사항이 진화함에 따라 원활하게 채택할 수 있는 능력이 제한됩니다.
스토리지, 데이터 거버넌스 및 분석이 결합된 단일 플랫폼인 데이터 레이크는 이러한 문제를 해결하도록 설계되었습니다. 이 제품은 정형 및 비정형 데이터를 수집 및 저장하고 필요에 따라 이러한 원시 데이터 자산을 변환할 수 있는 안전하고 오래 지속되는 중앙 집중식 클라우드 기반 스토리지 플랫폼입니다. 미리 정의된 스키마를 제한하는 혁신은 필요하지 않습니다. 데이터 탐색, 보고, 분석, 기계 학습 및 시각화 도구의 전체 포트폴리오를 데이터에 사용할 수 있습니다. 데이터 레이크는 더 많은 사업부에서 더 많은 사용자가 필요로 하는 모든 비즈니스 통찰력을 얻을 수 있도록 데이터 및 최적의 분석 툴을 제공합니다.
최근까지, 데이터 레이크는 현실보다 더 개념적이였습니다. 그러나 AWS(Amazon Web Services)는 Amazon Simple Storage Service(Amazon S3) 및 기타 서비스를 사용하여 비용 효율적으로 데이터 레이크 솔루션을 구축할 수 있는 데이터 레이크 아키텍처를 개발했습니다.
Amazon S3 기반 데이터 레이크 아키텍처 기능을 사용하여 다음을 수행할 수 있습니다.
· 다양한 소스에서 중앙 집중식 플랫폼으로 데이터를 수집하고 저장합니다.
· 데이터 레이크에 저장된 데이터 자산을 찾아 사용할 수 있는 포괄적인 데이터 카탈로그를 구축합니다.
· 데이터 레이크에 저장된 모든 데이터를 안전하게 보호 및 관리할 수 있습니다.
· 툴과 정책을 사용하여 인프라 및 데이터를 모니터링, 분석 및 최적화할 수 있습니다.
· 기존의 원시 데이터 자산을 최적화된 사용 가능한 형식으로 변환할 수 있습니다.
· 사용 중인 데이터 자산을 쿼리합니다.
· 광범위하고 심층적인 데이터 분석, 데이터 과학, 기계 학습 및 시각화 도구 포트폴리오를 사용합니다.
· 현재 및 미래의 타사 데이터 처리 도구를 신속하게 통합할 수 있습니다.
· 처리된 데이터 세트와 결과를 쉽고 안전하게 공유할 수 있습니다.
이 문서의 나머지 부분에서는 이러한 각 기능에 대한 자세한 정보를 제공합니다. 그림 1은 샘플 AWS 데이터 레이크 플랫폼을 보여줍니다.
Data Lake Storage 플랫폼으로서의 Amazon S3
Amazon S3 기반 데이터 레이크 솔루션은 Amazon S3를 기본 스토리지 플랫폼으로 사용합니다. Amazon S3는 사실상 무제한 확장성으로 인해 데이터 레이크에 최적의 기반을 제공합니다. 스토리지를 기가바이트에서 페타바이트로 원활하고 중단 없이 늘릴 수 있으며, 사용하는 것에 대해서만 비용을 지불할 수 있습니다. Amazon S3는 99.999999999%의 내구성을 제공하도록 설계되었습니다. 확장 가능한 성능, 사용 편의성, 기본 암호화 및 액세스 제어 기능을 갖추고 있습니다. Amazon S3는 광범위한 AWS 포트폴리오 및 타사 ISV 데이터 처리 툴과 통합됩니다.
Amazon S3의 주요 데이터 레이크 사용 기능은 다음과 같습니다.
· 컴퓨팅 및 데이터 처리에서 스토리지 분리. 기존의 Hadoop 및 데이터 웨어하우스 솔루션에서는 스토리지와 컴퓨팅이 긴밀하게 결합되어 있어 비용과 데이터 처리 워크플로우를 최적화하기가 어렵습니다. Amazon S3를 사용하면 모든 데이터 유형을 기본 형식으로 비용 효율적으로 저장할 수 있습니다. 그런 다음 Amazon Elastic Compute Cloud(EC2)를 사용하여 필요한 만큼의 가상 서버를 시작하고 AWS 분석 도구를 사용하여 데이터를 처리할 수 있습니다. 최적의 성능을 위해 CPU, 메모리 및 대역폭의 올바른 비율을 제공하도록 EC2 인스턴스를 최적화할 수 있습니다.
· 중앙 집중식 데이터 아키텍처. Amazon S3를 사용하면 많은 사용자가 자신의 데이터 분석 도구를 공통 데이터 집합에 가져올 수 있는 멀티 테넌트 환경을 쉽게 구축할 수 있습니다. 따라서 여러 개의 데이터 복사본을 여러 프로세싱 플랫폼에 분산해야 하는 기존 솔루션에 비해 비용과 데이터 거버넌스가 모두 개선됩니다.
· 클러스터리스 및 서버리스 AWS 서비스와 통합. Amazon Athena, Amazon Redshift Spectrum, Amazon Rekognition 및 AWS Glue와 함께 Amazon S3를 사용하여 데이터를 쿼리하고 처리합니다. 또한 Amazon S3는 AWS Lambda 서버리스 컴퓨팅과 통합되어 서버를 프로비저닝하거나 관리하지 않고 코드를 실행합니다. 이러한 모든 기능을 사용하면 처리되는 실제 데이터 양이나 소비되는 컴퓨팅 시간에 대해서만 비용을 지불할 수 있습니다.
· 표준화 된 API. Amazon S3 RESTful API는 단순하고 사용하기 쉬우며 선도적인 Apache Hadoop 및 분석 툴 공급업체를 포함하여 대부분의 주요 ISV(독립 소프트웨어 벤더)에서 지원합니다. 이를 통해 고객은 Amazon S3의 데이터에 대한 분석을 수행하는 데 도움이 되는 가장 편리하고 풍부한 지식을 갖춘 툴을 활용할 수 있습니다.
데이터 수집 방법
데이터 레이크 아키텍처의 핵심 기능 중 하나는 사내 스토리지 플랫폼에서 실시간 스트리밍 데이터 및 대량 데이터 자산과 같은 다양한 유형의 데이터를 빠르고 쉽게 수집할 수 있는 기능과 메인프레임 및 데이터 웨어하우스와 같은 기존 사내 플랫폼에서 생성 및 처리하는 데이터입니다. AWS는 이러한 모든 시나리오를 처리할 수 있는 서비스와 기능을 제공합니다.
Amazon Kinesis Firehose
Amazon Kinesis Firehose는 Amazon S3에 실시간 스트리밍 데이터를 직접 전송하기 위해 완전히 관리되는 서비스입니다. Kinesis Firehose는 스트리밍 데이터의 볼륨 및 처리량에 맞게 자동으로 확장되므로 지속적인 관리가 필요하지 않습니다. 또한 Kinesis Firehose는 스트리밍 데이터를 Amazon S3에 저장하기 전에 변환하도록 구성할 수 있습니다. 이러한 혁신 기능에는 압축, 암호화, 데이터 일괄 처리 및 Lambda 기능이 포함됩니다.
Kinesis Firehose는 Amazon S3에 저장하기 전에 데이터를 압축할 수 있습니다. 현재 GZIP, ZIP 및 SNAPPY 압축 형식을 지원합니다. GZIP는 Amazon Athena, Amazon EMR 및 Amazon Redshift에서 사용할 수 있으므로 선호되는 형식입니다. Kinesis Firehose 암호화는 AWS KMS(Amazon S3에서 전송된 데이터를 암호화하기 위해 AWS Key Management Service)를 통한 Amazon S3 서버측 암호화를 지원합니다. 소유한 AWS KMS 키 목록에서 데이터를 암호화하지 않거나 키로 암호화하지 않도록 선택할 수 있습니다(AWS KMS를 사용한 암호화 섹션 참조). Kinesis Firehose는 여러 개의 들어오는 레코드를 연결하여 하나의 S3 객체로 Amazon S3에 전달할 수 있습니다.
이는 Amazon S3 트랜잭션 비용과 초당 트랜잭션을 감소시키기 때문에 중요한 기능입니다.
마지막으로 Kinesis Firehose는 Lambda 기능을 호출하여 들어오는 소스 데이터를 변환하여 Amazon S3에 전송할 수 있습니다. 일반적인 변환 기능에는 Apache Log 및 Syslog 형식을 표준 JSON 및/또는 CSV 형식으로 변환하는 기능이 있습니다. 그런 다음 Amazon Athena를 사용하여 JSON 및 CSV 형식을 직접 쿼리할 수 있습니다. Lambda 데이터 변환을 사용하는 경우 다른 S3 버킷에 선택적으로 원시 데이터를 백업할 수 있습니다(그림 2 참조).
AWS Snowball
AWS Snowball을 사용하여 사내 스토리지 플랫폼 및 Hadoop 클러스터에서 S3 버킷으로 대용량 데이터를 안전하고 효율적으로 마이그레이션할 수 있습니다. AWS Management Console에서 작업을 생성하면 스노우볼 장치가 자동으로 사용자에게 전송됩니다. 스노우볼이 도착한 후 로컬 네트워크에 연결하고 내부 데이터 소스에 스노우볼 클라이언트를 설치한 다음 스노우볼 클라이언트를 사용하여 파일 디렉토리를 선택하고 스노우볼 장치로 전송합니다. Snowball 클라이언트는 AES-256비트 암호화를 사용합니다. 암호화 키는 스노우볼 장치와 함께 배송되지 않으므로 데이터 전송 프로세스가 매우 안전합니다. 데이터 전송이 완료되면 스노우볼의 E 잉크 배송 라벨이 자동으로 업데이트됩니다. 장치를 AWS로 다시 전송합니다. 그런 다음 AWS에서 수신하면 데이터가 스노우볼 장치에서 S3 버킷으로 전송되고 원래/원본 형식으로 S3 개체로 저장됩니다. 또한 Snowball에는 HDFS 클라이언트가 있으므로 데이터를 Hadoop 클러스터에서 기본 형식으로 S3 버킷으로 직접 마이그레이션할 수 있습니다.
AWS Storage Gateway
AWS 스토리지 게이트웨이는 기존 사내 데이터 처리 플랫폼을 Amazon S3 기반 데이터 레이크와 통합하는 데 사용할 수 있습니다. Storage Gateway의 File Gateway 구성은 NFS 연결을 통해 사내 장치와 애플리케이션에 네트워크 파일 공유를 제공합니다. 이 마운트 지점에 기록된 파일은 소유권 수정 없이 원래 형식으로 Amazon S3에 저장된 개체로 변환됩니다. 즉, 사내 랩 장비, 메인프레임 컴퓨터, 데이터베이스 및 데이터 웨어하우스와 같은 기본 Amazon S3 기능이 없는 애플리케이션과 플랫폼을 S3 버킷과 쉽게 통합한 다음 Amazon EMR 또는 Amazon Athena와 같은 도구를 사용하여 이 데이터를 처리할 수 있습니다.
또한 Amazon S3는 기본적으로 표준 Apache Hadoop 데이터 전송 메커니즘인 DistCP를 지원합니다. 이를 통해 DistCP 작업을 실행하여 사내 Hadoop 클러스터에서 S3 버킷으로 데이터를 전송할 수 있습니다. 일반적으로 데이터를 전송하는 명령은 다음과 같습니다.
hadoop distcp hdfs://source-folder s3a://destination-bucket
AWS는 IT 인프라 비용을 절감하고 기업의 핵심가치에 더욱 집중할 수 있도록 합니다.
AWS에 대한 자세한 문의사항은 여기를 눌러 주세요.
빌드업웍스는 AWS 컨설팅 파트너로 고객 비즈니스를 최우선으로 하며 고객의 클라우드의 성공적인 시작과 운영을 지원합니다.