간단히 Nginx으로 Load Balancing 하기 with Docker Compose
1 minute read
Docker Compose으로 WAS, DB, WebServer를 하나로 묶는게 일반적이나,
배포하려는 서버가 각각의 EC2로 나누어져 있기 때문에 하나로 묶을수 없습니다.
EC2의 IP 주소를 이용한 로드밸런싱이 심플할 것으로 판단되어서 심플하게 진행한 기록입니다.
추후에 ECS나 Jenkins로 고도화를 해야겠지만, 일단은 시간이 촉박하기에 심플하게 진행하였습니다.
Set Nginx
- default.conf
upstream backend {
# ip_hash; <-- 여기에 분산 알고리즘을 지정하면 됨
server 223.130.200.104; <-- 테스트용으로 구글과 네이버 ip 지정
server 142.251.42.174;
}
server {
listen 80;
location / {
proxy_pass http://backend;
}
}
Set Docker Compose
- docker-compose
version: "3.3"
services:
webserver:
image: nginx:latest
container_name: webserver_service
tty: true
volumes:
- ./default.conf:/etc/nginx/conf.d/default.conf
ports:
- "9999:80"
$ docker-compose -f docker-compose-nginx.yml up
127.0.0.1:9999으로 접속하면 지정한 알고리즘에 따라 분산되는 것을 확인할 수 있습니다.
I feedback.
Let me know what you think of this article in the comment section below!
Let me know what you think of this article in the comment section below!
comments powered by Disqus