

# Amazon CloudWatch Logs에 MariaDB 로그 게시
<a name="USER_LogAccess.MariaDB.PublishtoCloudWatchLogs"></a>

Amazon CloudWatch Logs의 로그 그룹에 로그 데이터를 게시하도록 MariaDB DB 인스턴스를 구성할 수 있습니다. CloudWatch Logs를 통해 로그 데이터에 대한 실시간 분석을 수행할 수 있고, CloudWatch를 사용하여 경보를 만들고 지표를 볼 수 있습니다. CloudWatch Logs를 사용하여 내구성이 뛰어난 스토리지에 로그 레코드를 저장할 수 있습니다.

Amazon RDS는 각 MariaDB 데이터베이스 로그를 로그 그룹에 개별적인 데이터베이스 스트림으로 게시합니다. 예를 들어 느린 쿼리 포함하도록 내보내기 함수를 구성한다고 가정합니다. 그러면 느린 쿼리 데이터가 `/aws/rds/instance/my_instance/slowquery` 로그 그룹의 느린 쿼리 로그 스트림에 저장됩니다.

오류 로그는 기본적으로 활성화됩니다. 다음 표에는 기타 MariaDB 로그의 요구 사항이 요약되어 있습니다.


| 로그 | 요구 사항 | 
| --- | --- | 
|  감사 로그  |  DB 인스턴스는 `MARIADB_AUDIT_PLUGIN` 옵션과 함께 사용자 지정 옵션 그룹을 사용해야 합니다.  | 
|  일반 로그  |  DB 인스턴스는 파라미터 설정 `general_log = 1`과 함께 사용자 지정 파라미터 그룹을 사용하여 일반 로그를 활성화해야 합니다.  | 
|  느린 쿼리 로그  |  DB 인스턴스는 파라미터 설정 `slow_query_log = 1` 또는 `log_slow_query = 1`과 함께 사용자 지정 파라미터 그룹을 사용하여 느린 쿼리 로그를 활성화해야 합니다.  | 
|  IAM 데이터베이스 인증 오류 로그  |  DB 인스턴스를 만들거나 수정하여 DB 인스턴스의 `iam-db-auth-error` 로그 유형을 사용 설정해야 합니다.  | 
|  로그 출력  |  DB 인스턴스는 파라미터 설정 `log_output = FILE`과 함께 사용자 지정 파라미터 그룹을 사용하여 로그를 파일 시스템에 쓰고 CloudWatch Logs에 게시해야 합니다.  | 

## 콘솔
<a name="USER_LogAccess.MariaDB.PublishtoCloudWatchLogs.CON"></a>

**콘솔에서 CloudWatch Logs에 MariaDB 로그를 게시하려면**

1. [https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/)에서 Amazon RDS 콘솔을 엽니다.

1. 탐색 창에서 **데이터베이스**를 선택한 다음 변경하려는 DB 인스턴스를 선택합니다.

1. **수정**을 선택합니다.

1. **로그 내보내기** 섹션에서 CloudWatch Logs에 게시하기 시작할 로그를 선택합니다.

1. [**Continue**]를 선택한 후, 요약 페이지에서 [**Modify DB Instance**]를 선택합니다.

## AWS CLI
<a name="USER_LogAccess.MariaDB.PublishtoCloudWatchLogs.CLI"></a>

AWS CLI를 사용하여 MariaDB 로그를 게시할 수 있습니다. 다음 파라미터로 [https://docs.aws.amazon.com/cli/latest/reference/rds/modify-db-instance.html](https://docs.aws.amazon.com/cli/latest/reference/rds/modify-db-instance.html) 명령을 호출할 수 있습니다.
+ `--db-instance-identifier`
+ `--cloudwatch-logs-export-configuration`

**참고**  
`--cloudwatch-logs-export-configuration` 옵션에 대한 변경 사항은 항상 DB 인스턴스에 즉시 적용됩니다. 따라서 `--apply-immediately` 및 `--no-apply-immediately` 옵션은 지정해도 아무런 효과가 없습니다.

또 다음 AWS CLI 명령을 호출해 MariaDB 로그를 게시할 수 있습니다.
+ [https://docs.aws.amazon.com/cli/latest/reference/rds/create-db-instance.html](https://docs.aws.amazon.com/cli/latest/reference/rds/create-db-instance.html)
+ [https://docs.aws.amazon.com/cli/latest/reference/rds/restore-db-instance-from-db-snapshot.html](https://docs.aws.amazon.com/cli/latest/reference/rds/restore-db-instance-from-db-snapshot.html)
+ [https://docs.aws.amazon.com/cli/latest/reference/rds/restore-db-instance-from-s3.html](https://docs.aws.amazon.com/cli/latest/reference/rds/restore-db-instance-from-s3.html)
+ [https://docs.aws.amazon.com/cli/latest/reference/rds/restore-db-instance-to-point-in-time.html](https://docs.aws.amazon.com/cli/latest/reference/rds/restore-db-instance-to-point-in-time.html)

다음 옵션으로 AWS CLI 명령 중 하나를 실행합니다.
+ `--db-instance-identifier`
+ `--enable-cloudwatch-logs-exports`
+ `--db-instance-class`
+ `--engine`

실행하는 AWS CLI 명령에 따라 다른 옵션이 필요할 수 있습니다.

**Example**  
다음 예에서는 CloudWatch Logs에 로그 파일을 게시하도록 기존 MariaDB DB 인스턴스를 수정합니다. `--cloudwatch-logs-export-configuration` 값은 JSON 객체입니다. 이 객체에 대한 키는 `EnableLogTypes`이며, 해당 값은 `audit`, `error`, `general` 및 `slowquery`의 조합을 사용하는 문자열의 배열입니다.  
대상 LinuxmacOS, 또는Unix:  

```
1. aws rds modify-db-instance \
2.     --db-instance-identifier mydbinstance \
3.     --cloudwatch-logs-export-configuration '{"EnableLogTypes":["audit","error","general","slowquery"]}'
```
Windows의 경우:  

```
1. aws rds modify-db-instance ^
2.     --db-instance-identifier mydbinstance ^
3.     --cloudwatch-logs-export-configuration '{"EnableLogTypes":["audit","error","general","slowquery"]}'
```

**Example**  
다음 명령은 CloudWatch Logs에 로그 파일을 게시하도록 MariaDB DB 인스턴스를 만듭니다. `--enable-cloudwatch-logs-exports` 값은 문자열의 JSON 배열입니다. 문자열은 `audit`, `error`, `general` 및 `slowquery`의 조합일 수 있습니다.  
대상 LinuxmacOS, 또는Unix:  

```
1. aws rds create-db-instance \
2.     --db-instance-identifier mydbinstance \
3.     --enable-cloudwatch-logs-exports '["audit","error","general","slowquery"]' \
4.     --db-instance-class db.m4.large \
5.     --engine mariadb
```
Windows의 경우:  

```
1. aws rds create-db-instance ^
2.     --db-instance-identifier mydbinstance ^
3.     --enable-cloudwatch-logs-exports '["audit","error","general","slowquery"]' ^
4.     --db-instance-class db.m4.large ^
5.     --engine mariadb
```

## RDS API
<a name="USER_LogAccess.MariaDB.PublishtoCloudWatchLogs.API"></a>

RDS API를 사용하여 MariaDB 로그를 게시할 수 있습니다. 다음 파라미터와 함께 [https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_ModifyDBInstance.html](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_ModifyDBInstance.html) 작업을 호출할 수 있습니다.
+ `DBInstanceIdentifier`
+ `CloudwatchLogsExportConfiguration`

**참고**  
`CloudwatchLogsExportConfiguration` 파라미터에 대한 변경 사항은 항상 DB 인스턴스에 즉시 적용됩니다. 따라서 `ApplyImmediately` 파라미터는 지정해도 아무런 효과가 없습니다.

또한 다음 RDS API 작업을 호출해 MariaDB 로그를 게시할 수 있습니다.
+ [https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CreateDBInstance.html](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CreateDBInstance.html)
+ [https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_RestoreDBInstanceFromDBSnapshot.html](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_RestoreDBInstanceFromDBSnapshot.html)
+ [https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_RestoreDBInstanceFromS3.html](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_RestoreDBInstanceFromS3.html)
+ [https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_RestoreDBInstanceToPointInTime.html](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_RestoreDBInstanceToPointInTime.html)

다음 파라미터로 RDS API 작업 중 하나를 실행합니다.
+ `DBInstanceIdentifier`
+ `EnableCloudwatchLogsExports`
+ `Engine`
+ `DBInstanceClass`

실행하는 AWS CLI 명령에 따라 다른 파라미터가 필요할 수 있습니다.