AWS EC2 - Instance Scheduling
- Server
- 2022. 5. 8. 23:35
AWS EC2 - Instance Scheduling
EC2를 24시간 켜두지 않고 자는 시간에는 꺼서 비용을 절감하려고 한다.
(만약 탄력적IP를 사용하고 있다면 알아두자! 탄력적IP는 인스턴스가 중지 중일때는 과금된다.
그런데 현재 나의 t2.micro 1cpu의 경우 시간당0.0144USD, 탄력적IP가 비연결시 시간당 0.005USD 과금이라 스케줄이 하는게 더 이득이다.)
1. CloudFormation 스택 생성
'탬플릿 지정' > 다음 버튼
(시작하기 전에 오른쪽 위에 region이 ec2-instance의 region과 같은지 확인하고 진행하도록! 무조건 같아야함.)
2. 스택 세부 정보 지정
스택 이름 설정
Default time zone 서울로 설정, Frequency 5분으로 설정
Enable CloudWatch Logs -> Yes로 설정, Started tags -> state=started, Stopped tags -> state=stopped 설정
3. '스택 옵션 구성'은 건드릴 필요 없으므로 다음 버튼
4. '검토'에서는 맞게 적었는지 확인
5. 체크박스 체크 후 스택 생성
(체크박스를 무조건 체크해야 ec2에 권한을 가질 수 있다.)
6. CREATE_IN_PROGRESS 단계에서 어느정도 기다려야함
7. 생성완료
8. CloudFormation에서 작업이 끝나면 DynamoDB로 들어간다.
방금 만든 Ec2instanceScheduler에서 '리소스'탭에 보면 DynamoDB를 생성한 것을 확인할 수 있다. 링크도 있음.
9. DynamoDB에서 Config(설정) 테이블이 생성되어있다.
거기서 type이 schedule인 것중 name이 running인 항목이 확인 되고 해당 항목은 인스턴스를 시작해주는 녀석이다.
9-2. 여기서 type이 config, name이 scheduler인 녀석이 있다. 이녀석의 tagname(Schedule)이 이따가 ec2 태그 추가시 태그 키에 넣어줘야하는 녀석이다.
10. ec2 인스턴스 정지
11. ec2 인스턴스 태그 관리에서
키 Schedule, 값 running 입력 후 추가 (반드시 Schedule로 대소문자 구분해서 적어주자 아래 이미지처럼 schedule 소문자로 적으면 안됨. 아까 9-2에서 설명한 tagname값임.)
12. 기다리면 인스턴스가 실행되는 것을 확인 가능하다.
(아까 CloudFormation에서 Frequency를 5분으로 했기때문에 5분마다 해당 태그가 실행됨)
12-2. 그리고 ec2 태그에 키 state, 값 started라고 생긴다.
12-3. 또한 DynamoDB 테이블 중 상태 테이블에도 ec2 running이라고 상태가 바뀐다.
13. 일정 시간에 인스턴스를 실행하려면 기존꺼를 복사하는 방법이 쉽다.
14. 항목 추가1 (period/jhs-custom001)
(09:00~23:55 기간에만 인스턴스가 실행되도록 설정한 예시)
14-2. 항목 추가2 (schedule/myschedule)
15. 태그 추가
ec2인스턴스 태그에 키 Schedule, 값 myschedule로 추가!
잘되는거같다.ㅎㅎ 깨어있는 시간에만 인스턴스가 실행되도록 하면서 비용을 절감할 수 있다.
로그는 CloudWatch에서 확인 가능.
'Server' 카테고리의 다른 글
CentOS7 sh 서비스 등록 (0) | 2022.05.10 |
---|---|
CentOS7 재부팅시 systemctl 서비스 자동실행 (0) | 2022.05.10 |
AWS EC2 SWAP MEMORY (0) | 2022.04.26 |
AWS EC2 생성 (0) | 2022.04.09 |
Iptime DDNS 설정 (0) | 2019.06.05 |
이 글을 공유하기