nginx
Cloudwatch에 nginx, spring boot에서 발생하는 log 남기기
Cloudwatch로 로그 전송하기 nginx의 로그를 남기기 위한 configuration // vi nginx.conf http { access_log /var/log/nginx/access.log error_log /var/log/nginx/error.log ... } 도커 실행 sudo docker stop proxy && sudo docker rm proxy sudo docker build -t nextstep/reverse-proxy:0.0.2 . sudo docker run -d -p 80:80 -p 443:443 --name proxy -v /var/log/nginx:/var/log/nginx nextstep/reverse-proxy:0.0.2 EC2에 awslogs agent 설치하기 만..
Nginx로 여러 대 서버를 로드밸런싱(Load-Balancing)하기
우선 원하는 구조는 위와 같으며, 흐름은 다음과 같다. nginx는 proxy역할을 하며, 별도의 인스턴스로 구성한다. WAS는 Spring Application이며, 총 두 대로 구성한다. 두 대의 WAS는 하나의 Database를 바라본다. 클라이언트는 정해진 도메인으로 접속하면, nginx에서 ip의 해시값에 따라 적절한 WAS로 요청을 분배하며, 각 WAS는 동일한 DB를 바라보고 있기 때문에 동일한 데이터를 응답할 수 있다. 사실 너무 간단해서 글로 쓰기도 뭣하지만.. 나중을 위해! WAS 구축하기 Spring Application을 띄울 EC2 인스턴스를 하나 생성한다. 생성된 EC2에 접속한 뒤, 스프링을 띄울 수 있는 환경설정을 한다. sudo apt update sudo apt insta..
Nginx와 CloudWatch 연결하기
nginx를 이용해 서버를 띄우고, 띄운 서버의 로그를 aws cloudwatch로 남겨보자. 우선! nginx를 이용해 서버를 띄우는 부분은 고수 [알리의 블로그 🚀]를 참고하면 해결 가능! 하지만 나는 이렇게 하고 나서도 단번에 해결되지 않았는데, 그 이유는 cloudwatch logs agent를 설치할 때 나의 미스테이크때문에 발생한 것이었다. 우선 EC2의 IAM role을 설정한 뒤, 서버에 cloudwatch logs agent를 설치해야한다. $ curl https://s3.amazonaws.com/aws-cloudwatch/downloads/latest/awslogs-agent-setup.py -O $ sudo python ./awslogs-agent-setup.py --region ap..