API Gateway 접근 로그 설정 점검

요청 추적과 조사에 필요한 접근 로그를 수집하세요.

설명

API Gateway 접근 로그는 요청 ID, 응답 상태 등 지정한 필드를 기록해 장애와 보안 이벤트 조사를 돕습니다. 필요한 단계에서 로그를 수집하지 않으면 개별 요청을 추적할 자료가 부족할 수 있습니다.

잠재적 영향

  • 비정상 요청이나 오류가 발생한 경로를 조사하기 어려울 수 있습니다.
  • 메트릭만으로 원인을 설명하기 어려운 장애의 분석이 지연될 수 있습니다.

해결 방법

Stage의 accessLogSettings에 실제 CloudWatch 로그 그룹 ARN과 요청 ID를 포함한 로그 형식을 지정하세요. 쓰기 권한과 보존 기간을 구성하고 요청을 보낸 뒤 로그가 수집되는지 확인하세요. 민감한 데이터가 로그에 남지 않도록 필드를 검토하세요.

예시

API Gateway v2 단계의 접근 로그만 비교하는 발췌입니다. exampleApi와 exampleLogGroup, 단계 이름과 배포 설정 등은 별도로 준비하세요.

변경 전

yaml
resources:
  example:
    type: aws:apigatewayv2:Stage
    properties:
      apiId: ${exampleApi.id}

변경 후

yaml
resources:
  example:
    type: aws:apigatewayv2:Stage
    properties:
      apiId: ${exampleApi.id}
      accessLogSettings:
        destinationArn: ${exampleLogGroup.arn}
        format: '{"requestId":"$context.requestId","status":"$context.status"}'

변경 후는 요청 ID와 응답 상태를 기록하는 JSON 형식을 지정합니다. 필요한 운영 필드는 추가할 수 있지만 인증 정보나 비밀정보를 불필요하게 기록하지 마세요.

참조