샘플 일정 - AWS의 인스턴스 스케줄러

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

샘플 일정

AWS의 인스턴스 스케줄러를 사용하면 Amazon Elastic Compute Cloud(Amazon EC2) 및 Amazon Relational Database Service(Amazon RDS) 인스턴스를 자동으로 시작하고 중지할 수 있습니다. 다음 섹션에서는 여러 일반적인 사용 사례에 맞게 조정할 수 있는 몇 가지 예제 일정을 제공합니다.

표준 9~5 근무 시간

이 일정은 런던에서 평일 오전 9시~오후 5시에 인스턴스를 실행하는 방법을 보여줍니다.

기간

이 기간은 오전 9시에 인스턴스를 시작하고 평일(월~금) 오후 5시에 인스턴스를 중지합니다.

필드 Type

begintime

String

09:00

endtime

String

16:59

name

String

weekdays-9-5

weekdays

StringSet

mon-fri

Schedule

일정 이름은 인스턴스에 적용해야 하는 태그 값과 사용할 시간대를 제공합니다.

필드 Type

name

String

london-working-hours

periods

StringSet

weekdays-9-5

timezone

String

Europe/London

인스턴스 태그

인스턴스에이 일정을 적용하려면 인스턴스에 Schedule=london-working-hours 태그를 추가해야 합니다. AWS CloudFormation 인스턴스 스케줄러 태그 이름 파라미터에서 기본 태그 이름을 변경하면 태그가 달라집니다. 예를 들어 태그 이름으로 Sked를 입력한 경우 태그는가 됩니다Sked=london-working-hours. 자세한 내용은 Amazon Elastic Compute Cloud 사용 설명서리소스 태그 지정을 참조하세요.

스케줄러 CLI

인스턴스 스케줄러 CLI를 사용하여 위 일정을 구성하려면 다음 명령을 사용합니다.

scheduler-cli create-period --stack <stackname> --name weekdays-9-5 --weekdays mon-fri --begintime 9:00 --endtime 16:59

scheduler-cli create-schedule --stack <stackname> --name london-working-hours --periods weekdays-9-5 --timezone Europe/London

Europe/London

사용자 지정 리소스

다음 CloudFormation 템플릿은 일정 사용자 지정 리소스를 사용하여 위의 일정을 생성합니다.

이 템플릿을 배포하려면 이전에 배포한 Instance Scheduler Hub 스택을 선택한 다음 출력을 선택하여 AWS CloudFormation 콘솔에서 찾을 수 있는 ServiceInstanceScheduleServiceToken ARN을 제공해야 합니다. AWS CloudFormation

AWSTemplateFormatVersion: 2010-09-09
Parameters:
  ServiceInstanceScheduleServiceTokenARN:
    Type: String
    Description: (Required) service token arn taken from InstanceScheduler outputs
Metadata:
  'AWS::CloudFormation::Designer': {}
Resources:
  LondonWorkingWeek:
    Type: 'Custom::ServiceInstanceSchedule'
    Properties:
      NoStackPrefix: 'True'
      Name: london-working-hours
      Description: run instances from 9am to 5pm in London on weekdays
      ServiceToken: !Ref ServiceInstanceScheduleServiceTokenARN
      Timezone: Europe/London
      Periods:
     - Description: 9am to 5pm on weekdays
        BeginTime: '09:00'
        EndTime: '16:59'
        WeekDays: mon-fri

오후 5시 이후 인스턴스 중지

인스턴스는 하루 중 언제든지 자유롭게 시작할 수 있으며이 일정은 중지 명령이 매일 오후 5시에 자동으로 전송되도록 합니다.

기간

이 기간은 매일 오후 5시에 인스턴스를 중지합니다.

필드 Type

endtime

String

16:59

name

String

stop-at-5

Schedule

일정 이름은 인스턴스에 적용해야 하는 태그 값과 사용할 시간대를 제공합니다.

필드

name

String

stop-at-5-new-york

periods

StringSet

stop-at-5

timezone

String

America/New York

인스턴스 태그

이 일정을 인스턴스에 적용하려면 인스턴스에 Schedule=stop-at-5-new-york 태그를 추가해야 합니다. AWS CloudFormation 인스턴스 스케줄러 태그 이름 파라미터에서 기본 태그 이름을 변경한 경우 태그가 달라집니다. 예를 들어 태그 이름으로 Sked를 입력한 경우 태그는 Sked=stop-at-5-new-york가 됩니다. 자세한 내용은 Amazon Elastic Compute Cloud 사용 설명서리소스 태그 지정을 참조하세요.

스케줄러 CLI

인스턴스 스케줄러 CLI를 사용하여 위 일정을 구성하려면 다음 명령을 사용합니다.

scheduler-cli create-period --stack <stackname> --name stop-at-5 --endtime 16:59

scheduler-cli create-schedule --stack <stackname> --name stop-at-5-new-york --periods stop-at-5 --timezone America/New_York

사용자 지정 리소스

다음 CloudFormation 템플릿은 일정 사용자 지정 리소스를 사용하여 위의 일정을 생성합니다.

이 템플릿을 배포하려면 이전에 배포한 Instance Scheduler Hub 스택을 클릭하고 출력을 선택하여 AWS CloudFormation 콘솔에서 찾을 수 있는 ServiceInstanceScheduleServiceToken ARN을 제공해야 합니다. AWS CloudFormation

AWSTemplateFormatVersion: 2010-09-09
Parameters:
  ServiceInstanceScheduleServiceTokenARN:
    Type: String
    Description: (Required) service token arn taken from InstanceScheduler outputs
Metadata:
  'AWS::CloudFormation::Designer': {}
Resources:
  StopAfter5:
    Type: 'Custom::ServiceInstanceSchedule'
    Properties:
      NoStackPrefix: 'True'
      Name: stop-at-5-new-york
      Description: stop instances at 5pm ET every day
      ServiceToken: !Ref ServiceInstanceScheduleServiceTokenARN
      Timezone: America/New_York
      Periods:
      - Description: stop at 5pm
        EndTime: '16:59'

주말 동안 인스턴스 중지

이 일정은 월요일 동부 표준시 오전 9시부터 금요일 동부 표준시 오후 5시까지 인스턴스를 실행하는 방법을 보여줍니다. 월요일과 금요일은 하루가 아니기 때문에이 일정에는 월요일, 화요일-목요일, 금요일의 세 기간이 포함됩니다.

기간

첫 번째 기간은 월요일 오전 9시에 태그가 지정된 인스턴스를 시작하고 자정에 중지됩니다. 이 기간에는 다음 필드와 값이 포함됩니다.

필드 Type

begintime

String

09:00

endtime

String

23:59

name

String

mon-start-9am

weekdays

StringSet

mon

두 번째 기간은 화요일부터 목요일까지 하루 종일 태그가 지정된 인스턴스를 실행합니다. 이 기간에는 다음 필드와 값이 포함됩니다.

필드

name

String

tue-thu-full-day

weekdays

StringSet

tue-thu

세 번째 기간은 금요일 오후 5시에 태그가 지정된 인스턴스를 중지합니다. 이 기간에는 다음 필드와 값이 포함됩니다.

필드

begintime

String

00:00

endtime

String

16:59

name

String

fri-stop-5pm

weekdays

StringSet

fri

Schedule

일정은 세 기간을 태그가 지정된 인스턴스의 일정에 결합합니다. 일정에는 다음 필드와 값이 포함됩니다.

필드

name

String

월-오전 9시-금-오후 5시

periods

StringSet

mon-start-09am,tue-thu-full-day,fri-stop-5pm

timezone

String

America/New_York

인스턴스 태그

인스턴스에이 일정을 적용하려면 인스턴스에 Schedule=mon-9am-fri-5pm 태그를 추가해야 합니다. AWS CloudFormation 인스턴스 스케줄러 태그 이름 파라미터에서 기본 태그 이름을 변경한 경우 태그가 달라집니다. 예를 들어 Sked를 태그 이름으로 입력한 경우 태그는가 됩니다Sked=mon-9am-fri-5pm. 자세한 내용은 Amazon Elastic Compute Cloud 사용 설명서리소스 태그 지정을 참조하세요.

스케줄러 CLI

인스턴스 스케줄러 CLI를 사용하여 위 일정을 구성하려면 다음 명령을 사용합니다.

scheduler-cli create-period --stack <stackname> --name
mon-start-9am --weekdays mon --begintime 9:00 --endtime 23:59
scheduler-cli create-period --stack <stackname> --name
tue-thu-full-day --weekdays tue-thu
scheduler-cli create-period --stack <stackname> --namefri-stop-5pm --weekdays fri --begintime 0:00 --endtime 17:00

scheduler-cli create-schedule --stack <stackname> --name
mon-9am-fri-5pm --periods
mon-start-9am,tue-thu-full-day,fri-stop-5pm -timezone
America/New_York

사용자 지정 리소스

다음 CloudFormation 템플릿은 일정 사용자 지정 리소스를 사용하여 위의 일정을 생성합니다.

이 템플릿을 배포하려면 이전에 배포한 Instance Scheduler Hub 스택을 선택한 다음 출력을 선택하여 AWS CloudFormation 콘솔에서 찾을 수 있는 ServiceInstanceScheduleServiceToken ARN을 제공해야 합니다. AWS CloudFormation

AWSTemplateFormatVersion: 2010-09-09
Parameters:
  ServiceInstanceScheduleServiceTokenARN:
    Type: String
    Description: (Required) service token arn taken from InstanceScheduler outputs
Metadata:
  'AWS::CloudFormation::Designer': {}
Resources:
  StopOnWeekends:
    Type: 'Custom::ServiceInstanceSchedule'
    Properties:
      NoStackPrefix: 'True'
      Name: mon-9am-fri-5pm
      Description: start instances at 9am on monday and stop them at 5pm on friday
      ServiceToken: !Ref ServiceInstanceScheduleServiceTokenARN
      Timezone: America/New_York
      Periods:
      - Description: 9am monday start
        BeginTime: '09:00'
        EndTime: '23:59'
        WeekDays: mon
      - Description: all day tuesday-thursday
        WeekDays: tue-thu
      - Description: 5pm friday stop
        BeginTime: '00:00'
        EndTime: '16:59'
        WeekDays: fri

솔루션 리소스

다음 리소스는 AWS 스택의 인스턴스 스케줄러의 일부로 생성됩니다.

리소스 이름 Type 설명

기본

AWS::Lambda::Function

AWS Lambda 함수의 인스턴스 스케줄러.

스케줄러 구성 헬퍼

Custom::ServiceSetup

글로벌 구성 설정을 Amazon DynamoDB에 저장합니다.

스케줄러 호출 권한

AWS::Lambda::Permission

Amazon CloudWatch 이벤트가 인스턴스 스케줄러의 AWS Lambda 함수를 호출하도록 허용합니다.

스케줄러 로그

AWS::Logs::LogGroup

인스턴스 스케줄러에 대한 CloudWatch 로그 그룹입니다.

스케줄러 정책

AWS::IAM::Policy

스케줄러가 시작 및 중지 작업을 수행하고, Amazon EC2 인스턴스 속성을 변경하고, 태그를 설정하고, 스케줄러 리소스에 액세스할 수 있도록 허용하는 정책입니다.

스케줄러 규칙

AWS::Events::Rule

스케줄러의 Lambda 함수를 호출하는 Amazon EventBridge 이벤트 규칙입니다.

구성 지표 이벤트 규칙

AWS::Events::Rule

구성 설명 익명화된 지표 함수를 주기적으로 호출하는 Amazon EventBridge 이벤트 규칙입니다. 익명화된 지표가 비활성화되면 비활성화됩니다.

상태 테이블

AWS::DynamamoDB::Table

원하는 인스턴스의 마지막 상태를 저장하는 DynamoDB 테이블입니다.

구성 테이블

AWS::DynamamoDB::Table

글로벌 구성, 일정 및 기간 데이터를 저장하는 DynamoDB 테이블입니다.

인스턴스 스케줄러 SNS 주제

AWS::SNS::Topic

구독한 이메일 주소로 경고 및 오류 메시지를 보냅니다.