AWS ELB와 Auto Scaling 연동, nginx
-
- Webserver(Nginx)
- IP : 설정 IP
- Port : 8080
- AWS ELB를 사용하면 ELB DNS 네임으로 접근 가능하기 때문에 사실 Webserver의 필요성은 높지 않다.
하지만 도메인 이외의 서비스를 요청하는 회사가 있기 때문에 그리고 ELB는 고정 IP를 사용 불가하다. (2개의 IP를 할당 받으나 동적으로 변경 됨) - Nginx의 기능은 javascript api, webservice api 호출시 호출을 AWS ELB로 전달 해준다.
- Nginx 설정 파일 경로
- /etc/nginx 하위
- /etc/nginx/site-enabled/gProxyServer
- /etc/nginx 하위
- Webserver(Nginx)
-
- AWS ELB(Elastic Load Balancing)
- WAS의 부하 분산
- Nginx, WAS 와 8080 port를 통해서 통신
- 60초 동안 ping 응답이 없으면 인스턴스 가동 확인 실패로 판단
- WAS의 상태값에 따른 auto scaling 발동하게 되면 추가 삭제 instance는 자동으로 ELB의 인스턴스로 추가 된다.
- DNS 주소로 직접 접근 가능
- AWS ELB(Elastic Load Balancing)
-
- AWS Auto Scaling
- WAS 인스턴스 상태에 따라서 Scaling 조절
- 1 WAS 80% >= CPU 1분동안 평균 조건을 만족하면 1 WAS를 자동으로 증설
- 1 WAS CPU 1분동안 평균 >= 20% 조건을 만족하면 1WAS를 자동으로 삭제
- 추가 증설은 미리 설정해둔 AMI를 이용하여 생성한다.
- AMI에는 초기 버전의 gProxyServer가 포함되어 있음
- 기능 개선 및 개발소스 업데이트가 발생하면 Auto Scaling 세팅을 삭제 후 재작성 해야함
- 이미지 및 초기 설치 script는 수정이 안됨
- AMI 이용하여 instance 생성시 그룹 codeDeply(배포)를 위해서 IAM role을 CodeDeply-EC2로 설정 해줘야 한다.
- 설정한 조건에 만족하지 않아서 Instance 즉시 추가, 삭제 가능(Auto Scaling Groups => 하단 메뉴중 Scaling Policies => Actions 메뉴)
- AWS Auto Scaling