작성
·
27
0
S3는 정적 이미지 혹은 텍스트를 저장한다고 하셨는데 그러면 실제 실무에서는
RDS에 테이블을 생성 (예를 들어 name, id, image, video)
사용자가 이미지나 동영상을 업로드 하게 되면 S3에 저장을 하게 되고 RDS에는 S3의 주소를 저장
다른 사용자가 게시글을 열람하게 되면 RDS는 S3의 주소를 리턴하여서 사용자가 비디오나 이미지를 열람하게 함
위와 같은 방식으로 개발을 하게 되는 건가요??
답변 1
0
네, 말씀하신 방식이 실무에서 일반적으로 사용하는 구조가 맞습니다.
보통 사용자로부터 이미지나 동영상 같은 대용량 파일이 업로드되면, 그 파일 자체는 S3 같은 스토리지에 저장합니다. 그리고 그 파일이 저장된 S3의 URL만을 데이터베이스(RDS)에 기록해두죠. 예를 들어 게시글을 저장하는 테이블에는 텍스트 정보와 함께 이미지나 동영상의 S3 주소가 같이 저장됩니다.
이후에 다른 사용자가 게시글을 조회할 때는, 백엔드가 RDS에 저장된 정보를 읽어서 클라이언트에 전달합니다. 이때 클라이언트는 전달받은 S3 주소를 이용해서 이미지나 동영상을 직접 불러와 보여주는 구조입니다. 이렇게 하면 RDS에 대용량 파일을 직접 저장하지 않아도 되고, S3는 정적 리소스 제공에 특화되어 있기 때문에 성능과 확장성 면에서도 효율적입니다.
또한 보안이나 접근 제어가 필요할 경우에는 S3에 파일을 비공개로 설정하고, 유효시간이 있는 임시 접근 URL을 만들어서 제공하기도 합니다.
즉, 실무에서는 S3에 파일을 저장하고, 그 위치를 RDS에 저장하는 구조로 파일 업로드 기능을 구현하는 것이 일반적입니다.
열심히 수강해주셔서 감사합니다. :)