본문 바로가기
IT/FinOps

[AWS] 인스턴스 스케줄러 사용법 (2) - 작동 방법

by Jany 2022. 7. 19.
반응형

인스턴스 스케줄러가 먼지 궁금하신 분들은 1편부터!! 

https://newstars.tistory.com/542

 

[AWS] 인스턴스 스케줄러 사용법 (1) - 스택생성

AWS 인스턴스 스케줄러는 인스턴스 시작과 중지 일정을 설정하여 비용을 아낄수 있게 도와주는 서비스 이다. https://aws.amazon.com/ko/solutions/implementations/instance-scheduler/ 링크에 보면 구현 가이드..

newstars.cloud

 

인스턴스 스케줄러가 동작하는 구성도 이다.

동작 방식은 다음 순서로 진행된다.

  1. 일정한 간격으로 Amazon CloudWatch Events 설정 (cron식). 해당 이벤트가 AWS Instance Scheduler AWS Lambda 함수를 호출.
  2. 사전에 정의 한 Schedule, Period 등의 Value가 Amazon DynamoDB에 저장. Lambda 함수는 실행할 때마다 이를 검색.

  3. Lambda 함수는 리소스에 대한 권한 요구 사항에 대해 AWS Identity Access Management(AWS IAM)를 사용, Amazon Simple Notification Service(Amazon SNS 주제, Optional) 및 Dynamo DB 테이블 암호화에 AWS Key Management System(AWS KMS)을 사용.

  4. Lambda 함수가 실행될 때마다 Scheduler 태그가 부착 된 인스턴스의 Schedule, Period 를 확인 하여 현재 상태를 확인한 다음 Start 또는 Stop.
    → 예를 들어 Lambda 함수가 금요일 오전 8시에 호출되고 Schedule=Running 태그가 있는, Stopped 상태의 EC2 를 확인 한 경우 일정 구성 세부 정보에 대해 Amazon DynamoDB를 확인합니다. 일정에 인스턴스가 월요일부터 금요일까지 오전 8시부터 오후 8시까지 실행되어야 함을 나타내는 Period Rule이 포함되어 있으면 Lambda 함수가 해당 인스턴스를 시작

  5. Lambda 함수는 일정 이름, 해당 일정과 연결된 인스턴스 수, 실행 중인 인스턴스 수를 Amazon CloudWatch Logs에 기록

  6. Cloudwatch Logs 의 Subscription Filter 기능을 사용 하여  Scheduler result에 Instance Status 가 변화가 있으면 Lambda Function 을 통해 SLACK 으로 Noti.
반응형

댓글