AWS EC2에서 docker 기반 redash를 처음부터 구성하고 시작할 때까지
오픈 소스 대시보드 도구 redash.
postgres에서 AWS redshift 등 각종 DB/DWH의 정보를 시각화할 수 있는 툴.
최근에는 Airbnb사가 개발한 superset도 주목받고 있지만, 유행 redash를 설치해 보았다.
AWS EC2에서 docker 기반 redash를 처음부터 구성하고 시작할 때까지 설정 노트.
포인트는 이하
- redash, postgresql, nginx, redis로 구성
- 모두 공식적인 도커 이미지가 있습니다.
- docker-compose로 쉽게 일괄 실행
- 각종 소스는 redash 공식 Git Hub 리포지토리에 공개됩니다.
※nginx는 web 서버, postgre는 쿼리의 실행 결과나 데이터의 보존, redis는 태스크 큐에 사용하는 것 같다.
1) EC2에 최소한 필요한 도구 설정
※amazon linux t2micro 인스턴스 사용
처음 낫지 않으면 docker & git 설치
sudo yum update -y
sudo yum install -y docker git
sudo 권한없이 docker 명령을 사용할 수 있도록 허용
sudo usermod -a -G docker ec2-user
exit #一旦ログオフし再接続が必要
docker-compose 설치
※yum install docker-compose라든지 할 수 있다고 보여서 할 수 없다
※ 최신 버전은 아래에서 확인. 1.11.2의 부분을 적절히 재작성한다.
htps : // 기주 b. 코 m / 도 c 케 r / 코 m 포세 / 레 아세 s
sudo curl -L "https://github.com/docker/compose/releases/download/1.11.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
2) Git Hub에서 redash 세트를 git close
git clone https://github.com/getredash/redash.git
3) redash docker-compose.yml 편집
clone한 redash/docker-compose.yml을 편집한다.
원래의 docker-compose.yml는 프로덕션 이용에는 적합하지 않은 설정인 것 같고, redash/docker-compose.production.yml를 카피해, 편집한다.
편집 포인트는 postgresql의 volume과 password 관련. 디폴트에서는 코멘트 아웃 또는 아무것도 기재가 없다.
docker-compose.yml
# This is an example configuration for Docker Compose. Make sure to atleast update
# the cookie secret & postgres database password.
#
# Some other recommendations:
# 1. To persist Postgres data, assign it a volume host location.
# 2. Split the worker service to adhoc workers and scheduled queries workers.
version: '2'
services:
server:
image: redash/redash:latest
command: server
depends_on:
- postgres
- redis
ports:
- "5000:5000"
environment:
PYTHONUNBUFFERED: 0
REDASH_LOG_LEVEL: "INFO"
REDASH_REDIS_URL: "redis://redis:6379/0"
REDASH_DATABASE_URL: "postgresql://postgres@postgres/postgres"
REDASH_COOKIE_SECRET: veryverysecret
worker:
image: redash/redash:latest
command: scheduler
environment:
PYTHONUNBUFFERED: 0
REDASH_LOG_LEVEL: "INFO"
REDASH_REDIS_URL: "redis://redis:6379/0"
REDASH_DATABASE_URL: "postgresql://postgres@postgres/postgres"
QUEUES: "queries,scheduled_queries,celery"
WORKERS_COUNT: 2
redis:
image: redis:3.0-alpine
postgres:
image: postgres:9.5.6-alpine
volumes: #コメントアウトを取る
- /home/ec2-user/postgres-data:/var/lib/postgresql/data
environment: #追加する
- POSTGRES_USER:'test'
- POSTGRES_PASSWORD:'pwd'
- POSTGRES_DB:'mydb'
nginx:
image: redash/nginx:latest
ports:
- "80:80"
depends_on:
- server
links:
- server:redash
postgres 데이터는 지속성을 위해 호스트에 볼륨 마운트합니다.
상기 설정에 따라 호스트 측에 마운트 경로 디렉토리를 작성한다.
sudo mkdir -p /home/ec2-user/postgres-data
4) docker-compose에서 redash(및 관련 툴) 기동
docker-compose run --rm server create_db
데이터베이스 초기화
docker-compose up
redash 시작
백그라운드 실행은 -d 옵션을 추가
5) 브라우저에서 확인
EC2 측에서 설정한 퍼블릭 IP에 브라우저로 기동하면, Redis 로그인 페이지가 표시된다.
※EC2의 SG등에서 80번의 인바운드가 허가되고 있는 것.
6) CLI로 사용자 추가
통상은 콘솔로부터 유저 추가 가능하지만, 메일 제휴에 의한 인증 플로우가 필요.
폐역 환경 이용 등 절차를 간소화하고 싶은 경우는 CLI로 추가 가능
manage.py users create [メールアドレス(適当)] "[ユーザ名]"
참고)
ぃ tp // 코 m / ぃ zp 라 코코 / ms / 아 8b3fc069816d91 꺾어 05
최신 버전 상황
2019/7 시점
· v7.0.0이 나왔다.
· docker-compose.production.yaml이 사라지고 redash/setup/docker-compose.yaml 사용
・Utuntu18.04용의 셋업 스크립트가 제공되고 있어 구축이 보다 간단하게
Reference
이 문제에 관하여(AWS EC2에서 docker 기반 redash를 처음부터 구성하고 시작할 때까지), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/suzukihi724/items/91950450734e4c9913cf
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
Reference
이 문제에 관하여(AWS EC2에서 docker 기반 redash를 처음부터 구성하고 시작할 때까지), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/suzukihi724/items/91950450734e4c9913cf텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)