- nginx access log data๋ฅผ fluentd๋ฅผ ํตํ์ฌ kinesis๋ก 1๋ถ ๋จ์๋ก ์ ์ก
- kinesis stream์ lambda๊ฐ ๋ฐ์ json ํํ๋ก ๋ณํํ์ฌ S3์ ์ ๋ก๋
- ๋ชจ๋ ๊ฒ์ localstack์ผ๋ก ํ์ธ
$ docker build -t custom-fluentd:latest .
Dockerfile ์ฐธ๊ณ
version: '3'
services:
localstack:
container_name: "localstack"
image: localstack/localstack
ports:
- "4566-4599:4566-4599"
- "${PORT_WEB_UI-4566}:${PORT_WEB_UI-8080}"
environment:
- SERVICES=${SERVICES-lambda,kinesis,s3 }
- DEBUG=${DEBUG-1 }
- DATA_DIR=${DATA_DIR- }
- PORT_WEB_UI=${PORT_WEB_UI- }
- LAMBDA_EXECUTOR=${LAMBDA_EXECUTOR-docker-reuse }
- KINESIS_ERROR_PROBABILITY=${KINESIS_ERROR_PROBABILITY- }
- DOCKER_HOST=unix:///var/run/docker.sock
volumes:
- "./localstack:/tmp/localstack"
- "/var/run/docker.sock:/var/run/docker.sock"
nginx:
container_name: nginx
image: nginx:latest
ports:
- "80:80"
volumes:
- "./nginx/conf/nginx.conf:/etc/nginx/nginx.conf"
- "./nginx/log:/var/log/nginx"
fluentd:
container_name: fluentd
image: custom-fluentd:latest
ports:
- "24224:24224"
volumes:
- "./fluentd/fluent.conf:/fluentd/etc/fluent.conf"
- "./nginx/log:/var/log/nginx"
MacOS : $ TMPDIR=/private$TMPDIR docker-compose up -d
Others : $ docker-compose up -d
http://localhost:8080/health
$ pip install awscli-local
- ์ ์ฉํ๊ธฐ ์ํ ๋ช ๋ น :
$ terraform init
$ terraform plan
$ terraform apply
- ํ ์คํธ ํ destory :
$ terraform destroy
$ docker logs -f localstack