본문 바로가기
NestJs

CDN 이란?, S3 와 CDN 을 연결하기

by 새싹개발자1호 2024. 8. 7.

 

CDN 을 간단히 말하면 지리적으로 분산된 여러 개의 서버로 사용자에게 웹 콘텐츠를 효율적으로 제공할 수 있는 서버의 분산 네트워크 입니다.

사용자의 물리적 위치와 가까운 엣지(Edge) 서버가 있고, 이는 파일 복사본 을 임시로 저장하는 프로세스인 캐싱 을 사용합니다. 그렇게 캐시 된 웹 콘텐츠를 전송함 으로 써 전송 속도를 높이게 되고, 사용자는 콘텐츠가 로딩 될 때까지 기다릴 필요가 없게 되는 것입니다.

S3 와 CDN 을 연결하기

 

(현재 cdn 을 정상적으로 배포를 한 상태입니다.)

기존에 반환하던 S3버킷 객체 URL

 return `https://${this.configService.get<string>('AWS_BUCKET_NAME')}.s3.${this.configService.get<string>('AWS_REGION')}.amazonaws.com/images/${fileName}`;

이제는 CDN 을 구축하였으니, CDN의 배포 도메인을 거쳐 S3버킷에 접근하도록 수정합니다.

return `https://${this.configService.get<string>('CDN_DOMAIN')}/${fileName}`;