[이렇게 사용하세요!] Cloud Data Box : 네이버 검색, 쇼핑, AI 데이터를 내 비즈니스에 활용하기

NAVER Cloud
NAVER Cloud
Published in
13 min readAug 19, 2022

최근 다양한 분야에서 데이터를 활용한 의사결정이 이루어지고 있습니다. 이러한 의사결정을 DDDM (Data-Driven Decision-Making) 방식이라고 부르며 이를 활용한 전략적 비즈니스 의사결정에 대한 논의가 활발하게 이루어지고 있습니다.

최근 AI 연구 분야에서도 Andrew ng 교수님은 “실질적 AI 성능을 향상하는 방법은 코드의 개선이 아닌 데이터의 개선이다”라고 언급하며 Model-Centric 구조에서 Data-Centric 구조의 변화를 강조하고 있습니다.

이처럼 데이터의 퀄리티가 중요해진 오늘날, 이번 포스팅에서는 네이버의 다양한 데이터를 제공받아 비즈니스에 필요한 인사이트를 도출할 수 있는 Cloud Data Box (클라우드 데이터박스) 활용 방법을 알아보도록 하겠습니다.​

(그림1) Cloud Data Box 서비스 컨셉

우선 Cloud Data Box에서 제공하는 네이버 데이터의 종류는 크게 검색, 쇼핑, AI 학습용 데이터로 나뉩니다.

# 검색 데이터

사용자 속성별 검색/클릭 내역

기기 / 성별 / 연령대 / 지역 / 검색어 / 클릭 영역 / 클릭 사용자 수

검색어 코어커런스 매트릭스

기기 / 성별 / 연령대 / 지역 / 검색어1 / 클릭 영역1 / 검색어2 / 클릭 영역2 / 클릭 사용자 수

# 쇼핑 데이터

사용자 속성별 상품 클릭 내역

기기 / 성별 / 연령대 / 지역 / 상품 카테고리 / 유입 키워드 / 방문자 수

사용자 속성별 상품 구매 내역

기기 / 성별 / 연령대 / 지역 / 상품 카테고리 / 구매자 수

상품 클릭 코어커런스 매트릭스

기기 / 성별 / 연령대 / 지역 / 상품 카테고리1 / 유입 키워드1

상품 카테고리2 / 유입 키워드2 / 함께 방문한 방문자 수

상품 구매 코어커런스 매트릭스

기기 / 성별 / 연령대 / 지역 / 상품 카테고리1 / 상품 카테고리2 / 함께 구매한 구매자 수

# AI 학습용 데이터

NLP 실험용 텍스트 데이터

뉴스 기사에 나온 개체명(이름) 검색 후 해당 개체명과 연관된 위키피디아 페이지(ID)에 연결한 데이터

어노테이션 이미지 데이터

재활용 이미지 수집 및 레이블링 / 이미지에서 음식 영역을 바운딩 박스로 태깅한 데이터 이미지에 포함된 한글 OCR 어노테이션 데이터

데이터의 디렉토리 구조를 살펴보면 아래와 같습니다.

(그림2) 데이터 디텍토리 구조

제공되는 데이터는 Cloud Data Box 사용자 가이드를 통해 더욱 자세하게 확인하실 수 있습니다.​

1. Cloud Data Box 구성

그럼 Cloud Data Box가 어떻게 구성되어 있는지 아래 그림을 통해 알아보도록 하겠습니다.​

* 아래 설명은 Windows를 기준으로 하며, Mac의 경우 괄호 안에 포함하였습니다.

(그림2) Cloud Data Box 구성

Cloud Data Box 핵심 구성 요소

  1. Connect 서버에 안전하게 접속하기 위한 SSL VPN
  2. 분석 환경 접속을 위한 Connect 서버
  3. AI 분석을 위한 TensorFlow 서버
  4. 빅데이터 처리 및 분석을 위한 Cloud Hadoop
  5. 네이버 데이터를 제공받고 분석 결과를 저장하기 위한 NAS

우선 Cloud Data Box에 접근하려면 SSL VPN을 통한 접근이 이루어져야 합니다.

SSL VPN 접속 후 원격 데스크톱(MAC의 경우 Microsoft Remote Desktop)을 통해 Connect 서버에 접속하실 수 있습니다. 대부분의 작업은 Connect 서버를 통해 이루어지며 Connect 서버에서 Cloud Hadoop, TF Server, NAS 접근이 가능합니다.

​여기서 NAS에 접근하는 이유는 Cloud Data Box 구성 시 함께 신청하신 네이버의 다양한 데이터(쇼핑/검색/AI학습용)가 NAS에 업로드되기 때문입니다. 이때 네이버의 다양한 데이터가 담기는 NAS는 Read Only로 작동하게 됩니다.

뿐만 아니라 데이터 분석에 필요한 외부 데이터는 콘솔을 통해 데이터 반입 신청을 하실 수 있습니다. 이렇게 반입된 데이터 또한 NAS에 저장되며, 분석 결과를 NAS를 통해 반출하실 수도 있습니다. 반입과 반출은 네이버 클라우드 플랫폼 Object Storage와 연계하여 사용하실 수 있으며 데이터 반입, 반출에 사용되는 NAS의 경우 Read/Write 가 모두 가능합니다.​

2. SSL VPN 설정 방법

그럼 SSL VPN 설정 방법부터 차근차근 설명드리겠습니다. 아래 그림은 Cloud Data Box를 관리하는 관리자와 네이버 데이터를 활용해 인사이트를 도출하는 분석가의 SSL VPN 구성도입니다.

*여기서 잠깐! SSL VPN 이란?

VPN은(Virtual Private Network)의 약자로 외부에서 접근할 수 없는 사설망에 PC나 네트워크를 연결시키는 방법을 말합니다. 사설망과의 연결은 가상 터널을 통해 이루어지며, 이 가상 터널을 SSL 암호화로 보호하는 것이 SSL VPN입니다. 가상 터널을 통해 사설망과 연결된 사용자 PC는 사용망의 라우팅 및 ACL 정책에 따라 내부 서버에 접근 가능합니다.​

▶SSL VPN 사용자 가이드

(그림3) SSL VPN 설정 방법

위의 그림과 같이 순서는 아래와 같습니다.

  1. Data Box 생성 시 필요한 SSL VPN 계정의 개수를 선택합니다. (*등록한 개수는 이후 변경이 가능하며 콘솔을 통해 SSL VPN 사용자를 추가해 주어야 합니다.)
  2. SSL VPN 접속을 위한 Agent 다운로드합니다. ▶Agent 다운로드
  3. Agent 실행 후 생성된 계정으로 접속합니다.​

3. Connect 서버 접속

SSL VPN에 접속하셨다면 이제 Connect 서버에 접속하실 수 있습니다.

(그림4) Connect 서버 접속
  1. 원격 데스크톱을 실행 (MAC의 경우 Microsoft Remote Desktop) 합니다.
  2. 관리자로부터 Connect 서버 정보를 전달받은 분석가는 Connect 서버에 접속합니다.

4. Cloud Hadoop 및 Zeppelin, Hue, Ambari 접속

Connect 서버까지 접속이 완료되었으면 데이터 분석을 위해 Cloud Hadoop 구조 및 접속 방법을 알아보도록 하겠습니다.

*여기서 잠깐 NAVER Cloud Platform Cloud Hadoop 이란?

Hadoop 클러스터를 쉽고 빠르게 처리할 수 있는 완전 관리형 클라우드 분석 플랫폼입니다. Hadoop Ecosystem (HDFS, Hbase, Spark, Presto 등)을 통해 대용량 데이터 처리를 위한 시스템 구축 및 운영이 가능합니다. Cloud Hadoop 클러스터의 경우 세 가지 타입의 노드가 제공됩니다.

  • 엣지 노드 : 외부 접속을 위한 게이트웨이용 노드
  • 마스터 노드 : 작업자 노드를 모니터링하는 관리자 노드
  • 작업자 노드 : 마스터 노드의 명령을 받아 실제 데이터 분석 등의 작업을 수행하는 노드

마스터 노드의 경우 기본적으로 두 개를 제공해 드리고 있으며 원하는 만큼 작업자 노드들을 확장/축소할 수 있습니다.

▶ Cloud Hadoop 자세히 보기

Cloud Data Box에서의 Cloud Hadoop 구성은 아래와 같습니다.

​위에서 설명드린 Cloud Hadoop의 구성처럼 외부 접속을 위한 게이트웨이 용도로 엣지 노드가 Connect 서버와 통신하며 마스터 노드의 명령을 받아, 작업자 노드가 실제 데이터를 분석하게 됩니다.

(그림6) Cloud Hadoop 엣지 노드, 마스터 노드, 작업자 노드

그럼 Cloud Hadoop 서버 접속방법을 알아보겠습니다.

(그림7) Cloud Hadoop 서버 접속 방법
  1. SSL VPN 연결 후, 원격 데스크톱을 통한 Connect 서버 접속합니다.
  2. Connect 서 버 바탕화면에 있는 pem 키를 활용하여. ppk를 생성합니다.
  3. 생성한 Private Key를 통해 Cloud Hadoop Edge 노드에 접속합니다.
  4. 접속 후 [cat /etc/hosts] 명령어를 통해 엣지 ,마스터,워커 노드들을 확인할 수 있습니다.
  5. 그 외에도 [df-h] 명령어를 통해 NAS (/mnt/nas#)를 확인할 수 있습니다.

또한 Ambari, Hue, Zeppelin의 경우 Chrome을 통해 웹 UI로 접속을 하실 수 있습니다. 각각의 IP 및 Port 정보는 Cloud Data Box 콘솔 접속 정보를 통해 제공해 드리고 있습니다. 따라서 Ambari, Hue, Zeppelin Notebook의 경우 IP:Port를 통해 터널링 없이 접근이 가능합니다.

​다만 HDFS NameNode UI와 같은 특정 기능들은 터널링이 필요하며, 터널링 방법은 아래 링크를 참고해 주시기 바랍니다.

터널링을 통한 Web UI 접속

HDFS NameNode, YARN Resource Manager UI

IP와 Port를 이용한 Web UI 접속

Ambari(8443), Hue(8081), Zeppelin Notebook(9996)

▶터널링을 이용한 웹 UI 접속방법 확인하기

(그림8) 터널링 방법

5. Jupyter Notebook 접속

주피터 노트북을 통해 데이터 분석을 하실 수 있습니다. 아래는 주피터 노트북 활용 순서도입니다.

여기서 주의하셔야 하는 점은 데이터 공급 이전에 필요한 모든 패키지를 다운로드하셔야 합니다.

(그림9) 주피터 노트북 (Jupyter Notebook) 활용 순서

<주피터 노트북 활용 순서>

  1. 콘솔의 접속 정보를 통해 Jupyter Notebook에 접속합니다.
  2. 분석에 필요한 패키지를 다운로드합니다.
  3. 네이버 데이터 공급을 신청합니다
  4. 공급된 데이터를 활용하여 데이터 분석을 진행합니다. (제공되는 데이터는 용량이 크기 때문에 사전 가공 후 데이터 분석 진행 권고)

다음으로 주피터 노트북 디렉터리 몇 가지를 설명드리겠습니다.

(그림10) 주피터 노트북 디렉토리

1.추가 블록 스토리지

/home/ncp/workspace/blocks

TesnsorFlow 서버 기본 블록 스토리지 2TB 제공

NAS 데이터 중 자주 사용되는 데이터는 블록 스토리지에 저장 권장

2.파일 반입/반출 신청용

nas: /home/ncp/workspace/nasw# (#은 번호)

파일 반입 및 반출 신청 시 데이터 전달되는 NAS.

데이터박스 생성 시 신청한 NAS는 하둡 클러스터에도 함께 마운트가 되어 있어서 데이터 바로 공유 가능

3. 샘플 데이터

/home/ncp/workspace/sample

샘플 데이터가 제공되는 위치.

4.신청 데이터 (Read-only)

/home/ncp/workspace/xx (xx는 선택한 데이터의 마운트 디렉터리)

신청한 데이터는 데이터 공급 신청 이후에 Jupyter home 디렉터리에 마운트. 읽기만 가능​

대용량 데이터를 Jupyter Notebook에서 작업 시 위와 같이 Memory Error가 나타나게 됩니다.​

Jupyter Notebook에서 EDA 작업을 진행 경우, TF 서버 메모리를 소모하는 작업이므로 전체 파티션이 아닌 일부 파티션만 읽어 탐색하는 것을 권장하며 몇 달 치의 대용량 데이터 EDA 작업 시에는 Hue/Zeppelin에서 Spark로 작업을 권장합니다.​

6. NAS 구성도

마지막으로 공급되는 데이터의 저장 공간인 NAS의 구성도를 살펴보겠습니다.

*여기서 잠깐 : NAS란?

네트워크로 연결되는 저장 공간으로 다수의 사용자가 데이터를 공유할 때 적합한 서비스입니다.

NAS 볼륨을 생성한 뒤 서버에 마운트 하면 복수의 서버에서 안정적으로 데이터 공유가 가능합니다.

▶NAS 자세히 보기

(그림11) NAS 구성도

저장 공간 내에서 데이터가 유통되는 형태는 아래와 같습니다.​

  1. 데이터가 공급되면 NAS에서 확인할 수 있으며 Parquet 형태로 제공됩니다.
  2. NAS는 읽기 전용 스토리지와 쓰기 전용 스토리지가 존재합니다.
  3. 네이버 데이터 반입 후에는 읽기 전용 스토리지에 저장됩니다.
  4. Cloud Data Box 생성 시 신청한 NAS는 읽기/쓰기 전용 스토리지로 분석에 필요한 외부 파일 반입 및 분석 결과 반출에 사용하는 스토리지입니다.
  5. NAS는 Cloud Hadoop과 TensorFlow Server에서 mount되어 공유됩니다.
  6. 마지막으로 파일 반입/반출은 Object Storage와 연계해서 사용이 가능합니다.​

따라서 Cloud Data Box를 정리하자면,

  1. Cloud Data Box는 네이버의 데이터와 보유한 데이터의 분석 환경을 제공해 주는 종합 분석 플랫폼입니다.
  2. 대용량 데이터 처리를 위한 Hadoop, Spark, Hive, Zeppelin Notebook, TF Server(GPU, CPU), Jupyter Notebook 등이 제공됩니다.
  3. Cloud Data Box 생성 후 [SSL VPN >원격 데스크톱>Connect Server]를 통해 환경 접속​합니다.
  4. .pem 키를 활용하여. ppk를 생성하며 해당 Private Key를 통해 Hadoop에 접근합니다.
  5. 네이버 데이터를 제공받기 이전에 모든 패키지들을 다운로드하셔야 합니다. 데이터를 제공받은 시점에는 외부와의 통신이 불가합니다.
  6. 데이터 반입/반출용 NAS(Read, Write), 네이버 데이터 제공 NAS(Read Only)가 존재합니다.
  7. 데이터 반입, 반출을 위한 NAS는 Object Storage와 연계하여 사용합니다.

이번 포스팅에서는 네이버 클라우드 플랫폼의 Cloud Data Box에 대해 이해하고 전반적인 특징 및 구성에 대해 알아보았습니다. 감사합니다.

* 본 기술 포스팅은 네이버클라우드 Cloud Tech Frontier 박문규 님이 작성해 주셨습니다.

* 관련 문의 사항은 댓글 또는 ncloud.com 문의하기 창구로 남겨주시면 빠르게 확인해 드리겠습니다.

--

--

NAVER Cloud
NAVER Cloud

We provide cloud-based information technology services for industry leaders from startups to enterprises.