API에 대한 클라이언트 액세스와 관련된 문제를 디버깅하기 위해 API 호출을 Amazon Data Firehose에 로깅할 수 있습니다. Firehose에 대한 자세한 내용은 Amazon Data Firehose란 무엇입니까?를 참조하실 수 있습니다.
액세스 로깅을 위해서는 CloudWatch 또는 Firehose 중 하나만 활성화할 수 있으며 둘 다 활성화할 수 없습니다. 하지만 실행 로깅을 위해 CloudWatch를 활성화하고 액세스 로깅을 위해 Firehose를 활성화할 수 있습니다.
API Gateway에 대한 Firehose 로그 형식
Firehose 로깅은 CloudWatch 로깅과 동일한 형식을 사용합니다.
Firehose 로깅에 대한 권한
단계에서 Firehose 액세스 로깅이 활성화된 경우, 역할이 이미 존재하지 않으면 API Gateway가 사용자의 계정에 서비스 연결 역할을 생성합니다. 그 역할의 이름은 AWSServiceRoleForAPIGateway
이고 이 역할에는 APIGatewayServiceRolePolicy
관리형 정책이 연결됩니다. 서비스 연결 역할에 대한 자세한 내용은 서비스 연결 역할 사용 단원을 참조하십시오.
참고
Firehose 스트림의 이름은 amazon-apigateway-
이어야 합니다.{your-stream-name}
API Gateway 콘솔을 사용하여 Firehose 액세스 로깅 설정
API 로깅을 설정하려면 API를 단계에 배포해야 합니다. 또한 Firehose 스트림도 생성해야 합니다.
https://console.aws.amazon.com/apigateway
에서 API Gateway 콘솔에 로그인합니다. -
다음 중 하나를 수행합니다.
-
기존 API를 선택한 다음 스테이지를 선택합니다.
-
API를 생성하여 단계에 배포합니다.
-
기본 탐색 창에서 스테이지를 선택합니다.
-
로그 및 추적 섹션에서 편집을 선택합니다.
-
Firehose 스트림에 대한 액세스 로깅을 활성화하려면:
-
사용자 지정 액세스 로깅을 활성화합니다.
-
액세스 로그 대상 ARN에 Firehose 스트림의 ARN을 입력합니다. ARN 형식은
arn:aws:firehose:
입니다.{region}
:{account-id}
:deliverystream/amazon-apigateway-{your-stream-name}
참고
Firehose 스트림의 이름은
amazon-apigateway-
이어야 합니다.{your-stream-name}
-
로그 형식에 로그 형식을 입력합니다. CLF, JSON, XML 또는 CSV를 선택할 수 있습니다. 예제 로그 형식에 대한 자세한 내용은 API Gateway에 대한 CloudWatch 로그 형식 섹션을 참조하세요.
-
-
Save changes(변경 사항 저장)를 선택합니다.
이제 API Gateway가 API에 대한 요청을 Firehose에 기록할 준비가 되었습니다. 단계 설정, 로그 또는 단계 변수를 업데이트할 때 API를 다시 배포할 필요가 없습니다.