728x90
시나리오
- SNS (Simple Notification Service가 아닌 Social Network Service) 서비스를 위한 아키텍쳐 라고하자
문제점
- US Region에 있는 사용자가 사진을 찍어 업로드를 한 경우 Asia Region에 있는 사용자는 US Region에 있는
DB의 데이터가 Asia Region으로 업데이트 되기 전까지는 사진을 보지 못하는 상황이 발생할 수 있다
=> 이때 S3를 이용하여 사진을 업로드하면 전역에서 S3의 URL을 통해 접근하여 사진을 볼 수 있지 않을까
하지만 앱서버에서 DB를 통해서만 해당 사진의 URL을 알아낼 수 있다는 것을 감안하면 S3는 완벽한
해결책은 아니다.
해결방법
1. Cloud Front와 Lambda와 S3 이용
1) Cloud Front에서 패킷을 전달받았을 때 Lambda가 호출되도록한다
2) Lambda가 호출되었을 때 Json data를 받아 image이면 image가 저장된 Database쪽으로 패킷을
라우팅시키고 나머지는 다른 Database로 라우팅을 시킨다
3) image 정보가 저장된 Database에서 이미지의 Url을 얻는다
4) 얻어온 Url을 통해 S3에 저장된 이미지에 접근한다.
2. Dynamo DB의 Global Table와 S3 이용
1) Dynamo Db의 Global Table에 접근하여 image에 대한 Url을 얻는다
2) Url을 통해 S3에 접근한다
'AWS > Elasticity & Management' 카테고리의 다른 글
AWS - CloudWatch란? (0) | 2019.01.12 |
---|---|
AWS - AutoScaling 서비스 및 테스팅(부하발생기) (0) | 2019.01.07 |
AWS - LoadBalncer 이용 WebServer Loadbalancing하기 (0) | 2019.01.06 |
AWS - 실습) LoadBalancer와 AutoScaling - 수정중 (0) | 2018.11.21 |
AWS - 이론) Elasticity, Management 서비스 (0) | 2018.11.19 |