Tenma

[AWS] 502 에러 본문

Cloud/AWS

[AWS] 502 에러

Tenma2 2026. 1. 19. 23:25

 

해당 구축을 진행하던중 502에러가 발생했는데요!

 

아래 게시글을 참고하신 후 봐주시면 좋습니다!

 

2026.01.16 - [Cloud/AWS] - [AWS] IVS chat을 활용한 라이브 스트리밍 채팅 구성 (3)

 

 

1. 문제 상황

 

 


로컬에서 npm start 후 접속을 하였는데 502 에러가 발생했습니다...

 

참고: 해당 화면은 F12 -> Network -> Headers 를 통해 확인 가능합니다.

 

 

 

 

 

 

 

API Gateway에서도 테스트가 가능한데요!

 

역시 502에러가 발생합니다..

 

 

2. 문제 해결

  • 로그 확인
[ec2-user@ip-10-1-1-140 src]$ cd ~/amazon-ivs-chat-web-demo/serverless
sam logs -n chatAuthFunction --stack-name ivs-chat-demo --tail

  • 원인
Error: Cannot find module 'aws-sdk’

 

  1. 의존성(Dependency) 누락
    Error: Cannot find module 'aws-sdk'라는 에러는 Node.js 코드가 실행될 때
    "나는 aws-sdk라는 도구가 필요한데, 내 보따리(node_modules) 안에 그게 없네?"
    • 기존 상태: 코드만 있고, 그 코드가 사용하는 라이브러리(aws-sdk)는 설치되지 않은 상태
    • 조치 후: npm install aws-sdk를 통해 해당 라이브러리를 프로젝트 폴더 안에 다운로드


  2. AWS SDK 버전 변화 (V2 vs V3)
    AWS 람다(Node.js 16 이전 버전)에는 aws-sdk가 기본적으로 내장
    하지만 최신 런타임(Node.js 18 이상)부터는 용량 최적화 등을 위해 SDK를 기본으로 제공하지 않거나, V3 버전으로 변경.


 

  • 해결
# 서버 폴더 이동
cd ~/amazon-ivs-chat-web-demo/serverless

# 명함 만들기 (폴더 이름과 버전이 없으므로 기본 설정)
npm init -y

# aws-sdk 수동 설치
npm install aws-sdk

# 다시 빌드하고 배포
sam build
sam deploy
  • SAM 빌드 프로세스의 특성
    sam build 명령어는 package.json 파일을 읽어서 필요한 라이브러리를 한데 모아 배포 패키지를 만듭니다.
    • 처음에 npm init -y를 하신 이유는 package.json 파일이 없었거나 설정이 비어 있었기 때문.
    • npm install을 실행하면서 package.json에 "이 프로젝트는 aws-sdk가 꼭 필요해!"라는 기록이 남게 되었고, 이후 sam build가 이 기록을 보고 라이브러리를 포함해 빌드했기 때문에 문제 해결!

 

코드가 작동하기 위한 부품(aws-sdk)이 빠져 있었는데,

직접 부품을 사서(npm install) 조립(sam build)한 뒤 다시 설치(sam deploy)