EventBridge Scheduler를 이용한 스케줄링 3단계
1단계: 일정(Schedule) 생성
먼저 "언제" 실행할지 정해야 합니다. (예: 평일 오전 9시 시작)
EventBridge 콘솔 → [스케줄링(Scheduler)] → [일정(Schedules)] → [일정 생성]을 클릭합니다.
일정 이름:
Start-EC2-Workdays등으로 입력합니다.일정 패턴: 정기적인 일정(Recurring schedule)을 선택합니다.
cron 식을 사용하여 세밀하게 조정합니다. (예: 평일 오전 9시는
cron(0 9 ? * MON-FRI *))시간대(Time zone): 반드시
Asia/Seoul (KST)로 설정하세요.
2단계: 대상(Target) 선택 (EC2 API 호출)
이제 "무엇을" 할지 정합니다. 별도의 코드가 필요 없는 템플릿 기반 대상을 사용합니다.
대상 선택 화면에서 [Amazon EC2]를 검색하여 선택합니다.
수행할 작업에 따라 아래 중 하나를 선택합니다.
서버를 켤 때: [StartInstances]
서버를 끌 때: [StopInstances]
입력(Input): 대상이 될 인스턴스 ID를 JSON 형식으로 입력합니다.
{ "InstanceIds": ["i-0123456789abcdef0"] }
3단계: 권한(Permissions) 및 검토
EventBridge가 내 인스턴스를 건드릴 수 있는 '열쇠'를 쥐어주는 단계입니다.
IAM 역할:
새 역할 생성을 선택하면 AWS가 필요한 권한(ec2:StartInstances등)이 포함된 역할을 자동으로 만들어줍니다.설정 내용을 확인하고 [일정 생성]을 완료합니다.
참고: 서버를 끄는 일정(Stop)도 동일한 방식으로 하나 더 만드세요. (예: 평일 오후 6시는
cron(0 18 ? * MON-FRI *))
EventBridge Scheduler vs. Rules (차이점)
많은 분이 예전에 쓰던 'Rules'와 헷갈려 하시지만, 2026년 기준으로는 Scheduler가 압도적으로 유리합니다.
비교 항목 | EventBridge Rules (기존) | EventBridge Scheduler (권장) |
시간대 지원 | UTC 기준 (한국 시간 계산 필요) | 로컬 시간대 (Asia/Seoul) 지원 |
API 직접 호출 | 제한적 (보통 Lambda 연동 필수) | 6,000개 이상의 AWS API 직접 호출 |
일정 관리 | 단순 일정 위주 | 수백만 개의 개별 일정 관리 가능 |
유연성 | 일정 변경 시 규칙 수정 필요 | 원타임(One-time) 일정 지원 |
Tip
인스턴스가 여러 대라면 '태그(Tag)'를 활용하세요! 인스턴스 ID를 일일이 입력하는 방식은 서버가 늘어날 때마다 일정을 수정해야 해서 번거롭습니다. AWS Systems Manager(SSM) 자동화와 연동하여, AutoStop: True라는 태그가 붙은 모든 서버를 한꺼번에 끄도록 설정합니다. 관리 포인트가 획기적으로 줄어들죠.
댓글
댓글 0개
이 문서에는 댓글을 달 수 없습니다.