본문 바로가기

AWS Design Pattern/정적 콘텐츠 처리 패턴

Private Distribution - 특정 사용자에게 데이터 배포

ㅁ  풀어야 할 문제

인터넷 스토리지는 가용성과 안정성이 높고 사이즈가 큰 콘텐츠나 액세스 수가 많은 콘텐츠를 배포하는데 적당하다.

그러나 특정 사용자에게만 콘텐츠를 배포하는 경우, 애플리케이션의 인증 부분과 연동이 필요해 인터넷 스토리지만으로 액세스를 제한하는 것은 어렵다.

 

ㅁ  해결/패턴

인터넷 스토리지에서 제공되는 접근 제한 URL 발급 기능을 이용하면, 콘텐츠로 액세스하는 IP 어드레스 및 액세스 기간을 설정할 수 있다.

사용자 별로 URL을 발급하고 접근 제한 URL에서만 콘텐츠 다운로드가 가능하게 하면, 만료된 링크나 다른 IP 어드레스를 가진 사용자가 접근한다고 해도 다운로드가 불가능

실질적으로 특정 사용자만 접근이 가능하게 한다.

 

ㅁ  구현

-       S3 apitool이나 AWS SDK를 준비

-       자체 시스템에서 사용자 인증을 실행하고, 그 사용자에게 공개할 각 콘텐츠를 API를 이용해 접근 제한 URL을 생성

-       발행한 URL 목록을 이용하여 동적 웹 페이지를 생성, 생성한 HTML 등 콘텐츠 내에 접근 제한 URL을 링크(다운로드) 대상 URL로 사용함

ㅁ  장점

-       특정 사용자가 일정 기간 동안만 사용이 가능하기 때문에 프라이빗 콘텐츠 배포로 사용 가능

-       실제 콘텐츠 다운로드는 (EC2를 통하지 않고) 직접 S3에서 이루어지므로 부하와 장애에 강한 S3 특성 그대로 사용이 가능

 

ㅁ  기타

이 패턴은 애플리케이션의 인증과 같이 사용하는 것이 일반적

로그인한 모든 사용자가 액세스 할 수 있는 콘텐츠의 경우, 동적 제한 URL을 만들지 않아도 서드파티 툴을 사용해 수동으로 생성한 URL을 사용해서 웹 페이지 생성 가능