20141021 aws cloud taekwon - customer session: lycl

Post on 23-Jun-2015

834 Views

Category:

Technology

3 Downloads

Preview:

Click to see full reader

DESCRIPTION

LYCL의 서진원 님께서 발표해 주신 내용입니다.

TRANSCRIPT

Getting to Use AWS Most 언니의파우치

언니의파우치

언니의파우치는 상업적이지 않고 개인에게 꼭 맞은 화장품 리뷰를 추천해주는 화장품 소셜 리뷰 서비스 입니다.

언니의파우치

팔로우 기능을 이용하여, 원하는 사용자의 화장품 리뷰를 구독 화장품 리뷰로 다른 사용자와 소통

뷰티 SNS를 통해 화장품 리뷰 생성

언니의파우치

사용자가 원하는 화장품 리뷰 콘텐츠를 에디터가 선별하여 제공 검색을 통해서 화장품 리뷰 콘텐츠 제공

화장품 리뷰 큐레이션

Baas에서 자체 서버 이전

• 초기 리소스 부족으로 빠른 서비스 개발을 위해 백엔드를 Baas로 구축 • 서비스의 성장으로 자유롭게 커스텀이 가능한 자체 서버 구축 필요

AWS로 서버 구축 결정

• 여러 클라우드 업체 중 오랜 기간 동안 안정적인 서비스를 제공 • 개발자 1명, 서버 구축 기간 약 1개월 • Baas에서 사용한 기능을 빠르게 개발할 수 있는 여러 서비스 제공

AWS 구축 이후

• 급증하는 트래픽 대응 • NoSQL DB, Storage, 푸시, 캐쉬, 메일, 검색, 분석 등 수 많은 서비스 • 모니터링 및 알림 • 일관된 API • 마케터가 이용하는 Management Console

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

AWS를 최대한 활용하기

1. STS로 Token 인증 방식 로그인 개발

AWS Security Token Service

IAM

• 이메일, 페이스북 가입, 로그인 • Token 인증 방식으로 보안성이 높음 • 유저 별 리소스 권한 설정

client

S3 DynamoDB

(1) Token 발급 (2) AWS 서비스 접근

(1)

(2)

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가 메시지 처리

3. NoSQL DB 구축

• NoSQL 데이터베이스 • 평균 서비스 지연 시간 1/1,000초, SSD • 데이터의 양에 제한이 없음 • 수백 대의 서버에 단일 테이블을 완벽하게 확장 가능 • 아주 제한 적인 쿼리 제공 • 서비스의 모든 원본 데이터 저장 용도

• NoSQL 데이터베이스 • 저렴한 비용, 간편한 사용 • 많은 쿼리 제공 • 서비스의 데이터 및 로그의 정렬, 필터, 검색 용도로 사용

DynamoDB

Amazon SimpleDB

4. Elastic Beanstalk으로 쉬운 배포 및 확장 • Application 단위로 EC2 Instance 자동 배포 및 확장 • 프로비저닝, 로드 밸런싱, 자동 크기 조정, 모니터링 • Worker: SQS의 Queue 메시지를 처리 • TVM(Token Vending Machine): 가입, 로그인 처리 • Cron: 각종 백그라운드 기능 동작

Worker TVM Cron

Elastic Beanstalk container

5. 기타

• 스토리지 서비스 • 서비스의 이미지 및 데이터 파일 저장소 • DB 백업 용도

• Amazon Simple Notification service • Android 클라이언트 앱에 푸시 메시지 기능

Amazon S3

Amazon SES

Amazon SNS

• Amazon Simple Email service • 유저에게 이메일을 보내는 기능

6. 이후…

ElastiCache

Amazon Kinesis

CloudFront

캐쉬를 통한 SNS 기능 고도화 및 성능 향상

화장품 리뷰 동영상 스트리밍 개발

빅 데이터 분석을 통한 화장품 리뷰 추천 시스템 개발

Q&A

감사합니다. andy.seo@lycl.co.kr

WE’RE HIRING!

IAM으로 사용자 계정 개발하기

페이스북 가입 이메일 가입

보안 권한

로그인

IAM(Identity and Access Management)

IAM

• AWS 서비스 및 리소스 액세스 가능한 계정 관리

• IAM 역할 관리 (개별 권한 설정)

• 개별 보안 자격 증명 (액세스 키, 암호, 멀티 팩터 인증 디바이스)

• 임시 보안 자격 증명 (Federation ID, 페이스북 로그인)

IAM 유저란?

• AWS Management Console에 접근 가능한 내부 직원 – 개발자, 마케터, 관리자

• AWS API로 접근 가능한 Application

– 계정 서버, 큐 서버, Cron 서버, 테스트 서버 등

Human Server

개별 보안 자격 증명 - 액세스 키, 암호, 멀티 팩터 인증 디바이스

Federation ID?

• 이미 보유한 기존 ID 시스템을 사용하여 AWS에 접근

• Google, Facebook과 같은 외부 웹 ID 공급자로부터의 접근

Facebook Users Unpa Users

임시 보안 자격 증명 - Federation ID, 페이스북 로그인

STS(Security Token Service)?

AWS Security Token Service

• Federation ID에 Token을 발급

• Token에는 AWS에 제한적으로 접근 가능한 권한 포함

• 최소 15분 ~ 최대 36시간 Expired time 설정 가능

Token 기반 계정 시스템 개발

• 이메일, 페이스북으로 로그인

• 로그인 한 유저는 Federation ID로 Access Token을 발급

• 보안 이슈로 패스워드는 저장하지 않고, Token만 저장

• Token으로 AWS 서비스 및 리소스에 접근

• Token이 Expired되면 Token 재발급

TVM(Token Vending Machine)? • Federation ID로 STS에서 Token을 얻는 예제 소스 및 문서 제공 • 각 서비스에 맞게 커스텀해서 사용

http://aws.amazon.com/articles/SDKs/4611615499399490

Anonymous TVM? - 로그인 기능이 없는 서비스에서 Token 얻기

Identity TVM? - 로그인 기능이 있는 서비스에서 Token 얻기

IAM 유저 활용

• 리소스 부족 시, 서비스 관리용 Tool 미개발 – AWS Management Console이 편리하게 제공되기 때문에 개발팀은 서비스 개발에

집중 할 수 있음

• 권한 설정으로 위험한 실수(?) 방지 가능 – 전체 직원의 IAM 계정 생성 – 마케팅팀: CS, 이벤트, 지표 관련 DB Table의 Read 권한 – 관리자: 앱 내 이벤트 생성, 화장품 세일 시 세일 제품 DB Table의 Write 권한 – 개발팀: 테스트 서버, DB, Storage의 모든 권한

top related