URL 빌더란?
URL 빌더는 파일 키(key)를 URL로 변환하는 함수입니다.fs 드라이버 URL 빌더
fs 드라이버는 반드시 urlBuilder 설정이 필요합니다.기본 설정
커스텀 도메인
정적 파일 서빙
fs 드라이버를 사용할 때는 Fastify static 플러그인이 필요합니다.S3 드라이버 URL 빌더
S3 드라이버는 기본적으로 S3 URL을 생성하지만, urlBuilder로 커스터마이징 가능합니다.기본 동작 (urlBuilder 없음)
CloudFront CDN
CDN을 통해 파일을 서빙하려면:- 빠른 전송 속도 (엣지 로케이션)
- 대역폭 비용 절감
- 캐싱
커스텀 도메인
- CloudFront 배포 생성
- Origin: S3 버킷
- CNAME: cdn.example.com
- DNS: cdn.example.com → CloudFront
동적 URL 생성
URL 빌더에서 환경변수나 로직을 사용할 수 있습니다.환경별 URL
경로 변환
버전 관리
Signed URL (S3)
S3는 임시 접근 URL을 생성할 수 있습니다.getSignedUrl()
- Private 파일 임시 공유
- 보안이 필요한 다운로드
- 시간 제한 액세스
UploadedFile의 signedUrl
실전 예제
1. CDN + 버전 관리
2. 다중 CDN
3. 해시 기반 URL
4. 조건부 URL
5. 리사이징 서비스
URL 타입
Sonamu Storage는 두 가지 URL 타입을 제공합니다.Unsigned URL
일반 공개 URL- 영구적
- 만료 없음
- Public 파일용
Signed URL (S3)
서명된 임시 URL- 임시적 (만료 시간 설정)
- 서명으로 보호됨
- Private 파일용
주의사항
CloudFront 설정
CloudFront를 URL 빌더와 함께 사용하는 방법입니다.1. CloudFront 배포 생성
- AWS Console → CloudFront
- “Create Distribution” 클릭
- Origin:
- Origin Domain:
my-bucket.s3.ap-northeast-2.amazonaws.com - Origin Path: (비워둠)
- Origin Domain:
- Default Cache Behavior:
- Viewer Protocol Policy: Redirect HTTP to HTTPS
- Allowed HTTP Methods: GET, HEAD, OPTIONS
- Create Distribution
2. Domain 확인
배포 생성 후 Domain Name 확인:3. URL 빌더 설정
4. 커스텀 도메인 (선택)
-
Route 53에서 CNAME 레코드 생성:
-
CloudFront 배포 설정:
- Alternate Domain Names (CNAMEs):
cdn.example.com - SSL Certificate: 인증서 추가
- Alternate Domain Names (CNAMEs):
-
URL 빌더 수정:
