8퍼센트가 사내 대시보드 구축을 위해 Tableau Server를 AWS에 직접 설치한 기록이다. 설치 방식 세 가지 중 왜 직접 설치를 골랐는지부터 인스턴스 선택, 도메인과 SSL, 내부 프로세스 구성까지 이어진다. Tableau로 사무실 대시보드를 만드는 시리즈의 두 번째 글이다.
핵심 포인트- AWS Quick Start는 단일 노드일 때 서버를 퍼블릭 서브넷에 띄우고 Marketplace AMI는 최신 갱신이 안 돼 직접 설치를 택했다.
- 권장 사양은 8코어 16 vCPU에 64GB RAM이며 T2 계열은 쓰지 말라고 안내한다.
- EBS 용량을 넉넉히 잡지 않고 설치 후 동적으로 확장했다가 서버가 망가져 재설치했다.
- Tableau Server는 80과 443으로 서비스하고 관리 페이지인 TSM은 8850을 쓴다.
- 핵심인 VizQL과 Hyper를 빼면 내부 프로세스 상당수가 apache, redis, solr, postgresql, elasticsearch, ActiveMQ 같은 오픈소스다.
- 데이터베이스에 붙으려면 해당 드라이버를 따로 설치해야 한다.
상세 정리- 전제: 메인 인프라가 AWS에 있고 Tableau Server는 내부용이라 프라이빗 서브넷에 뒀다.
- 설치 방식 비교: 직접 설치, Cloud Formation 템플릿을 쓰는 Quick Start, EC2 AMI로 까는 Marketplace 세 가지가 있다.
- 인스턴스 선택: 부하 테스트 도구로 여러 인스턴스를 측정한 백서와 공개된 결과를 참고할 수 있으며, 사용자가 많지 않아 m5.2xlarge로 가볍게 시작했다. 타입은 나중에 바꿀 수 있다.
- 사전 준비: 서버와 오가는 데이터가 중요하므로 Route53으로 도메인을 잡고 SSL을 설정하기를 권한다.
- 설치 절차: Ubuntu 18.04에 설치 파일을 받아 깔고 tsm을 초기화하면 할당된 주소로 접속할 수 있다. 약 15일짜리 테스트 라이선스로 전 기능을 써볼 수 있어 구매 전에 먼저 돌려보는 방법도 있다.
- 프로세스 1: 게이트웨이는 웹 인터페이스로 내부적으로 apache를 띄우고, 응용 프로그램 서버는 웹 요청과 REST API 요청을 처리한다.
- 프로세스 2: VizQL 서버가 쿼리를 실행하고 뷰를 그리는 핵심이며 캐시 서버는 redis로 쿼리 캐시를 담당한다.
- 프로세스 3: 클러스터 컨트롤러가 주요 기능을 모니터링하고 실패를 감지해 재실행하며 검색 기능은 solr를 쓴다.
- 프로세스 4: 백그라운더가 추출 업데이트 같은 작업을 처리하고 데이터 엔진은 Hyper라는 메모리 엔진을 써 이종 데이터베이스 간 조인에도 쓰인다.
- 프로세스 5: 리포지토리는 사용자·권한·프로젝트·메타데이터를 postgresql에 담고, 데이터에 질문 기능의 인덱스는 elasticsearch, 마이크로서비스 간 통신은 ActiveMQ가 맡는다.
- 사양이 큰 이유: 이 많은 프로세스를 한 노드에 올리다 보니 높은 사양이 필요하다고 정리한다.
- 접속과 보안: 최초 계정을 만들고 TSM 관리자 페이지에서 SSL을 설정한다. Desktop과 Server가 많은 데이터를 주고받으므로 SSL은 필수로 본다.
- 드라이버: 내부적으로 PostgreSQL을 쓰므로 해당 드라이버를 받아 설치했다.
- 구성 범위: HA나 부하 분산이 필요하면 노드를 늘리는 추가 과정이 필요하지만 크리티컬한 용도가 아니라 단일 노드로 마무리했다.
왜 읽나BI 서버를 AWS에 직접 올릴 계획이라면 설치 방식 선택 근거와 EBS 확장 함정, 내부 프로세스 구성까지 미리 훑어둘 수 있다.