
EAT-SSU 팀에서 서비스 운영 데이터를 시각화하기 위해 Redash를 도입했다.
Managed SaaS 대신 AWS EC2 위에 직접 설치하는 방식을 선택했고, 그 과정에서 인프라 전반을 직접 만지게 되었다.
공식 문서를 그대로 따라가면 금방 끝날 것 같았지만,
실제로는 디스크 용량, 메모리, 보안그룹, VPC 라우팅까지 연쇄적으로 문제가 발생했다.
이 글에서는
을 정리한다.

Redash는 데이터 분석과 대시보드를 위한 오픈소스 도구다.
팀에서는 다음 이유로 EC2 직접 설치 방식을 선택했다.
다만, “생각보다 쉽다”는 기대와 달리 실제 구축 과정에서는 꽤 많은 인프라 요소를 고려해야 했다.
구성은 단순하다.
Redash는 생각보다 리소스를 많이 사용한다.
t3.small (2vCPU, 2GB RAM)t3.medium (2vCPU, 4GB RAM)t2.micro(1GB)로도 시도해봤지만,
메모리·디스크 모두 부족해 설치 단계에서 실패했다.
Root EBS 볼륨은 최소 20GB, 가능하면 30GB 이상을 권장한다.
8GB 환경에서는 설치 중 no space left on device 오류가 거의 확정적으로 발생한다.
0.0.0.0/0 → Internet GatewayRedash용 EC2 보안그룹 예시 (redash-group)
중요한 점은 DB 포트(3306/5432)는 EC2 인바운드에 열 필요가 없다는 것이다.
DB 포트는 RDS 보안그룹에서 제어해야 한다.
메모리가 2GB 이하라면 스왑을 설정해 두는 것이 안전하다.
sudo fallocate -l 2G /swapfile
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile
echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab
free -h
sudo apt update
sudo apt install -y docker.io docker-compose-plugin
sudo systemctl enable docker
sudo systemctl start docker
공식 setup 스크립트를 그대로 사용했다.
git clone https://github.com/getredash/setup.git
cd setup
sudo ./setup.sh
설치 후 다음 컨테이너들이 떠 있어야 한다.
EC2 내부 테스트:
curl http://localhost
curl http://localhost:5000
http://<EC2 퍼블릭 IP> (Nginx 경유)http://<EC2 퍼블릭 IP>:5000관리자 계정 생성 화면이 나오면 정상이다.
핵심은 IP가 아니라 보안그룹을 Source로 지정하는 것이다.
RDS 보안그룹 Inbound:
redash-group이렇게 하면 Redash EC2만 DB에 접근할 수 있다.
no space left on device)t2.micro + 8GB 환경에서 Docker 이미지 레이어 추출 중 실패.
원인
해결
교훈
docker ps 정상점검 순서
curl localhost교훈
문제
정답
3306 → Source: redash-group교훈
Redash를 EC2 위에 직접 올리는 작업은 단순 설치를 넘어
인프라 전반을 이해해야 가능한 작업이었다.
이번 경험으로 정리된 핵심은 다음이다.
이 과정을 한 번 겪고 나니,
이후 다른 사내 도구(Grafana, Metabase 등)를 올릴 때도 훨씬 수월해졌다