회사 내에서 구축한다면 다양한 보안 그룹을 설정하므로 인프라팀 문의가 필요합니다. 해당 문서는 개인 프로젝트에 더 적합할 수 있습니다.
해당 문서에는 간단한 AWS 사용법과 코딩이 등장합니다. 그러나 AWS 가 뭔지는 몰라도, 코딩을 못해도 그냥 따라하면 됩니다. 😉 단, MAC 사용을 기본으로 만들었습니다.
대시보드를 구축하기 위해서는 우선 대시보드를 운영하기 위한 ‘서버’ 즉, 공간이 필요합니다. 이러한 공간들을 클라우드 환경에서 대여해주는 회사가 바로 ‘AWS’ 입니다. 저는 다양한 방법 중 AWS 제품을 사용하여 Redash를 구축할 예정입니다.
💡 AWS 서비스안에도 정말 다양한 서비스가 존재합니다! 따라서 AWS 자체를 이해하려면 몇장의 글이 필요하기 때문에 해당 문서에서는 ‘뭔지 모르지만 따라하면 뚝딱’ 을 컨셉으로 글을 작성하도록 하겠습니다.
저의 경우, 단순 프로젝트성 대시보드 구축 용도이므로 ‘루트 사용자’로 로그인하여 진행할 예정입니다.
AWS 서비스는 1년동안 ‘프리티어’ 계정을 줍니다. 즉 한도내 무료로 AWS 서비스를 이용할 수 있는 기능을 줍니다.
AWS EC2란, ‘홈페이지, 대시보드’등 다양한 제품들을 유저가 이용할 수 있도록 공간(=컴퓨팅 환경)을 제공하는 서비스입니다. 이러한 공간을 ‘서버’(= 가상 컴퓨터 환경 = 인스턴스) 라고 부르며, 대시보드를 만들기 위해 우선 이러한 ‘빈 공간’을 생성할 예정입니다.
👉🏻 공식 문서 : https://docs.aws.amazon.com/ko_kr/AWSEC2/latest/UserGuide/concepts.html
1. AWS 첫 화면에서 ‘EC2’를 검색합니다. 2. EC2 화면에서 ‘인스턴스’버튼을 클릭합니다.
🤔 AWS 인스턴스란 ? 서버 즉 가상 컴퓨터 환경을 의미합니다.
3. ‘인스턴스’ 시작 버튼을 클릭합니다. ( 아래는 인스턴스 설정 방법 )
3-1. 인스턴스 이름 입력 : 자유롭게 영어로 입력합니다. 3-2. 애플리케이션 및 OS 이미지 : Ubuntu Server 중 프리티어 사용 가능 서버 3-3. 가상 서버 유형 (인스턴스 유형) : t2 small
설정 이유 : 공식문서 참조
3-4. 그 외 설정 사항 : 없음
: 해당 문서의 경우, aws 루트 권한을 가지고 했기 때문에 설정하는데 크게 신경쓰고 만들지는 않았지만, 회사 루트인 계정으로 만든다면 보안그룹 등 더 세부적으로 살펴보아야합니다.
5. 키페어 생성 인스턴스 생성을 눌렀는데, 키페이 생성하라고 한다면 생성해주면 됩니다.
: 주의 - 키페어 비밀번호는 꼭 잘 보관해야합니다.
+) 기타 사항
: AMI를 통해서도 인스턴스를 생성할 수 있습니다. 그러나, 비용적으로 더 나올것같아서 이 부분은 일단 패스했습니다. (참조 : https://redash.io/help/open-source/setup#aws )
6. 인스턴스 생성 완료 : 대시보드 등을 사용하지 않을 때는 ‘인스턴스 를 중지’ 하는 것이 비용적인 측면에서 좋습니다. 단, 인스턴 스를 중지 후 재시작하면 추후에 진행하는 설정을 반복해야하는 것이 단점입니다. 도메인 주소 등을 설정하면 되지만 해당 문서에서는 다루지 않습니다.
⭐ 퍼블릭 IPv4 주소는 아래에서 사용할 예정이니 확인해주세요~
서버 생성할 때, 새롭게 생성한 ‘보안그룹’을 수정합니다.
1. EC2 화면에서 ‘보안그룹’ 버튼을 클릭합니다. 2. 위에서 새로 생성한 보안그룹 이름을 클릭합니다. > ‘인바운드 규칙’을 클릭합니다. 현재는 새로 생성했기 때문에, 인바운드 규칙이 한개밖에 없습니다.
3. 인바운드 규칙 편집을 클릭하여 아래와 같도록 맞춰줍니다.
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’ 글자가 뜨게 됩니다.
3. 우분트(서버)에 Redash 설치하기 아래에서 수행하는 모든 것들은 우리가 만든 ‘서버(인스턴스)’에서 일어나는 일입니다!~
# apt 패키지 업데이트$ sudo apt update# git 설치 : redash 설치 프로젝트를 가져오기 위해서 git 설치 필요$ sudo apt install git# redash 설치 프로젝트 git clone$ git clone https://github.com/getredash/setup.git
# 프로젝트 디렉터리로 이동$ cd setup/# setup 스크립트 권한 수정$ sudo chmod +x setup.sh# 시작하기$ ./setup.sh
1. 인터넷 주소에 위에서 얻은 ‘<퍼블릭주소>:5000 을 입력하면 아래와 같이 리대시로 들어가게 됩니다. 🎉 : 처음 들어갈 때만 해당 창이 생기고, 이름, 주소, 비밀번호를 입력하면됩니다. 잊어버리지 않는 것이 중요합니다.
2. 위의 창에 값을 입력하면 아래와 같이 Redash 메인창이 생깁니다.
3. 데이터 연결하기
AWS를 사용할 때 가장 중요한 것, 잊지 말아야 할 것은 ‘비용’입니다. 프로젝트가 끝났을 때는 꼭 사용했던 모든 것을 다 삭제하시는 것을 추천합니다.