nestjs + multer + AWS S3
NestJS에서 S3 다중 파일 업로드하기
버킷이 뭘까?
GPT
답변 복붙
Amazon S3 (Simple Storage Service)는 Amazon 웹 서비스(AWS)의 클라우드 스토리지 서비스로, 데이터를 안전하게 저장하고 관리하기 위한 플랫폼을 제공합니다. S3의 주요 구성 요소 중 하나는 "버킷(Bucket)"입니다. 아래에서 S3 버킷에 대한 설명을 제공합니다:
- 버킷의 정의: S3 버킷은 데이터를 저장하는 기본 컨테이너입니다. 버킷은 글로벌하게 고유한 이름을 가져야 하며, 모든 S3 객체(파일 또는 데이터)는 반드시 특정 버킷에 속해야 합니다.
- 버킷의 이름: 버킷 이름은 전 세계에서 고유해야 합니다. 이것은 AWS에서 제어하고 관리하며, 중복된 이름을 사용할 수 없습니다. 버킷 이름은 DNS 호스트 이름의 형태를 가지며, 예를 들어 "my-s3-bucket"과 같은 형식입니다.
- 데이터 저장: 버킷은 다양한 종류의 데이터(텍스트, 이미지, 비디오, 문서 등)를 저장하는 데 사용됩니다. 이 데이터는 S3 객체로 저장되며, 객체는 버킷 내에서 고유한 키(파일 이름)를 갖습니다.
- 데이터 접근 제어: S3 버킷은 다양한 액세스 권한 및 정책을 설정하여 데이터의 안전성과 보안을 제어할 수 있습니다. AWS Identity and Access Management (IAM) 및 버킷 정책을 사용하여 데이터 액세스를 관리할 수 있습니다.
- 데이터 관리 및 수명 주기: S3 버킷에서 데이터의 수명 주기를 관리할 수 있습니다. 이를 통해 데이터의 보관 기간, 자동 삭제, 데이터 이동, 압축 및 기타 데이터 관리 작업을 설정할 수 있습니다.
- 스토리지 클래스: S3 버킷에서 데이터를 저장할 때 여러 가지 스토리지 클래스를 선택할 수 있습니다. 이는 데이터의 보관 요구 사항, 비용, 백업 및 복원 요구 사항에 따라 선택됩니다.
S3 버킷은 AWS 클라우드에서 데이터를 안전하게 저장하고 쉽게 관리하는 데 사용되며, 웹 애플리케이션, 백업 및 복원, 미디어 스트리밍, 데이터 분석 및 기타 다양한 용도로 활용됩니다.
dotenv는 devDependencies
- .env 파일을 사용하는 이유는 개발자마다 다양한 장치에서 각자 상황에 맞는 환경을 편리하게 설정을 위함이다.
- production 뿐만 아니라, staging, bete 등등 다양한 배포 환경이 존재하는데, .env 파일로 환경 변수를 관리하면 특정 목적에 맞도록 유연한 환경 설정이 어렵다…?!