ㅁ 풀어야 할 문제
인터넷 스토리지는 가용성과 안정성이 높고 사이즈가 큰 콘텐츠나 액세스 수가 많은 콘텐츠를 배포하는데 적당하다.
그러나 특정 사용자에게만 콘텐츠를 배포하는 경우, 애플리케이션의 인증 부분과 연동이 필요해 인터넷 스토리지만으로 액세스를 제한하는 것은 어렵다.
ㅁ 해결/패턴
인터넷 스토리지에서 제공되는 접근 제한 URL 발급 기능을 이용하면, 콘텐츠로 액세스하는 IP 어드레스 및 액세스 기간을 설정할 수 있다.
사용자 별로 URL을 발급하고 접근 제한 URL에서만 콘텐츠 다운로드가 가능하게 하면, 만료된 링크나 다른 IP 어드레스를 가진 사용자가 접근한다고 해도 다운로드가 불가능
실질적으로 특정 사용자만 접근이 가능하게 한다.
- S3의 apitool이나 AWS SDK를 준비
- 자체 시스템에서 사용자 인증을 실행하고, 그 사용자에게 공개할 각 콘텐츠를 API를 이용해 접근 제한 URL을 생성
- 발행한 URL 목록을 이용하여 동적 웹 페이지를 생성, 생성한 HTML 등 콘텐츠 내에 접근 제한 URL을 링크(다운로드) 대상 URL로 사용함
- 특정 사용자가 일정 기간 동안만 사용이 가능하기 때문에 프라이빗 콘텐츠 배포로 사용 가능
- 실제 콘텐츠 다운로드는 (EC2를 통하지 않고) 직접 S3에서 이루어지므로 부하와 장애에 강한 S3 특성 그대로 사용이 가능
ㅁ 기타
이 패턴은 애플리케이션의 인증과 같이 사용하는 것이 일반적
로그인한 모든 사용자가 액세스 할 수 있는 콘텐츠의 경우, 동적 제한 URL을 만들지 않아도 서드파티 툴을 사용해 수동으로 생성한 URL을 사용해서 웹 페이지 생성 가능
'AWS Design Pattern > 정적 콘텐츠 처리 패턴' 카테고리의 다른 글
Private Cache Distribution - CDN을 이용한 프라이빗 배포 (0) | 2021.02.05 |
---|---|
Rename Distribution - 변경 지연 없는 배포 (0) | 2021.02.05 |
Cache Distribution - 사용자와 물리적으로 가까운 위치에 데이터 배치 (0) | 2021.02.05 |
Direct Hosting - 인터넷 스토리지 직접 호스팅 (0) | 2021.02.05 |
WEB Storage 패턴 - 고가용성의 인터넷 스토리지 활용 (0) | 2021.02.05 |