HomeAbout
Data Engineering
데이터 분석가의 Redash 대시보드 구축하기 101
누리
April 30, 2023
3 min

Table Of Contents

01
Redash 란?
02
세팅하기
03
마무리

대상자

  • 대시보드 프로젝트를 포트폴리오로 사용하고 싶은 분
  • 데이터 분석가가 간편하게 대시보드를 구축하고 싶은 분
  • Redash 및 BI툴을 알고 있는 분

회사 내에서 구축한다면 다양한 보안 그룹을 설정하므로 인프라팀 문의가 필요합니다. 해당 문서는 개인 프로젝트에 더 적합할 수 있습니다.

해당 문서에는 간단한 AWS 사용법과 코딩이 등장합니다. 그러나 AWS 가 뭔지는 몰라도, 코딩을 못해도 그냥 따라하면 됩니다. 😉 단, MAC 사용을 기본으로 만들었습니다.

Redash 란?

  • 쿼리를 이용하여 간편하게 원하는 대시보드를 구현할 수 있는 오픈 소스 중 하나 입니다.
  • https://redash.io/

세팅하기

대시보드를 구축하기 위해서는 우선 대시보드를 운영하기 위한 ‘서버’ 즉, 공간이 필요합니다. 이러한 공간들을 클라우드 환경에서 대여해주는 회사가 바로 ‘AWS’ 입니다. 저는 다양한 방법 중 AWS 제품을 사용하여 Redash를 구축할 예정입니다.

💡 AWS 서비스안에도 정말 다양한 서비스가 존재합니다! 따라서 AWS 자체를 이해하려면 몇장의 글이 필요하기 때문에 해당 문서에서는 ‘뭔지 모르지만 따라하면 뚝딱’ 을 컨셉으로 글을 작성하도록 하겠습니다.

AWS 서비스 계정 가입 및 로그인하기

저의 경우, 단순 프로젝트성 대시보드 구축 용도이므로 ‘루트 사용자’로 로그인하여 진행할 예정입니다.

  • 루트 사용자로 로그인을 하면, AWS의 리소스를 자유롭게 이용가능합니다. 단, 계정이 탈취됬을 때의 보안이 아쉽습니다.
  • 만약 AWS 의 경험이 많은 이용자라면 ‘IAM 사용자’로 로그인하는 것을 추천합니다. ( 조직 도입시 필수 ) 그러나 설정해야하는 등의 번거로움이 있어서 해당 문서에서는 패스합니다.

AWS 서비스는 1년동안 ‘프리티어’ 계정을 줍니다. 즉 한도내 무료로 AWS 서비스를 이용할 수 있는 기능을 줍니다.

Amazon EC2 로 서버 만들기

AWS EC2란, ‘홈페이지, 대시보드’등 다양한 제품들을 유저가 이용할 수 있도록 공간(=컴퓨팅 환경)을 제공하는 서비스입니다. 이러한 공간을 ‘서버’(= 가상 컴퓨터 환경 = 인스턴스) 라고 부르며, 대시보드를 만들기 위해 우선 이러한 ‘빈 공간’을 생성할 예정입니다.

👉🏻 공식 문서 : https://docs.aws.amazon.com/ko_kr/AWSEC2/latest/UserGuide/concepts.html

1. AWS 첫 화면에서 ‘EC2’를 검색합니다. 2. EC2 화면에서 ‘인스턴스’버튼을 클릭합니다.

🤔 AWS 인스턴스란 ? 서버 즉 가상 컴퓨터 환경을 의미합니다.

pap1

3. ‘인스턴스’ 시작 버튼을 클릭합니다. ( 아래는 인스턴스 설정 방법 )

3-1. 인스턴스 이름 입력 : 자유롭게 영어로 입력합니다. 3-2. 애플리케이션 및 OS 이미지 : Ubuntu Server 중 프리티어 사용 가능 서버 3-3. 가상 서버 유형 (인스턴스 유형) : t2 small

설정 이유 : 공식문서 참조

  • 공식문서 : Launch the instance with the pre-baked AMI we create (for small deployments t2.small should be enough)
  • t2.small 보다 작은 것으로 진행하면 느리다고 하여 한단계 높였습니다. 공식 문서에도 t2.small은 충분하다고 하여 그대로 진행하였습니다. ( 프리티어가 아니여서, 비용은 감수해야합니다. )

3-4. 그 외 설정 사항 : 없음

: 해당 문서의 경우, aws 루트 권한을 가지고 했기 때문에 설정하는데 크게 신경쓰고 만들지는 않았지만, 회사 루트인 계정으로 만든다면 보안그룹 등 더 세부적으로 살펴보아야합니다.

pap2

5. 키페어 생성 인스턴스 생성을 눌렀는데, 키페이 생성하라고 한다면 생성해주면 됩니다.

: 주의 - 키페어 비밀번호는 꼭 잘 보관해야합니다.

nuli2-3

+) 기타 사항

: AMI를 통해서도 인스턴스를 생성할 수 있습니다. 그러나, 비용적으로 더 나올것같아서 이 부분은 일단 패스했습니다. (참조 : https://redash.io/help/open-source/setup#aws )

6. 인스턴스 생성 완료 : 대시보드 등을 사용하지 않을 때는 ‘인스턴스 를 중지’ 하는 것이 비용적인 측면에서 좋습니다. 단, 인스턴스를 중지 후 재시작하면 추후에 진행하는 설정을 반복해야하는 것이 단점입니다. 도메인 주소 등을 설정하면 되지만 해당 문서에서는 다루지 않습니다.

⭐ 퍼블릭 IPv4 주소는 아래에서 사용할 예정이니 확인해주세요~

nuli2-4

서버 보안그룹 설정하기

서버 생성할 때, 새롭게 생성한 ‘보안그룹’을 수정합니다.

1. EC2 화면에서 ‘보안그룹’ 버튼을 클릭합니다. 2. 위에서 새로 생성한 보안그룹 이름을 클릭합니다. > ‘인바운드 규칙’을 클릭합니다. 현재는 새로 생성했기 때문에, 인바운드 규칙이 한개밖에 없습니다.

nuli2-5

3. 인바운드 규칙 편집을 클릭하여 아래와 같도록 맞춰줍니다.

nuli2-6

서버(인스턴스)에 Redash 설치하기

Redash는 앞서 설명했듯이 오픈소스 입니다. 따라서 해당 서버에 Redash 세팅 코드를 업로드(clon)해줍니다.

1. 터미널을 통해서 위에서 실행한 서버에 들어가기 ( MAC OS terminal 로 ec2 서버(인스턴스) 접근하기 ) : 터미널에 진입한 후, 아래와 같이 입력합니다. 위에서 얻은 key 페어와 퍼블릭 IPv4주소를 아래에 적어줍니다.

# 새로운 폴더 만들기 (작업 환경을 따로 만들기 위해서 만드는 작업!)
(base) nuli01:~ nuli$ mkdir prj
# 위에서 만든 폴더로 이동
(base) nuli01:~ nuli$ cd prj/
# key 라는 이름을 가진 폴더 만들기
(base) nuli01:prj nuli$ mkdir key
# 소유주만 해당 파일을 read, write 할 수 있도록 함
# 위에서 폴더를 만들었다면, pem 파일을 해당 폴더로 옮겨놓은 후 작업해야함.
(base) nuli01:prj nuli$ chmod 600 key/aws-kp-2023.pem
# **.***.000.000 : 해당 부분엔 각각 퍼블릭 IPv4 주소 또는 도메인 입력
# ubuntu 는 내가 우분트가 인스턴스 이미지 이므로, 이미지 종류에 따라서 사용자 이름이 달라짐
(base) nuli01:prj nuli$ ssh -i key/aws-kp-2023.pem ubuntu@**.***.000.000

2. 우분투 서버에 접근 완료

위의 코드를 모두 성공하면 아래와 같이 ‘Welcome’ 글자가 뜨게 됩니다.

nuli2-7

3. 우분트(서버)에 Redash 설치하기 아래에서 수행하는 모든 것들은 우리가 만든 ‘서버(인스턴스)’에서 일어나는 일입니다!~

# apt 패키지 업데이트
$ sudo apt update
# git 설치 : redash 설치 프로젝트를 가져오기 위해서 git 설치 필요
$ sudo apt install git
# redash 설치 프로젝트 git clone
$ git clone https://github.com/getredash/setup.git

nuli2-8

# 프로젝트 디렉터리로 이동
$ cd setup/
# setup 스크립트 권한 수정
$ sudo chmod +x setup.sh
# 시작하기
$ ./setup.sh

nuli2-9

리대시 시작하기

1. 인터넷 주소에 위에서 얻은 ‘<퍼블릭주소>:5000 을 입력하면 아래와 같이 리대시로 들어가게 됩니다. 🎉 : 처음 들어갈 때만 해당 창이 생기고, 이름, 주소, 비밀번호를 입력하면됩니다. 잊어버리지 않는 것이 중요합니다.

nuli2-10

2. 위의 창에 값을 입력하면 아래와 같이 Redash 메인창이 생깁니다.

nuli2-11

3. 데이터 연결하기

  • setting 버튼 클릭 > source 연결 > 원하는 DB 선택
  • DB 외에 구글 스프레드시트 등을 연결할 수 있습니다. 단순 대시보드 프로젝트가 목적이라면, DB연결이 아닌 단순 데이터셋(구글 스프레드)를 연결하여 사용해도 됩니다. nuli2-12

마무리

AWS를 사용할 때 가장 중요한 것, 잊지 말아야 할 것은 ‘비용’입니다. 프로젝트가 끝났을 때는 꼭 사용했던 모든 것을 다 삭제하시는 것을 추천합니다.


Tags

대시보드분석 프로젝트 환경 구축대시보드 구축분석 토이프로젝트Redash 구축

Share


Related Posts

스타트업 합류 3주차면 풍월을 읊는다? (feat. 스프린트, 이벤트 설계)
2023-04-29
3 min
© 2023, All Rights Reserved.
Powered By

Quick Links

About UsOfficial Page

Social Media