Skip to content

AWS SDK for JavaScript v2에서 v3로 마이그레이션

pc5401 edited this page Dec 4, 2024 · 1 revision

문제 상황 🚨

aws-sdk를 사용하여 Ncloud Object Storage(예: S3)에 이미지 업로드 기능을 구현하고 npm run start:dev를 실행했더니 다음과 같은 경고 메시지가 나타났습니다:


(node:6244) NOTE: The AWS SDK for JavaScript (v2) is in maintenance mode.
SDK releases are limited to address critical bug fixes and security issues only.

Please migrate your code to use AWS SDK for JavaScript (v3).
For more information, check the blog post at https://a.co/cUPnyil
(Use `node --trace-warnings ...` to show where the warning was created)

원인 분석 🕵️‍♀️

  • 의미: 현재 사용 중인 AWS SDK for JavaScript 버전 2(v2)는 유지보수 모드에 들어갔습니다. 이는 새로운 기능 추가는 없으며, 중요한 버그 수정과 보안 패치만 제공된다는 뜻입니다.
  • 권장 사항: AWS에서는 AWS SDK for JavaScript 버전 3(v3)로의 마이그레이션을 권장하고 있습니다. v3는 모듈화되어 있어 필요한 부분만 선택적으로 사용할 수 있으며, 성능 향상과 새로운 기능이 포함되어 있습니다.

해결 방법 📝

1. AWS SDK v3 문서 확인 📚

2. 마이그레이션 가이드 따라하기 🔄

3. 의존성 업데이트 📦

  • package.json 수정: 기존 aws-sdk 의존성을 제거하고, 필요한 v3 패키지를 설치합니다.
npm uninstall aws-sdk
npm install @aws-sdk/client-s3

4. 코드 자동 변환 도구 사용 🚀

  • 자동 마이그레이션 도구: npx를 이용하여 AWS에서 제공하는 코드 변환 도구를 실행하면, v2 코드를 v3로 자동 변환할 수 있습니다.
npx aws-sdk-js-codemod -t v2-to-v3 PATH... # PATH에 변환할 코드의 경로를 입력
  • 이 도구는 지정한 경로의 v2 코드를 v3로 자동 변환해 줍니다.

5. 의존성 재설치 🔄

  • 필요한 모듈 설치: 자동 변환 후, 필요한 AWS SDK v3 모듈들을 설치합니다.
npm install @aws-sdk/client-s3
  • 필요에 따라 다른 AWS 서비스 클라이언트도 설치합니다.

주의 사항 ⚠️

  • 코드 검토: 자동 변환 도구를 사용하더라도, 변환된 코드를 수동으로 검토하여 필요한 수정 사항이 없는지 확인합니다.
  • 테스트 실행: 모든 기능이 정상적으로 작동하는지 확인하기 위해 테스트를 실행합니다.

결론 🎉

AWS SDK for JavaScript를 v3로 업그레이드함으로써 최신 기능과 성능 향상습니다. 인상적인 것은 새로운 v3는 모듈화된 패키지를 통해 번들 크기를 줄여들었고, 애플리케이션의 효율성을 높일 수 있습니다. 패키지 업데이트 처음이라서 기록합니다.

👋 소개
📖 회의록
🗓️ 개발일지
🗃 설계 문서
🕵️‍♂️ 회고록
💪 멘토링 일지
🎳 트러블 슈팅
💽 발표자료
Clone this wiki locally