20141021 aws cloud taekwon - customer session: lycl
DESCRIPTION
LYCL의 서진원 님께서 발표해 주신 내용입니다.TRANSCRIPT
![Page 1: 20141021 AWS Cloud Taekwon - Customer Session: LYCL](https://reader034.vdocuments.net/reader034/viewer/2022052514/5588f9eed8b42afe678b46bb/html5/thumbnails/1.jpg)
Getting to Use AWS Most 언니의파우치
![Page 2: 20141021 AWS Cloud Taekwon - Customer Session: LYCL](https://reader034.vdocuments.net/reader034/viewer/2022052514/5588f9eed8b42afe678b46bb/html5/thumbnails/2.jpg)
언니의파우치
언니의파우치는 상업적이지 않고 개인에게 꼭 맞은 화장품 리뷰를 추천해주는 화장품 소셜 리뷰 서비스 입니다.
![Page 3: 20141021 AWS Cloud Taekwon - Customer Session: LYCL](https://reader034.vdocuments.net/reader034/viewer/2022052514/5588f9eed8b42afe678b46bb/html5/thumbnails/3.jpg)
언니의파우치
팔로우 기능을 이용하여, 원하는 사용자의 화장품 리뷰를 구독 화장품 리뷰로 다른 사용자와 소통
뷰티 SNS를 통해 화장품 리뷰 생성
![Page 4: 20141021 AWS Cloud Taekwon - Customer Session: LYCL](https://reader034.vdocuments.net/reader034/viewer/2022052514/5588f9eed8b42afe678b46bb/html5/thumbnails/4.jpg)
언니의파우치
사용자가 원하는 화장품 리뷰 콘텐츠를 에디터가 선별하여 제공 검색을 통해서 화장품 리뷰 콘텐츠 제공
화장품 리뷰 큐레이션
![Page 5: 20141021 AWS Cloud Taekwon - Customer Session: LYCL](https://reader034.vdocuments.net/reader034/viewer/2022052514/5588f9eed8b42afe678b46bb/html5/thumbnails/5.jpg)
Baas에서 자체 서버 이전
• 초기 리소스 부족으로 빠른 서비스 개발을 위해 백엔드를 Baas로 구축 • 서비스의 성장으로 자유롭게 커스텀이 가능한 자체 서버 구축 필요
![Page 6: 20141021 AWS Cloud Taekwon - Customer Session: LYCL](https://reader034.vdocuments.net/reader034/viewer/2022052514/5588f9eed8b42afe678b46bb/html5/thumbnails/6.jpg)
AWS로 서버 구축 결정
• 여러 클라우드 업체 중 오랜 기간 동안 안정적인 서비스를 제공 • 개발자 1명, 서버 구축 기간 약 1개월 • Baas에서 사용한 기능을 빠르게 개발할 수 있는 여러 서비스 제공
![Page 7: 20141021 AWS Cloud Taekwon - Customer Session: LYCL](https://reader034.vdocuments.net/reader034/viewer/2022052514/5588f9eed8b42afe678b46bb/html5/thumbnails/7.jpg)
AWS 구축 이후
• 급증하는 트래픽 대응 • NoSQL DB, Storage, 푸시, 캐쉬, 메일, 검색, 분석 등 수 많은 서비스 • 모니터링 및 알림 • 일관된 API • 마케터가 이용하는 Management Console
![Page 8: 20141021 AWS Cloud Taekwon - Customer Session: LYCL](https://reader034.vdocuments.net/reader034/viewer/2022052514/5588f9eed8b42afe678b46bb/html5/thumbnails/8.jpg)
Architecture on AWS
AWS cloud
Worker TVM Cron
Elastic Beanstalk container
client
server contents
Amazon S3
DynamoDB Amazon SimpleDB
Amazon SES
Amazon SNS Amazon SQS
IAM
![Page 9: 20141021 AWS Cloud Taekwon - Customer Session: LYCL](https://reader034.vdocuments.net/reader034/viewer/2022052514/5588f9eed8b42afe678b46bb/html5/thumbnails/9.jpg)
AWS를 최대한 활용하기
![Page 10: 20141021 AWS Cloud Taekwon - Customer Session: LYCL](https://reader034.vdocuments.net/reader034/viewer/2022052514/5588f9eed8b42afe678b46bb/html5/thumbnails/10.jpg)
1. STS로 Token 인증 방식 로그인 개발
AWS Security Token Service
IAM
• 이메일, 페이스북 가입, 로그인 • Token 인증 방식으로 보안성이 높음 • 유저 별 리소스 권한 설정
client
S3 DynamoDB
(1) Token 발급 (2) AWS 서비스 접근
(1)
(2)
![Page 11: 20141021 AWS Cloud Taekwon - Customer Session: LYCL](https://reader034.vdocuments.net/reader034/viewer/2022052514/5588f9eed8b42afe678b46bb/html5/thumbnails/11.jpg)
2. SQS로 메시지 큐 방식 Async Task 기능 개발
queue
Amazon SQS
client
message
Worker
Elastic Beanstalk container
message
(1) (2)
• 시간이 걸리는 작업 또는 로그를 메시지 큐 방식으로 처리 • Worker 부하나 오류가 발생하더라도 모든 메시지 처리 • Elastic Beanstalk Container에서 Worker Type 제공
(1) 큐에 메시지 전송 (2) Worker가 메시지 처리
![Page 12: 20141021 AWS Cloud Taekwon - Customer Session: LYCL](https://reader034.vdocuments.net/reader034/viewer/2022052514/5588f9eed8b42afe678b46bb/html5/thumbnails/12.jpg)
3. NoSQL DB 구축
• NoSQL 데이터베이스 • 평균 서비스 지연 시간 1/1,000초, SSD • 데이터의 양에 제한이 없음 • 수백 대의 서버에 단일 테이블을 완벽하게 확장 가능 • 아주 제한 적인 쿼리 제공 • 서비스의 모든 원본 데이터 저장 용도
• NoSQL 데이터베이스 • 저렴한 비용, 간편한 사용 • 많은 쿼리 제공 • 서비스의 데이터 및 로그의 정렬, 필터, 검색 용도로 사용
DynamoDB
Amazon SimpleDB
![Page 13: 20141021 AWS Cloud Taekwon - Customer Session: LYCL](https://reader034.vdocuments.net/reader034/viewer/2022052514/5588f9eed8b42afe678b46bb/html5/thumbnails/13.jpg)
4. Elastic Beanstalk으로 쉬운 배포 및 확장 • Application 단위로 EC2 Instance 자동 배포 및 확장 • 프로비저닝, 로드 밸런싱, 자동 크기 조정, 모니터링 • Worker: SQS의 Queue 메시지를 처리 • TVM(Token Vending Machine): 가입, 로그인 처리 • Cron: 각종 백그라운드 기능 동작
Worker TVM Cron
Elastic Beanstalk container
![Page 14: 20141021 AWS Cloud Taekwon - Customer Session: LYCL](https://reader034.vdocuments.net/reader034/viewer/2022052514/5588f9eed8b42afe678b46bb/html5/thumbnails/14.jpg)
5. 기타
• 스토리지 서비스 • 서비스의 이미지 및 데이터 파일 저장소 • DB 백업 용도
• Amazon Simple Notification service • Android 클라이언트 앱에 푸시 메시지 기능
Amazon S3
Amazon SES
Amazon SNS
• Amazon Simple Email service • 유저에게 이메일을 보내는 기능
![Page 15: 20141021 AWS Cloud Taekwon - Customer Session: LYCL](https://reader034.vdocuments.net/reader034/viewer/2022052514/5588f9eed8b42afe678b46bb/html5/thumbnails/15.jpg)
6. 이후…
ElastiCache
Amazon Kinesis
CloudFront
캐쉬를 통한 SNS 기능 고도화 및 성능 향상
화장품 리뷰 동영상 스트리밍 개발
빅 데이터 분석을 통한 화장품 리뷰 추천 시스템 개발
![Page 17: 20141021 AWS Cloud Taekwon - Customer Session: LYCL](https://reader034.vdocuments.net/reader034/viewer/2022052514/5588f9eed8b42afe678b46bb/html5/thumbnails/17.jpg)
IAM으로 사용자 계정 개발하기
페이스북 가입 이메일 가입
보안 권한
로그인
![Page 18: 20141021 AWS Cloud Taekwon - Customer Session: LYCL](https://reader034.vdocuments.net/reader034/viewer/2022052514/5588f9eed8b42afe678b46bb/html5/thumbnails/18.jpg)
IAM(Identity and Access Management)
IAM
• AWS 서비스 및 리소스 액세스 가능한 계정 관리
• IAM 역할 관리 (개별 권한 설정)
• 개별 보안 자격 증명 (액세스 키, 암호, 멀티 팩터 인증 디바이스)
• 임시 보안 자격 증명 (Federation ID, 페이스북 로그인)
![Page 19: 20141021 AWS Cloud Taekwon - Customer Session: LYCL](https://reader034.vdocuments.net/reader034/viewer/2022052514/5588f9eed8b42afe678b46bb/html5/thumbnails/19.jpg)
IAM 유저란?
• AWS Management Console에 접근 가능한 내부 직원 – 개발자, 마케터, 관리자
• AWS API로 접근 가능한 Application
– 계정 서버, 큐 서버, Cron 서버, 테스트 서버 등
Human Server
개별 보안 자격 증명 - 액세스 키, 암호, 멀티 팩터 인증 디바이스
![Page 20: 20141021 AWS Cloud Taekwon - Customer Session: LYCL](https://reader034.vdocuments.net/reader034/viewer/2022052514/5588f9eed8b42afe678b46bb/html5/thumbnails/20.jpg)
Federation ID?
• 이미 보유한 기존 ID 시스템을 사용하여 AWS에 접근
• Google, Facebook과 같은 외부 웹 ID 공급자로부터의 접근
Facebook Users Unpa Users
임시 보안 자격 증명 - Federation ID, 페이스북 로그인
![Page 21: 20141021 AWS Cloud Taekwon - Customer Session: LYCL](https://reader034.vdocuments.net/reader034/viewer/2022052514/5588f9eed8b42afe678b46bb/html5/thumbnails/21.jpg)
STS(Security Token Service)?
AWS Security Token Service
• Federation ID에 Token을 발급
• Token에는 AWS에 제한적으로 접근 가능한 권한 포함
• 최소 15분 ~ 최대 36시간 Expired time 설정 가능
![Page 22: 20141021 AWS Cloud Taekwon - Customer Session: LYCL](https://reader034.vdocuments.net/reader034/viewer/2022052514/5588f9eed8b42afe678b46bb/html5/thumbnails/22.jpg)
Token 기반 계정 시스템 개발
• 이메일, 페이스북으로 로그인
• 로그인 한 유저는 Federation ID로 Access Token을 발급
• 보안 이슈로 패스워드는 저장하지 않고, Token만 저장
• Token으로 AWS 서비스 및 리소스에 접근
• Token이 Expired되면 Token 재발급
![Page 23: 20141021 AWS Cloud Taekwon - Customer Session: LYCL](https://reader034.vdocuments.net/reader034/viewer/2022052514/5588f9eed8b42afe678b46bb/html5/thumbnails/23.jpg)
TVM(Token Vending Machine)? • Federation ID로 STS에서 Token을 얻는 예제 소스 및 문서 제공 • 각 서비스에 맞게 커스텀해서 사용
http://aws.amazon.com/articles/SDKs/4611615499399490
![Page 24: 20141021 AWS Cloud Taekwon - Customer Session: LYCL](https://reader034.vdocuments.net/reader034/viewer/2022052514/5588f9eed8b42afe678b46bb/html5/thumbnails/24.jpg)
Anonymous TVM? - 로그인 기능이 없는 서비스에서 Token 얻기
![Page 25: 20141021 AWS Cloud Taekwon - Customer Session: LYCL](https://reader034.vdocuments.net/reader034/viewer/2022052514/5588f9eed8b42afe678b46bb/html5/thumbnails/25.jpg)
Identity TVM? - 로그인 기능이 있는 서비스에서 Token 얻기
![Page 26: 20141021 AWS Cloud Taekwon - Customer Session: LYCL](https://reader034.vdocuments.net/reader034/viewer/2022052514/5588f9eed8b42afe678b46bb/html5/thumbnails/26.jpg)
IAM 유저 활용
• 리소스 부족 시, 서비스 관리용 Tool 미개발 – AWS Management Console이 편리하게 제공되기 때문에 개발팀은 서비스 개발에
집중 할 수 있음
• 권한 설정으로 위험한 실수(?) 방지 가능 – 전체 직원의 IAM 계정 생성 – 마케팅팀: CS, 이벤트, 지표 관련 DB Table의 Read 권한 – 관리자: 앱 내 이벤트 생성, 화장품 세일 시 세일 제품 DB Table의 Write 권한 – 개발팀: 테스트 서버, DB, Storage의 모든 권한