

# API Gateway에서 REST API에 대한 CloudWatch 로깅 설정
<a name="set-up-logging"></a>

요청 실행 또는 API에 대한 클라이언트 액세스와 관련된 문제를 디버깅하기 위해 Amazon CloudWatch Logs를 활성화하여 API 호출을 로깅할 수 있습니다. CloudWatch에 대한 자세한 내용은 [Amazon CloudWatch 지표를 사용한 REST API 실행 모니터링](monitoring-cloudwatch.md) 단원을 참조하십시오.

CloudWatch에는 두 가지 유형의 API 로깅이 있습니다.
+ **실행 로깅** – API Gateway는 오류 및 실행 추적을 포함하여 API 요청을 처리하는 데 수행된 작업을 로깅합니다. 실행 로그를 자체 대상으로 라우팅하도록 Amazon CloudWatch Logs 전송을 구성할 수도 있습니다.
+ **액세스 로깅** – API에 액세스한 사람과 방법을 기록합니다. 자체 로그 그룹을 생성하고 로그 형식을 선택한 다음 포함할 `$context` 변수를 지정합니다.

실행 로깅과 액세스 로깅을 서로 독립적으로 활성화할 수 있습니다.

## CloudWatch 로깅에 대한 권한
<a name="set-up-access-logging-permissions"></a>

CloudWatch Logs를 활성화하려면 계정의 CloudWatch에 로그를 읽고 쓸 수 있는 권한을 API Gateway에 부여해야 합니다. [AmazonAPIGatewayPushToCloudWatchLogs](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AmazonAPIGatewayPushToCloudWatchLogs.html) 관리형 정책에는 필요한 모든 권한이 있습니다.

**참고**  
API Gateway는 IAM 역할을 수임하기 위해 AWS Security Token Service를 호출하므로 AWS STS가 해당 리전에 대해 활성화되어 있는지 확인하십시오. 자세한 내용은 [AWS 리전에서 AWS STS 관리](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_enable-regions.html)를 참조하세요.

이러한 권한을 계정에 부여하려면 신뢰할 수 있는 엔터티로 `apigateway.amazonaws.com`이 포함된 IAM 역할을 생성하고, 이전 정책을 이 IAM 역할에 연결한 다음, [계정](https://docs.aws.amazon.com/apigateway/latest/api/API_GetAccount.html)의 [cloudWatchRoleArn](https://docs.aws.amazon.com/apigateway/latest/api/API_UpdateAccount.html#cloudWatchRoleArn) 속성에서 IAM 역할 ARN을 설정합니다. CloudWatch Logs를 활성화하려는 각 AWS 리전에 대해 개별적으로 [cloudWatchRoleArn](https://docs.aws.amazon.com/apigateway/latest/api/API_UpdateAccount.html#cloudWatchRoleArn) 속성을 설정해야 합니다.

IAM 역할 ARN을 설정할 때 오류가 발생하는 경우, AWS Security Token Service 계정 설정을 확인하여 사용 중인 리전에 AWS STS가 활성화되어 있는지 확인합니다. AWS STS 활성화에 대한 자세한 내용은 *IAM 사용 설명서*의 [AWS 리전에서 AWS STS 관리](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_enable-regions.html#sts-regions-activate-deactivate)를 참조하세요.

**Topics**
+ [CloudWatch 로깅에 대한 권한](#set-up-access-logging-permissions)
+ [REST API에 대한 실행 로깅](rest-api-execution-logging.md)
+ [REST API에 대한 액세스 로깅](set-up-access-logging.md)