쪼렙 as! 풀스택

Elastic Beanstalk 과금 안되도록, 서버 셧다운하기 본문

개발 일지/AWS

Elastic Beanstalk 과금 안되도록, 서버 셧다운하기

코코앱 2017. 5. 16. 16:53

Elastic Beanstalk 자체로는 과금이 되질 않는다. 다만, Auto Scaling 을 이요해서 Beanstalk 환경을 만들어 두면, 그에 맞게 EC2 가 자동으로 생성되고 서버가 돌아가기 시작하기 때문에 계속해서 과금이 된다. 문제는 테스트를하거나 Beanstalk 환경을 만들었을 경우에 더이상 과금이 안되도록 서버를 내려줘야 하는데, EC2 목록에 가서 직접 인스턴스를 삭제해버려도, 자동으로 생성된다!!! (대단하다 ㅡ,.ㅡ;) 이것은 Auto Scaling 기능으로, 자동으로 EC2가 생성되고 삭제되고 하기 때문이다. 

물론 Beanstalk 의 Environment 자체를 Terminate 시키거나, Application 을 삭제해버리면, 자동으로 생성된 EC2 도 같이 삭제되긴 한다. 그렇지만 개발하다보면 실서버 환경에서 잠시만 테스트가 필요한 때에만 잠시 서버를 구동시켜야할 때가 있다. 이때마다 새로 Beanstalk 환경을 새로 만드는 뻘짓을  하지 않도록 Auto Scaling 의 기능을 이용해보자.




1. Elastic Beanstalk 의 Configuration - Scaling 설정을 선택한다.

 





2.  하단에 Time-based Scaling 을 열어주고 Add Scheduled action 을 선택해준다.

 




3. Instances 의 min 과 max 를 모두 0으로 만들어준다!

Occurence : One-time,

Start time 에 입력된 시간부터 이 Instance 의 갯수가 적용이 되는데, UTC 를 기준으로 적용이 되기 때문에, 현재 우리나라 시간으로 맞추지 말자. 하단에 보면 Current UTC time 이 표시되기 때문에, 이 시간을 기준으로 설정하면 되겠다. 이 스케줄이 적용하는데도 Pending 시간이 걸리기 때문에,  지금 당장의 시간을 입력하지 말고, 현재시간보다 약 5분에서 10분정도의 여유를 주고 시간을 입력하자. 입력 후 ADD 클릭.

 





4. 방금 입력한 스케줄이 목록에 표시된다. 하단에 Apply 를 눌러야 서버에 이 스케줄이 등록된다. 이 Apply 를 누르면 서버가 Pending 상태로 넘어가므로 3번에서 말했듯이 셧다운 스케줄 시간을 여유롭게 주자. 이 셧다운 스케줄 등록이 완료되고, 실제 입력한 시간이 되면 자동으로 관련된 EC2 인스턴스는 삭제되고, 더이상 과금이 되지 않는다.




Comments