

• AWS Systems Manager CloudWatch 대시보드는 2026년 4월 30일 이후에는 더 이상 사용할 수 없습니다. 고객은 Amazon CloudWatch 콘솔을 계속 사용하여 현재와 마찬가지로 Amazon CloudWatch 대시보드를 보고, 생성하고, 관리할 수 있습니다. 자세한 내용은 [Amazon CloudWatch 대시보드 설명서](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Dashboards.html)를 참조하세요.

# 참조: Systems Manager용 Cron 및 Rate 표현식
<a name="reference-cron-and-rate-expressions"></a>

State Manager에 유지 관리 기간 또는 AWS Systems Manager 연결을 생성할 때는 창 또는 연결이 작동해야 할 시점에 대한 일정을 지정합니다. *cron 표현식*이라는 시간 기반 항목이나 *rate 표현식*이라는 빈도 기반 항목으로 일정을 지정할 수 있습니다.

## Cron 및 Rate 표현식에 대한 일반 정보
<a name="reference-cron-and-rate-expressions-intro"></a>

다음 정보는 유지 관리 기간 및 연결 모두에 대해 cron 및 rate 표션식에 적용됩니다.

**단일 실행 일정**  
연결 유지 관리 기간을 생성할 때 지정된 시간에 한 번 실행되도록 협정 세계 표준시(UTC) 형식으로 타임스탬프를 지정할 수 있습니다. 예: `"at(2020-07-07T15:55:00)"`

**일정 오프셋**  
연결 및 유지 관리 기간은 cron 표현식에 대해서만 *일정 오프셋*을 지원합니다. 일정 오프셋은 연결 또는 유지 관리 기간을 실행하기 전에 cron 표현식에 의해 지정된 날짜 및 시간 이후에 대기할 일 수입니다.  
다음 명령에서 cron 표현식은 매월 셋째 화요일 오후 11:30에 실행되도록 유지 관리 기간을 예약합니다. 그러나, 일정 오프셋이 `2`인 경우 2일 후 오후 11시 30분까지 유지 관리 기간이 실행되지 않습니다.  

```
aws ssm create-maintenance-window \
    --name "My-Cron-Offset-Maintenance-Window" \
    --allow-unassociated-targets \
    --schedule "cron(30 23 ? * TUE#3 *)" \
    --duration 4 \
    --cutoff 1 \
    --schedule-offset 2
```
다음 명령에서 cron 표현식은 매월 두 번째 목요일에 실행되도록 연결을 예약합니다. 하지만 스케줄 오프셋이 `3`이므로 3일 후인 다음 일요일까지 연결이 실행되지 않습니다.  

```
aws ssm create-association \
    --name "AWS-UpdateSSMAgent" \
    --targets "Key=instanceids,Values=i-0cb2b964d3e14fd9f" \
    --schedule-expression "cron(0 0 ? * THU#2 *)"  \
    --schedule-offset 3
    --apply-only-at-cron-interval
```
연결과 함께 오프셋을 사용하려면 `--apply-only-at-cron-interval` 옵션을 지정해야 합니다. 이 옵션은 시스템에 연결을 만든 직후에 연결을 실행하지 말라고 알려줍니다.
현재 기간에 이미 경과한 날짜를 대상으로 하는 cron 표현식을 사용하여 연결 또는 유지 관리 기간을 생성하지만, 미래에 해당하는 일정 오프셋 날짜를 추가하면 연결 또는 유지 관리 기간이 해당 기간에 실행되지 않습니다. 다음 기간에 적용됩니다. 예를 들어 어제 유지 관리 기간을 실행한 cron 표현식을 지정하고 일정 오프셋을 2일로 추가하면 유지 관리 기간은 내일 실행되지 않습니다.

**필수 필드**  
유지 관리 기간에 대한 cron 표현식에는 필수 필드가 6개 있습니다. 연결에 대한 cron 표현식에는 5개가 있습니다. (State Manager은(는) 현재 연결에 대한 cron 표현식에서 월 지정을 지원하지 않습니다.) 추가 필드인 `Seconds` 필드(cron 표현식의 첫 번째 필드)는 선택 사항입니다. 각 필드는 공백으로 구분됩니다.    
**Cron 표현식의 예**    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/systems-manager/latest/userguide/reference-cron-and-rate-expressions.html)
요일 범위(예: `MON-FRI`) 및 쉼표로 구분된 요일 목록(예: `MON,TUE,WED`)은 유지 관리 기간에만 지원됩니다. 연결의 경우 단일 요일(예: `MON`)을 지정하거나 매일에 해당하는 `*`를 사용해야 합니다.

**지원되는 값**  
다음 표에는 필수적인 cron 항목에 대해 지원되는 값이 나와 있습니다.    
**Cron 표현식에 대해 지원되는 값**    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/systems-manager/latest/userguide/reference-cron-and-rate-expressions.html)
동일한 cron 표현식에서 월 필드와 주 필드 모두에 값을 지정할 수는 없습니다. 이들 필드 중 하나에 값을 지정하는 경우에는 다른 필드에서 반드시 ?(물음표)를 사용합니다.

**cron 표현식에 대한 와일드카드**  
다음 표에는 cron 표현식에서 지원되는 와일드카드 값이 나와 있습니다.  
5분보다 빠른 속도로 이어지는 cron 표현식은 지원되지 않습니다. day-of-week 및 day-of-month 값을 모두 지정하기 위한 지원 기능은 완전하지 않습니다. 이들 필드 중 하나에 ?(물음표)를 사용합니다.  
**Cron 표현식에 대해 지원되는 와일드카드**    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/systems-manager/latest/userguide/reference-cron-and-rate-expressions.html)

**rate 표현식**  
rate 식에는 다음과 같은 필수 필드가 2개 있습니다. 각 필드는 공백으로 구분됩니다.    
**Rate 표현식의 필수 필드**    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/systems-manager/latest/userguide/reference-cron-and-rate-expressions.html)
값이 `1`(와)과 같을 경우에는 단위가 단수여야 합니다. 마찬가지로, `1`보다 큰 값에 대해서는 단위가 복수여야 합니다. 예를 들어 `rate(1 hours)`와 `rate(5 hour)`는 유효하지 않으며 `rate(1 hour)`와 `rate(5 hours)`는 유효합니다.

**Topics**
+ [Cron 및 Rate 표현식에 대한 일반 정보](#reference-cron-and-rate-expressions-intro)
+ [연결에 대한 Cron 및 Rate 표현식](#reference-cron-and-rate-expressions-association)
+ [유지 관리 기간에 대한 Cron 및 Rate 표현식](#reference-cron-and-rate-expressions-maintenance-window)

## 연결에 대한 Cron 및 Rate 표현식
<a name="reference-cron-and-rate-expressions-association"></a>

이 단원에는 State Manager 연결에 대한 cron 및 rate 표현식의 예제가 포함되어 있습니다. 이러한 표현식 중 하나를 생성하기 전에 다음 정보에 유의해야 합니다.
+ 연결은 1/2, 1, 2, 4, 8 또는 12시간마다, 매일, 매주, 또는 매주 특정 날짜 및 시간, 매월 특정 주의 특정 날짜나 달의 마지막 `x`일의 특정 시간과 같은 cron 표현식을 지원합니다.
+ 연결은 30분 이상 및 31일 미만의 간격과 같은 rate 표현식을 지원합니다.
+ 옵션인 `Seconds` 필드를 지정한 경우 값으로 0을 사용할 수 있습니다. 예: `cron(0 */30 * * * ? *)`
+ AWS Systems Manager의 도구인 Inventory에 대한 메타데이터를 수집하는 연결의 경우 rate 표현식을 사용하는 것이 좋습니다.
+ State Manager은(는) 현재 연결에 대한 cron 표현식에서 월 지정을 지원하지 않습니다.

연결은 요일 및 숫자 기호(\$1)를 포함하는 cron 표현식을 지원함으로써 매달 *n* 번째 일을 지정하여 연결을 실행합니다. 매월 셋째 주 화요일 UTC 23:30에 cron 일정을 실행하는 예는 다음과 같습니다.

`cron(30 23 ? * TUE#3 *)`

매월 두 번째 목요일 UTC 자정에 실행하는 예는 다음과 같습니다.

`cron(0 0 ? * THU#2 *)`

또한 연결은 (L) 기호를 지원하여 매월 마지막 *X* 일을 표시합니다. 매월 마지막 화요일 UTC 자정에 cron 일정을 실행하는 예는 다음과 같습니다.

`cron(0 0 ? * 3L *)`

예를 들어, 화요일을 패치한 지 2일 후 연결을 실행하려는 경우 연결 실행 시기를 추가로 제어하려면 오프셋을 지정할 수 있습니다. *오프셋*을 통해 연결을 실행하도록 예약된 날짜 이후에 대기할 일 수를 정의할 수 있습니다. 예를 들어, `cron(0 0 ? * THU#2 *)`의 cron 일정을 지정한 경우 **일정 오프셋** 필드에 숫자 3을 지정하여 매월 두 번째 목요일 이후 매주 일요일에 연결을 실행할 수 있습니다.

오프셋을 사용하려면 콘솔에서 **지정된 다음 Cron 간격에서만 연결 적용(Apply association only at the next specified Cron interval)** 옵션을 선택하거나 명령줄에서 `--apply-only-at-cron-interval` 파라미터를 지정해야 합니다. 이 옵션은 State Manager에게 연결을 만든 직후에 연결을 실행하지 말라고 알려줍니다.

다음 표에는 연결에 대한 cron 예제가 나와 있습니다.


**연결에 대한 Cron 예제**  

| 예제 | Details | 
| --- | --- | 
|  cron(0/30 \$1 \$1 \$1 ? \$1)  |  30분마다  | 
|  cron(0 0/1 \$1 \$1 ? \$1)  |  매 시간  | 
|  cron(0 0/2 \$1 \$1 ? \$1)  |  2시간마다  | 
|  cron(0 0/4 \$1 \$1 ? \$1)  |  4시간마다  | 
|  cron(0 0/8 \$1 \$1 ? \$1)  |  8시간마다  | 
|  cron(0 0/12 \$1 \$1 ? \$1)  |  12시간마다  | 
|  cron(15 13 ? \$1 \$1 \$1)  |  매일 오후 1시 15분  | 
|  cron(15 13 ? \$1 MON \$1)  |  매주 월요일 오후 1시 15분  | 
|  cron(30 23 ? \$1 TUE\$13 \$1)  |  매월 세 번째 화요일 오후 11:30  | 

다음은 연결에 대한 몇 가지 rate 예제입니다.


**연결에 대한 Rate 예제**  

| 예제 | Details | 
| --- | --- | 
|  rate(30 minutes)  |  30분마다  | 
|  rate(1 hour)  |  매 시간  | 
|  rate(5 hours)  |  5시간마다  | 
|  rate(15 days)  |  15일마다  | 

****연결에 대한 AWS CLI 예제****  
AWS CLI를 사용하여 State Manager 연결을 생성하려면 `--schedule-expression` 파라미터를 cron 또는 rate 표현식과 함께 포함합니다. 다음 예에서는 로컬 Linux 시스템에서 AWS CLI를 사용합니다.

**참고**  
기본적으로 새 연결을 만들면 새 연결이 생성된 직후에 실행되고 그 후에 지정된 일정에 따라 실행됩니다. 연결을 생성한 직후 연결이 실행되지 않도록 `--apply-only-at-cron-interval`을 지정합니다. 이 파라미터는 rate 표현식에 대해 지원되지 않습니다.

```
aws ssm create-association \
    --association-name "My-Cron-Association" \
    --schedule-expression "cron(0 2 ? * SUN *)" \
    --targets Key=tag:ServerRole,Values=WebServer \
    --name AWS-UpdateSSMAgent
```

```
aws ssm create-association \
    --association-name "My-Rate-Association" \
    --schedule-expression "rate(7 days)" \
    --targets Key=tag:ServerRole,Values=WebServer \
    --name AWS-UpdateSSMAgent
```

```
aws ssm create-association \
    --association-name "My-Rate-Association" \
    --schedule-expression "at(2020-07-07T15:55:00)" \
    --targets Key=tag:ServerRole,Values=WebServer \
    --name AWS-UpdateSSMAgent \
    --apply-only-at-cron-interval
```

## 유지 관리 기간에 대한 Cron 및 Rate 표현식
<a name="reference-cron-and-rate-expressions-maintenance-window"></a>

이 단원에는 유지 관리 기간에 대한 cron 및 rate 표현식의 예제가 포함되어 있습니다.

State Manager 연결과 달리 유지 관리 기간은 cron 및 rate 표현식 중 일부를 지원하지 않습니다. 여기에는 초 필드의 값에 대한 지원이 포함됩니다.

예를 들어 다음 6필드 cron 표현식은 매일 오전 9시 30분에 유지 관리 기간을 실행합니다.

```
cron(30 09 ? * * *)
```

`Seconds` 필드에 값을 추가하여 다음 7필드 cron 표현식은 매일 오전 9시 30분 24초에 유지 관리 기간을 실행합니다.

```
cron(24 30 09 ? * * *)
```

다음 표에는 유지 관리 기간에 대한 추가 6필드 cron 예제가 나와 있습니다.


**유지 관리 기간에 대한 Cron 예제**  

| 예제 | Details | 
| --- | --- | 
|  cron(0 2 ? \$1 THU\$13 \$1)  |  매월 셋째 목요일 오전 2시  | 
|  cron(15 10 ? \$1 \$1 \$1)  |  매일 오전 10시 15분  | 
|  cron(15 10 ? \$1 MON-FRI \$1)  |  매주 월요일, 화요일, 수요일, 목요일, 금요일 오전 10시 15분  | 
|  cron(0 2 L \$1 ? \$1)  |  매월 말일 오전 2시  | 
|  cron(15 10 ? \$1 6L \$1)  |  매월 마지막 금요일 오전 10시 15분  | 

다음 표에는 유지 관리 기간에 대한 rate 예제가 나와 있습니다.


**유지 관리 기간에 대한 Rate 예제**  

| 예제 | Details | 
| --- | --- | 
|  rate(30 minutes)  |  30분마다  | 
|  rate(1 hour)  |  매 시간  | 
|  rate(5 hours)  |  5시간마다  | 
|  rate(25 days)  |  25일마다  | 

****유지 관리 기간에 대한** 예제AWS CLI**  
AWS CLI를 사용하여 유지 관리 기간을 생성하려면 `--schedule` 파라미터를 cron 또는 rate 표현식 또는 타임스탬프와 함께 포함합니다. 다음 예에서는 로컬 Linux 시스템에서 AWS CLI를 사용합니다.

```
aws ssm create-maintenance-window \
    --name "My-Cron-Maintenance-Window" \
    --allow-unassociated-targets \
    --schedule "cron(0 16 ? * TUE *)" \
    --schedule-timezone "America/Los_Angeles" \
    --start-date 2021-01-01T00:00:00-08:00 \
    --end-date 2021-06-30T00:00:00-08:00 \
    --duration 4 \
    --cutoff 1
```

```
aws ssm create-maintenance-window \
    --name "My-Rate-Maintenance-Window" \
    --allow-unassociated-targets \
    --schedule "rate(7 days)" \
    --duration 4 \
    --schedule-timezone "America/Los_Angeles" \
    --cutoff 1
```

```
aws ssm create-maintenance-window \
    --name "My-TimeStamp-Maintenance-Window" \
    --allow-unassociated-targets \
    --schedule "at(2021-07-07T13:15:30)" \
    --duration 4 \
    --schedule-timezone "America/Los_Angeles" \
    --cutoff 1
```

**추가 정보**  
*위키백과 웹사이트*의 [CRON 표현식](https://en.wikipedia.org/wiki/Cron#CRON_expression)