

# Aurora 클러스터 및 인스턴스의 가동 시간 확인
<a name="USER_Reboot.Uptime"></a>

 Aurora 클러스터의 각 DB 인스턴스에 대한 마지막 재부팅 이후 경과 시간을 확인하고 모니터링할 수 있습니다. Amazon CloudWatch 지표 `EngineUptime`은 DB 인스턴스가 마지막으로 시작된 이후의 시간(초)을 보고합니다. 특정 시점에 이 지표를 검토하여 DB 인스턴스의 가동 시간을 확인할 수 있습니다. 이 지표를 시간대별로 모니터링하여 인스턴스가 재부팅되는 시기를 감지할 수도 있습니다.

 클러스터 수준에서 `EngineUptime` 지표를 검사할 수도 있습니다. `Minimum` 및 `Maximum` 차원은 클러스터의 모든 DB 인스턴스에 대한 최소 및 최대 가동 시간 값을 보고합니다. 클러스터의 리더 인스턴스가 재부팅되거나 다른 이유로 다시 시작된 최근 시간을 확인하려면 `Minimum` 차원을 사용하여 클러스터 수준 지표를 모니터링합니다. 클러스터에서 재부팅 없이 가장 오래 지속된 인스턴스를 확인하려면 `Maximum` 차원을 사용하여 클러스터 수준 지표를 모니터링합니다. 예를 들어 구성 변경 후 클러스터의 모든 DB 인스턴스가 재부팅되었는지 확인해야 할 수 있습니다.

**작은 정보**  
 장기 모니터링의 경우 클러스터 수준 대신 개별 인스턴스에 대한 `EngineUptime` 지표를 모니터링하는 것이 좋습니다. 클러스터에 새 DB 인스턴스가 추가되면 클러스터 수준 `EngineUptime` 지표가 0으로 설정됩니다. 이러한 클러스터 변경은 Auto Scaling에서 수행되는 것과 같은 유지 관리 및 확장 작업의 일부로 발생할 수 있습니다.

 다음 CLI 예제는 클러스터의 라이터 및 리더 인스턴스에 대한 `EngineUptime` 지표를 검사하는 방법을 보여줍니다. 이 예제에는 이름이 `tpch100g`인 클러스터가 사용됩니다. 이 클러스터에는 라이터 DB 인스턴스 `instance-1234`가 있습니다. 또한 2개의 리더 DB 인스턴스 `instance-7448`과 `instance-6305`가 있습니다.

 먼저 `reboot-db-instance` 명령은 리더 인스턴스 중 하나를 재부팅합니다. `wait` 명령은 인스턴스 재부팅이 완료될 때까지 대기합니다.

```
$ aws rds reboot-db-instance --db-instance-identifier instance-6305
{
    "DBInstance": {
        "DBInstanceIdentifier": "instance-6305",
        "DBInstanceStatus": "rebooting",
...
$ aws rds wait db-instance-available --db-instance-id instance-6305
```

 CloudWatch `get-metric-statistics` 명령은 지난 5분간의 `EngineUptime` 지표를 1분 간격으로 검사합니다. `instance-6305` 인스턴스의 가동 시간이 0으로 재설정되고 다시 계산되기 시작합니다. 이 Linux용 AWS CLI 예제에서는 `$()` 변수 대체를 사용하여 CLI 명령에 해당하는 타임스탬프를 삽입합니다. 또한 Linux `sort` 명령을 사용하여 지표가 수집된 시간별로 출력 순서를 지정합니다. 이 타임스탬프 값은 출력의 각 줄에서 세 번째 필드입니다.

```
$ aws cloudwatch get-metric-statistics --metric-name "EngineUptime" \
  --start-time "$(date -d '5 minutes ago')" --end-time "$(date -d 'now')" \
  --period 60 --namespace "AWS/RDS" --statistics Maximum \
  --dimensions Name=DBInstanceIdentifier,Value=instance-6305 --output text \
  | sort -k 3
EngineUptime
DATAPOINTS	231.0	2021-03-16T18:19:00+00:00	Seconds
DATAPOINTS	291.0	2021-03-16T18:20:00+00:00	Seconds
DATAPOINTS	351.0	2021-03-16T18:21:00+00:00	Seconds
DATAPOINTS	411.0	2021-03-16T18:22:00+00:00	Seconds
DATAPOINTS	471.0	2021-03-16T18:23:00+00:00	Seconds
```

 클러스터의 인스턴스 중 하나가 재부팅되었으므로 클러스터의 최소 가동 시간이 0으로 재설정됩니다. 클러스터의 DB 인스턴스 중 하나 이상이 사용 가능한 상태로 남아 있기 때문에 클러스터의 최대 가동 시간은 재설정되지 않습니다.

```
$ aws cloudwatch get-metric-statistics --metric-name "EngineUptime" \
  --start-time "$(date -d '5 minutes ago')" --end-time "$(date -d 'now')" \
  --period 60 --namespace "AWS/RDS" --statistics Minimum \
  --dimensions Name=DBClusterIdentifier,Value=tpch100g --output text \
  | sort -k 3
EngineUptime
DATAPOINTS	63099.0	2021-03-16T18:12:00+00:00	Seconds
DATAPOINTS	63159.0	2021-03-16T18:13:00+00:00	Seconds
DATAPOINTS	63219.0	2021-03-16T18:14:00+00:00	Seconds
DATAPOINTS	63279.0	2021-03-16T18:15:00+00:00	Seconds
DATAPOINTS	51.0	2021-03-16T18:16:00+00:00	Seconds

$ aws cloudwatch get-metric-statistics --metric-name "EngineUptime" \
  --start-time "$(date -d '5 minutes ago')" --end-time "$(date -d 'now')" \
  --period 60 --namespace "AWS/RDS" --statistics Maximum \
  --dimensions Name=DBClusterIdentifier,Value=tpch100g --output text \
  | sort -k 3
EngineUptime
DATAPOINTS	63389.0	2021-03-16T18:16:00+00:00	Seconds
DATAPOINTS	63449.0	2021-03-16T18:17:00+00:00	Seconds
DATAPOINTS	63509.0	2021-03-16T18:18:00+00:00	Seconds
DATAPOINTS	63569.0	2021-03-16T18:19:00+00:00	Seconds
DATAPOINTS	63629.0	2021-03-16T18:20:00+00:00	Seconds
```

 그런 다음 다른 `reboot-db-instance` 명령에 의해 클러스터의 라이터 인스턴스가 재부팅됩니다. 다른 `wait` 명령은 라이터 인스턴스의 재부팅이 완료될 때까지 일시 중지됩니다.

```
$ aws rds reboot-db-instance --db-instance-identifier instance-1234
{
  "DBInstanceIdentifier": "instance-1234",
  "DBInstanceStatus": "rebooting",
...
$ aws rds wait db-instance-available --db-instance-id instance-1234
```

 이제 라이터 인스턴스의 `EngineUptime` 지표에서 인스턴스 `instance-1234`가 최근에 재부팅되었음을 알 수 있습니다. 리더 인스턴스 `instance-6305`도 라이터 인스턴스와 함께 자동으로 재부팅되었습니다. 이 클러스터는 Aurora MySQL 2.09를 실행 중이므로 라이터 인스턴스가 재부팅될 때 리더 인스턴스의 실행이 유지되지 않습니다.

```
$ aws cloudwatch get-metric-statistics --metric-name "EngineUptime" \
  --start-time "$(date -d '5 minutes ago')" --end-time "$(date -d 'now')" \
  --period 60 --namespace "AWS/RDS" --statistics Maximum \
  --dimensions Name=DBInstanceIdentifier,Value=instance-1234 --output text \
  | sort -k 3
EngineUptime
DATAPOINTS	63749.0	2021-03-16T18:22:00+00:00	Seconds
DATAPOINTS	63809.0	2021-03-16T18:23:00+00:00	Seconds
DATAPOINTS	63869.0	2021-03-16T18:24:00+00:00	Seconds
DATAPOINTS	41.0	2021-03-16T18:25:00+00:00	Seconds
DATAPOINTS	101.0	2021-03-16T18:26:00+00:00	Seconds

$ aws cloudwatch get-metric-statistics --metric-name "EngineUptime" \
  --start-time "$(date -d '5 minutes ago')" --end-time "$(date -d 'now')" \
  --period 60 --namespace "AWS/RDS" --statistics Maximum \
  --dimensions Name=DBInstanceIdentifier,Value=instance-6305 --output text \
  | sort -k 3
EngineUptime
DATAPOINTS	411.0	2021-03-16T18:22:00+00:00	Seconds
DATAPOINTS	471.0	2021-03-16T18:23:00+00:00	Seconds
DATAPOINTS	531.0	2021-03-16T18:24:00+00:00	Seconds
DATAPOINTS	49.0	2021-03-16T18:26:00+00:00	Seconds
```