데이터를 분석한 결과를 시각화하여 보여주기 위해서는 대시보드에 나타내는 방법이 있다.
Tableau, Power BI 등 다양한 대시보드가 있긴 하지만, 모든 기능을 자유롭게 사용하기 위해서는 오픈소스로 나와있는 대시보드를 사용하는 것이 좋을 수도 있다.
그 중 대표적인 오픈소스 대시보드 프레임워크 중 Redash를 사용해보기로 하였다.
Redash는 우리가 알고 있는 대부분의 데이터베이스를 연동하여 사용할 수 있다.
또한, 데이터베이스의 쿼리 작업을 Redash 내부에서 할 수 있기 때문에 쿼리 작성과 데이터 분석 결과 확인 등에 용이하다.
단순히 내 컴퓨터에서 연습용으로 사용할 때는 docker 기반의 설치 파일을 이용해 로컬 내에서 사용할 수 있지만,
우리는 이 대시보드를 누군가와 공유하고 싶을 것이다.
따라서 AWS 내에서 서버를 구동하여 그 위에 Redash를 설치하고, 이를 공유할 수 있게 해보자.
(본 글은 2024년 6월 기준 설치 과정이다. )
AWS EC2 서버(인스턴스) 구축하기
AWS에서 EC2는 서버이다. 서버는 곧 인스턴스라고 불린다.
Redash를 설치하기 위해서는 우리에게 서버(가상 환경)가 필요하다.
먼저, EC2 인스턴스를 구축해보자!
1. AWS에서 EC2 들어가기
먼저, AWS 서비스 내의 EC2를 검색하여, "인스턴스 시작" 버튼을 클릭한다.
2. 인스턴스 설정하기
이제 Redash를 설치할 환경에 맞게 서버를 설정해보자.
자유롭게 원하는 인스턴스 이름을 설정해주자.
애플리케이션 및 OS 이미지
다음으로 OS 종류를 설정할 수 있다.
우리는 Ubuntu Server를 기반을 이용할 것이며,
2024년 6월 기준 기본 버전은 24.04 LTS로 되어 있을 것이다.
그러나 24.04 LTS 버전의 경우 비교적 최근에 나온 것이기 때문에 오류가 발생했을 때 해결이 어려울 수 있으므로,
좀 더 안정적인 22.04 LTS 버전으로 선택해주자.
(Ubuntu 서버 버전이 달랐을 때 크게 데인 경험이 있으므로,,,, 나중을 대비해서 잘 맞춰주자,,,😅😂🤣)
인스턴스 유형(가상 서버 유형)
다음으로 아래와 같이 인스턴스 유형을 선택할 수 있다.
Redash 공식 문서를 보면, 소규모 배포의 경우 t2.small이면 충분하다고 한다.
또한, 필자가 참고한 블로그를 살펴봤을 때도 t2.small 보다 작은게 아니라면 충분하다고 해서 small로 진행하였다.
그러나,,,
t2.small로 설정 후, Redash를 실행할 때 무한로딩 현상이 발생하며 실행이 되지 않는 문제가 발생하였다.
한참을 애먹다가 원인을 찾았는데, Redash 실행 시 메모리를 너무 많이 사용한다는 것이였다.
위의 CPU 사용률을 보면, Redash 실행 시 사용률이 거의 100%에 도달한다.
물론 small 버전에서 스왑 메모리를 설정해주는 방법도 있지만,
필자의 경우 이전에 젯슨나노 내에서 스왑메모리를 증가시켰을 때 큰 차이를 느끼지 못해 t2.medium으로 바꾸어서 진행하였다.
이후 GPT에 물어봤을 떄도 Redash는 메모리를 많이 사용하기 때문에 최소 't2.medium'으로 설정하라는 말을 들었다^^
아무튼, 비용을 감안하고 진행할 사람들은 공식 문서에서 추천하는대로 t2.small을 사용해도 좋고,
필자와 같은 문제를 방지하고 싶은 사람들은 t2.medium을 선택하는 걸 추천한다.
네트워크 설정
네트워크 설정은 위와 같이 기본으로 설정을 하고, "편집"을 눌러 VPC, 서브넷, 퍼블릭 IP를 선택해준다.
각각의 개념은 나중에 자세히 알아보도록 하자.
각 칸을 누르면, 새롭게 생성하거나, 이미 존재하는 것을 선택할 수 있는데,
그냥 잘 따라서 하라는대로 하면 된다.
잘 따라서 하면, 필자와 같이 될 것이다. 일단 이렇게 기본으로 두고 후에 제대로 설정을 해보자.
키 페어 설정
다음으로 키 페어를 설정해야 한다.
필자와 같이 처음 EC2를 사용하는 사람들은 새로운 키 페어를 생성해야 한다.
위와 같이 자유롭게 키 페어 이름을 설정하고 새로운 키 페어를 생성해준다.
여기서 만들어진 키 페어 파일을 잘 보관하도록 하자!!!!!!
사실, 공식문서에서 제공해주는 AMI를 통해서도 인스턴스를 생성할 수 있다.
그러나 비용적으로 문제가 될 수도 있기 때문에 필자는 직접 인스턴스를 생성해주었다.
이와 관련된 내용은 아래 블로그에서 확인할 수 있다.
https://redash.io/help/open-source/setup
https://velog.io/@d3fau1t/AWS-%ED%99%98%EA%B2%BD%EC%97%90-Redash%EB%A5%BC-%EC%98%AC%EB%A6%AC%EB%A9%B4%EC%84%9C-%ED%95%B4%EB%B3%B4%EB%8A%94-%ED%99%98%EA%B2%BD%EA%B5%AC%EC%B6%95#%EC%84%A0%ED%83%9D-%EB%8F%84%EB%A9%94%EC%9D%B8-%EC%97%B0%EA%B2%B0
3. 인스턴스 생성 완료 & 보안 설정하기
이제 인스턴스(서버)가 생성되었다.
서버를 생성할 때 새롭게 생성한 보안그룹을 수정할 예정이다.
아래와 같이 "보안 그룹"에 들어간다.
새로 생성한 보안 그룹 이름을 클릭하고, '인바운드 규칙' -> '인바운드 규칙 편집'을 클릭한다.
그 후, 규칙 추가 버튼을 눌러 필자와 동일하게 인바운드 규칙을 설정해준다.
이 부분에서 인바운드와 아웃바운드를 착각하지 않도록 한다!!
필자는 인바운드를 아웃바운드로 착각해서 또 애먹었다😅😂🤣🥲
이제 인스턴스(서버) 구축은 완료되었다.
재부팅을 한 번 해주도록 하자.
EC2에 Redash 설치하기
이제 구축한 서버 위해 Redash 오픈소스를 설치해야 한다.
이 부분은 mac os를 기준으로 진행한다.
로컬 컴퓨터 내(MAC OS의 터미널)의 터미널을 열어 서버(인스턴스)에 들어가보자.
1. 터미널에서 EC2 서버 들어가기
컴퓨터에서 터미널을 열어, 작업을 진행할 폴더를 생성하자.
필자의 경우 "workspace"라는 폴더 안의 dev_aws 폴더에서 진행하였다.
"key"를 보관할 파일 생성
아까 키 페어를 생성했을 때, "pem"으로 끝나는 키 페어 파일이 생성되었을 것이다.
이 키 페어 파일을 workspace/dev_aws 폴더 내부의 key 폴더를 만들어 옮겨주자.
해당 키 페어 파일을 read, write 할 수 있도록 권한을 변경해주자.
chmod 600 key/키페어 파일 이름.pem
EC2 접근하기
EC2 서버에 접근하기 위해 퍼블릭 주소를 알아보자.
퍼블릭 주소의 경우 인스턴스 세부 정보 안에서 알 수 있다.
이 주소를 알 경우 나의 서버에 접근할 수 있으므로, 공적인 곳에는 올리지 않도록 한다.
이제, 터미널에서 다음과 같이 실행한다.
ssh -i key/키페어 파일.pem ubuntu@xxx.xxx.xxx(퍼블릭 IPv4 주소)
2. 서버 안에 Redash 설치하기
이제 우리의 서버에 Redash 대시보드를 설치하기 위해 다음의 코드들을 복붙한다.
sudo apt update
sudo apt install git
redash 설치 파일 가져오기
git clone https://github.com/getredash/setup.git
설치 파일 폴더로 이동하기
cd setup/
설치 파일 권한 수정
sudo chmod +x setup.sh
설치 파일 실행하기
sudo ./setup.sh
정상적으로 띄워진 redash docker 컨테이너 확인하기
sudo docker ps -a
이제 설치가 완료되었다.
이제, 앞선 퍼블릭 IP:5000 을 검색창에 입력하면 Redash가 실행된다.
끄읏-!
생각보다 AWS 위에 Redash를 설치한 사람이 많지 않아서 좀 힘들었다.
그래도 뿌듯!
참고)
https://redash.io/help/open-source/setup
'AWS' 카테고리의 다른 글
[AWS] S3 CSV 파일 RDS에 올리기 (파이썬 이용) (0) | 2024.06.24 |
---|---|
[AWS] S3 개념 및 버킷 만들기 (파일 업로드) (0) | 2024.06.23 |
[AWS] MFA 등록 방법 (0) | 2024.06.13 |