기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
Amazon EventBridge에서 예약된 규칙(레거시)에 대한 일정 패턴 설정
참고
예약된 규칙은 EventBridge의 레거시 기능입니다.
EventBridge는 대규모로 예약된 작업을 중앙에서 생성, 실행 및 관리하는 보다 유연하고 강력한 방법인 EventBridge 스케줄러를 제공합니다. EventBridge 스케줄러를 사용하면 반복 패턴에 대해 cron 및 rate 표현식을 사용하여 일정을 만들거나 일회성 간접 호출을 구성할 수 있습니다. 전송을 위한 유연한 기간을 설정하고, 재시도 제한을 정의하고, 실패한 API 간접 호출의 최대 보존 시간을 설정할 수 있습니다.
스케줄러는 사용자 지정이 가능하며 더 광범위한 대상 API 작업 및 AWS 서비스를 통해 예약된 규칙보다 향상된 확장성을 제공합니다. 스케줄러를 사용하여 일정에 따라 대상을 간접적으로 호출하는 것이 좋습니다.
자세한 내용은 일정 생성 또는 EventBridge 스케줄러 사용 설명서를 참조하세요.
EventBridge에서 예약된 규칙을 생성할 때 EventBridge가 규칙을 실행하는 시기를 결정하는 일정 패턴을 지정할 수 있습니다.
cron 표현식을 사용하여 특정 시간과 날짜에 규칙을 실행합니다.
rate 표현식을 사용하여 규칙을 정기적으로 실행합니다.
cron 표현식
cron 표현식에는 각각 공백으로 구분되는 필수 필드 6개가 있습니다.
구문
cron(fields)
| 필드 | 값 | 와일드카드 |
|---|---|---|
|
Minutes |
0~59 |
, - * / |
|
시간 |
0~23 |
, - * / |
|
날짜 |
1~31 |
, - * ? / L W |
|
월 |
1-12 또는 JAN-DEC |
, - * / |
|
요일 |
1-7 또는 SUN-SAT |
, - * ? L # |
|
연도 |
1970~2199 |
, - * / |
와일드카드
-
,(쉼표) 와일드카드는 추가 값을 포함합니다. ‘월’ 필드에서 JAN, FEB, MAR은 1월, 2월, 3월을 포함한다는 의미입니다.
-
-(대시) 와일드카드는 범위를 지정합니다. ‘일’ 필드에서 1-15는 지정된 달의 1일에서 15일까지 포함한다는 의미입니다.
-
*(별표) 와일드카드는 필드의 모든 값을 포함합니다. ‘시간’ 필드에서 *는 모든 시간을 포함한다는 의미입니다. '날짜' 및 '요일' 필드 모두에서 *를 사용할 수 없습니다. 필드 중 하나에 사용할 경우 다른 하나에는 반드시 ?를 사용해야 합니다.
-
/(슬래시) 와일드카드로 증분을 지정합니다. 예를 들어, '분' 필드에 1/10을 입력하면 지정한 시간의 1분부터 시작해서 매 10분 간격을 지정할 수 있습니다(즉, 11분, 21분, 31분 등).
-
?(물음표) 와일드카드는 any를 지정합니다. '날짜' 필드에 7을 입력하고 일주일 중 어느 날이라도 괜찮다면 '요일' 필드에는 ?을 입력합니다.
-
'날짜' 또는 '요일' 필드에서 L 와일드카드로 해당 월 또는 주의 마지막 날을 지정할 수 있습니다.
-
'날짜' 필드에서는
W와일드카드로 어떤 한 평일을 지정할 수 있습니다. 예를 들어 '날짜' 필드에3W를 입력하면 해당 월의 세 번째 평일에 가장 가까운 날을 지정할 수 있습니다. -
'요일' 필드의 # 와일드카드는 그 달에 속한 정해진 요일의 특정 인스턴스를 지정합니다. 예를 들어, 3#2는 그 달의 두 번째 화요일입니다. 3은 각 주의 셋째 날이므로 화요일을 나타내고 2는 그 달의 두 번째 해당 요일입니다.
참고
'#' 문자를 사용하는 경우 요일(day-of-week) 필드에 하나의 표현식만 정의할 수 있습니다. 예를 들어
"3#1,6#3"은(는) 두 개의 표현식으로 해석되기 때문에 유효하지 않습니다.
제한 사항
-
같은 cron 표현식에서 '날짜' 및 '요일' 필드를 지정할 수 없습니다. 필드 중 하나에 값 또는 *(별표)를 지정하는 경우 다른 필드에는 ?(물음표)를 사용해야 합니다.
-
1분보다 빠른 속도로 이어지는 cron 표현식은 지원되지 않습니다.
예제
예약에 따라 규칙을 생성할 때는 다음과 같이 동일한 cron 문자열을 사용할 수 있습니다.
| 분 | 시간 | 일 | 월 | 요일 | 연도 | 의미 |
|---|---|---|---|---|---|---|
|
0 |
10 |
* |
* |
? |
* |
매일 오전 10시(UTC+0)에 실행 |
|
15 |
12 |
* |
* |
? |
* |
매일 오후 12시 15분(UTC+0)에 실행 |
|
0 |
18 |
? |
* |
월-금 |
* |
매주 월요일부터 금요일까지 오후 6시(UTC+0)에 실행 |
|
0 |
8 |
1 |
* |
? |
* |
매월 1일 오전 8시(UTC+0)에 실행 |
|
0/15 |
* |
* |
* |
? |
* |
15분마다 실행 |
|
0/10 |
* |
? |
* |
월-금 |
* |
월요일부터 금요일까지 10분마다 실행 |
|
0/5 |
8~17 |
? |
* |
월-금 |
* |
월요일부터 금요일까지 오전 8시부터 오후 5시 55분(UTC+0) 사이에 5분마다 실행 |
|
0/30 |
20-2 |
? |
* |
월-금 |
* |
시작일 오후 10시부터 다음 날 오전 2시까지 월요일부터 금요일까지 30분마다 실행(UTC) 월요일 오전 12시부터 오전 2시까지 실행합니다(UTC). |
다음 예에서는 매일 오후 12시(UTC+0)에 실행되는 규칙을 생성합니다.
aws events put-rule --schedule-expression "cron(0 12 * * ? *)" --nameMyRule1
다음 예에서는 매일 오후 2시 5분과 오후 2시 35분(UTC+0)에 실행되는 규칙을 생성합니다.
aws events put-rule --schedule-expression "cron(5,35 14 * * ? *)" --nameMyRule2
다음 예에서는 2019년부터 2022년까지 매월 마지막 금요일 오전 10시 15분(UTC+0)에 실행되는 규칙을 생성합니다.
aws events put-rule --schedule-expression "cron(15 10 ? * 6L 2019-2022)" --nameMyRule3
rate 표현식
rate 표현식은 예약된 이벤트 규칙을 생성할 때 시작되며, 정의된 일정에 따라 실행됩니다.
rate 표현식에는 각각 공백으로 구분되는 필수 필드 2개가 있습니다.
구문
rate(value unit)
- 값
-
양수.
- 단위
-
시간 단위. 1의 값(예:
minute)과 1을 초과하는 값(예:minutes)은 서로 다른 단위가 필요합니다.유효값: 분 | 분 | 시간 | 시간 | 일 | 일
제한 사항
값이 1과 같을 경우에는 단위가 단수여야 합니다. 값이 1보다 크면 단위는 복수여야 합니다. 예를 들어, rate(1 hours)와 rate(5 hour)는 잘못된 식이며, rate(1 hour)와 rate(5 hours)가 유효한 식입니다.
예제
다음 예제에서는 put-rule 명령과 함께 AWS CLI rate 표현식을 사용하는 방법을 보여줍니다. 첫 번째 예제는 1분마다 규칙을 트리거하고, 두 번째 예제는 5분마다 규칙을 트리거하며, 다음은 한 시간에 한 번 트리거하고, 마지막 예제는 하루에 한 번 트리거합니다.
aws events put-rule --schedule-expression "rate(1 minute)" --nameMyRule2
aws events put-rule --schedule-expression "rate(5 minutes)" --nameMyRule3
aws events put-rule --schedule-expression "rate(1 hour)" --nameMyRule4
aws events put-rule --schedule-expression "rate(1 day)" --nameMyRule5