규칙에 대한 예약 표현식 - Amazon CloudWatch Events

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

규칙에 대한 예약 표현식

참고

Amazon EventBridge는 이벤트를 관리하는 데 선호되는 방법입니다. CloudWatch Events와 EventBridge는 기본 서비스 및 API가 동일하지만 EventBridge 가 더 많은 기능을 제공합니다. CloudWatch 또는 EventBridge 에서 변경한 내용은 각 콘솔에 나타납니다. 자세한 내용은 단원을 참조하십시오.Amazon EventBridge를 선택합니다.

CloudWatch Events에서 cron 또는 Rate 식을 사용하여 자동 일정에 따라 자체 트리거되는 규칙을 생성할 수 있습니다. 예약된 모든 이벤트는 UTC 시간대를 사용하며 예약의 최소 단위는 1분입니다.

CloudWatch Events는 cron 표현식과 rate 표현식을 지원합니다. rate 표현식은 정의하기가 더 간단하지만 cron 표현식이 지원하는 세분화된 일정 관리는 제공하지 않습니다. 예를 들어, cron 표현식을 사용하여 매주 또는 매월 특정 요일의 지정된 시간에 트리거되는 규칙을 정의할 수 있습니다. 반대로 rate 표현식은 매 시간 한 번 또는 매일 한 번과 같이 정기적으로 규칙을 트리거합니다.

참고

CloudWatch Events는 일정 표현식에 초 단위의 정밀성을 제공하지 않습니다. Cron 표현식을 사용해 가장 정밀하게 설정할 수 있는 단위가 1분입니다. CloudWatch Events와 대상 서비스가 분산되어 있기 때문에 예약된 규칙이 트리거 되는 시간과 대상 서비스가 대상 리소스 실행을 인식하는 시간 간에는 몇 초의 지연이 있을 수 있습니다. 예약된 규칙은 지정한 시간(분) 이내에 트리거되지만 정확한 초 단위로 트리거되지는 않습니다.

Cron 표현식

cron 표현식에는 각각 공백으로 구분되는 필수 필드 6개가 있습니다.

구문

cron(fields)
필드 와일드카드

0~59

, - * /

시간

0~23

, - * /

1~31

, - * ? / L W

1-12 또는 JAN-DEC

, - * /

Day-of-week

1-7 또는 SUN-SAT

, - * ? L#

연도

1970~2199

, - * /

Wildcards

  • ,(쉼표) 와일드카드에는 추가 값이 포함되어 있습니다. 예컨대, Month 필드에서 JAN, FEB, MAR은 1월, 2월, 3월을 포함한다는 의미입니다.

  • -(대시) 와일드카드로 범위를 지정할 수 있습니다. 예컨대, Day 필드에서 1-15는 지정된 달의 1일에서 15일까지 포함한다는 의미입니다.

  • *(별표) 와일드카드로 필드에 모든 값을 포함할 수 있습니다. '시간' 필드에서 *는 모든 시간을 포함한다는 의미입니다. '일' 및 '요일' 필드 모두에서 *를 사용할 수 없습니다. 필드 중 하나에 사용할 경우 다른 하나에는 반드시 ?를 사용해야 합니다.

  • /(슬래시) 와일드카드로 증분을 지정할 수 있습니다. 예를 들어, '분' 필드에 1/10을 입력하면 지정한 시간의 1분부터 시작해서 매 10분 간격을 지정할 수 있습니다(즉, 11분, 21분, 31분 등).

  • ?(물음표) 와일드카드로 어떤 것이나 지정할 수 있습니다. '일' 필드에 7을 입력하고 '요일' 필드에는 ?을 입력하면 매월 7일이 무슨 요일이든 상관없이 7번째 되는 날을 지정한다는 의미입니다.

  • '일' 또는 '요일' 필드에서 L 와일드카드로 해당 월 또는 주의 마지막 날을 지정할 수 있습니다.

  • '일' 필드에서는 W 와일드카드로 어떤 한 평일을 지정할 수 있습니다. 예를 들어 '일' 필드에 3W를 입력하면 해당 월의 세 번째 평일에 가장 가까운 날을 지정할 수 있습니다.

  • '요일' 필드의 # 와일드카드는 그 달에 속한 정해진 요일의 특정 인스턴스를 지정합니다. 예를 들어, 3#2는 그 달의 두 번째 화요일입니다. 3은 각 주의 셋째 날이므로 화요일을 나타내고 2는 그 달의 두 번째 해당 요일입니다.

    참고

    '#' 문자를 사용하는 경우 요일 필드에 하나의 표현식만 정의할 수 있습니다. 예,"3#1,6#3"는 두 개의 표현식으로 해석되기 때문에 유효하지 않습니다.

Restrictions

  • 같은 cron 표현식에서 '일' 및 '요일' 필드를 지정할 수 없습니다. 이들 필드 중 하나에 값(또는 *)을 지정하는 경우에는 다른 필드에서 반드시 ?(물음표)를 사용해야 합니다.

  • 1분보다 빠른 속도로 이어지는 cron 표현식은 지원되지 않습니다.

Examples

예약에 따라 규칙을 생성할 때는 다음과 같이 동일한 cron 문자열을 사용할 수 있습니다.

시간 요일 연도 의미

0

10

*

*

?

*

매일 오전 10시(UTC)에 실행

15

12

*

*

?

*

매일 오후 12시 15분(UTC)에 실행

0

18

?

*

월-금

*

매주 월요일부터 금요일까지 오후 6시(UTC)에 실행

0

8

1

*

?

*

매월 1일 오전 8시(UTC)에 실행

0/15

*

*

*

?

*

15분마다 실행

0/10

*

?

*

월-금

*

월요일부터 금요일까지 10분마다 실행

0/5

8~17

?

*

월-금

*

월요일부터 금요일까지 오전 8시부터 오후 5시 55분(UTC) 사이에 5분마다 실행

다음 예제에서는 AWS CLI에서 Cron 표현식을 사용하는 방법을 보여줍니다.put-rule명령. 첫 번째 예제는 매일 12:00pm UTC에 트리거되는 규칙을 생성합니다.

aws events put-rule --schedule-expression "cron(0 12 * * ? *)" --name MyRule1

다음 예제는 매일 2:00pm UTC 이후 5분 및 35분에 트리거되는 규칙을 생성합니다.

aws events put-rule --schedule-expression "cron(5,35 14 * * ? *)" --name MyRule2

두 번째 예제는 2002년부터 2005년까지 매달 마지막 금요일 10:15am UTC에 트리거되는 규칙을 생성합니다.

aws events put-rule --schedule-expression "cron(15 10 ? * 6L 2002-2005)" --name MyRule3

rate 식

rate 표현식은 예약된 이벤트 규칙을 생성할 때 시작되며, 정의된 예약 일정에 따라 실행됩니다.

rate 표현식에는 필수 필드가 2개 있습니다. 각 필드는 공백으로 구분됩니다.

구문

rate(value unit)
USD 상당

양수.

unit

시간 단위. 1의 값(예: minute)과 1을 초과하는 값(예: minutes)은 서로 다른 단위가 필요합니다.

유효값: 분 | 분 | 시간 | 시간 | 일 | 일

Restrictions

값이 1과 같을 경우에는 단위가 단수여야 합니다. 마찬가지로, 1보다 큰 값에 대해서는 단위가 복수여야 합니다. 예를 들어, rate(1 hours)와 rate(5 hour)는 잘못된 식이며, rate(1 hour)와 rate(5 hours)가 유효한 식입니다.

Examples

다음 예제에서는 AWS CLI에서 요금 표현식을 사용하는 방법을 보여줍니다.put-rule명령. 첫 번째 예제는 1분, 두 번째 예제는 5분, 세 번째 예제는 한 시간, 마지막 예제는 하루에 한 번씩 규칙을 트리거합니다.

aws events put-rule --schedule-expression "rate(1 minute)" --name MyRule2
aws events put-rule --schedule-expression "rate(5 minutes)" --name MyRule3
aws events put-rule --schedule-expression "rate(1 hour)" --name MyRule4
aws events put-rule --schedule-expression "rate(1 day)" --name MyRule5