투케이2K

323. (TWOK/ERROR) [AWS] Api GateWay 및 Lambda Proxy 통합 설정 Internal server error 발생 - API 응답 반환 구문 에러 본문

투케이2K 에러관리

323. (TWOK/ERROR) [AWS] Api GateWay 및 Lambda Proxy 통합 설정 Internal server error 발생 - API 응답 반환 구문 에러

투케이2K 2025. 8. 23. 10:38
728x90

[환경 설정 및 설명]

프로그램 : AWS

설 명 : [AWS] Api GateWay 및 Lambda Proxy 통합 설정 Internal server error 발생 - API 응답 반환 구문 에러

 

[설 명]

--------------------------------------------------------------------------
[개발 및 테스트 환경]
--------------------------------------------------------------------------

- 제목 : [AWS] Api GateWay 및 Lambda Proxy 통합 설정 Internal server error 발생 - API 응답 반환 구문 에러


- 테스트 환경 : AWS / Lambda / Function


- 사전) Aws API Gateway 게이트웨이 설명 정리 - 중개 서버 : 

  >> Aws API Gateway 는 규모와 관계없이 REST 및 WebSocket API 를 생성, 게시, 유지, 모니터링 및 보호하기 위한 AWS 서비스입니다

  >> Aws API Gateway 는 트래픽 관리, CORS 지원, 권한 부여 및 액세스 제어, 제한, 모니터링 및 API 버전 관리 등 최대 수십만 개의 동시 API 호출을 수신 및 처리하는 데 관계된 모든 작업을 처리합니다

  >> Aws API Gateway 에서 제공하는 대표적 API 종류 : 

    - [RESTful] HTTP API : 프록시 기능 정도만을 사용할 때 적합하며, 단순하고 빠릅니다

    - [RESTful] REST API : API 관리 기능 및 API 요청/응답에 대한 제어가 필요할 경우 사용합니다

    - WebSocket API : 웹소켓 (실시간 양방향 통신) 사용 시 주로 사용합니다 
  
      : API Gateway는 백엔드 서비스와 클라이언트 간의 메시지 전송을 처리하기 위해 지속적인 연결을 유지합니다

    -  참고 : API Gateway 는 표준 HTTP 메서드 (예: GET, POST, PUT, PATCH, DELETE) 를 구현합니다


- 사전) AWS Lambda 설명 : 

  >> Aws Lambda 는 서버 리스 FaaS 솔루션으로, 함수의 인스턴스를 실행하여 이벤트를 처리할 수 있습니다

  >> Aws Lambda 는 이벤트에 응답하여 코드를 실행 하고 해당 코드에 필요한 컴퓨팅 리소스를 자동으로 관리합니다

--------------------------------------------------------------------------





--------------------------------------------------------------------------
[에러 원인]
--------------------------------------------------------------------------

1. AWS Api GateWay 및 Lambda Proxy 통합 설정 이후 Python 환경 Lambda 함수에서 return 반환 시 응답 문법이 올바르지 않아서 발생하는 이슈


2. 에러 발생 로그 전문 : 

  { "message": "Internal server error" }

--------------------------------------------------------------------------





--------------------------------------------------------------------------
[해결 방법]
--------------------------------------------------------------------------

1. AWS Lambda 함수 내에서 Lambda 프록시 통합 시 필수 응답 형식에 맞게 return 구문 수정 실시


2. Lambda 프록시 통합 시 필수 응답 형식 예시 : 

  {
    "statusCode": 200,
    "headers": {
      "Content-Type": "application/json"
    },
    "body": "응답 내용 (문자열)"
  }


3. 실제 코드 사용 예시 (Python) : 

  response["statusCode"] = 400
  response["headers"] = {
    "Content-Type": "application/json"
  }
  response["body"] = json.dumps(
    {
      "error" : "ClientError",
      "error_message" : "필수 파라미터 (channelName) 가 누락되었습니다."
    }
  )

--------------------------------------------------------------------------





--------------------------------------------------------------------------
[참고 사이트]
--------------------------------------------------------------------------

[Amazon API Gateway] Aws API Gateway 게이트웨이 설명 정리 - 중개 서버

https://blog.naver.com/kkh0977/223827753479


[Amazon API Gateway] Aws API Gateway 게이트웨이 API 엔드포인트 유형 정리

https://blog.naver.com/kkh0977/223911565693


[Aws Lambda] Aws 사이트에서 생성 된 Lambda 람다 검증 함수 리스트 및 내용 소스 코드 확인 방법

https://blog.naver.com/kkh0977/223765198383

--------------------------------------------------------------------------
 
728x90
반응형
Comments