39
공통플랫폼팀 I 이호철 I @5clee 클라우드 컴퓨팅 AWS (Amazon Web Services) - 글로벌 서비스 구축을 위한 선택

H3 2011 클라우드 컴퓨팅 AWS 글로벌 서비스 구축을 위한 선택_데이터지능팀_이호철

  • Upload
    kth-

  • View
    1.264

  • Download
    6

Embed Size (px)

Citation preview

Page 1: H3 2011 클라우드 컴퓨팅 AWS 글로벌 서비스 구축을 위한 선택_데이터지능팀_이호철

공통플랫폼팀 I 이호철 I @5clee

클라우드 컴퓨팅 AWS (Amazon Web Services) - 글로벌 서비스 구축을 위한 선택

Page 2: H3 2011 클라우드 컴퓨팅 AWS 글로벌 서비스 구축을 위한 선택_데이터지능팀_이호철

IT Issue

Elastic

Cost-Effective

Availability

AWS

높은 가용성

탄력적 용량제공

비용 효율화

Page 3: H3 2011 클라우드 컴퓨팅 AWS 글로벌 서비스 구축을 위한 선택_데이터지능팀_이호철

IT Issue

여기서 잠깐!

AWS를 사용하면 무조건 싸다?

예) 최소 구성시 EC2(Large) 1대, RDS(Large) 1대

EC2 월 30만원, RDS 월 40만원

이중화 구성, MultiAZ 구성, 서버 증설 비용증가

예) 스트리밍 서비스

갑작스런 부하 증가, 서버 증설, 대용량 인코딩 필요

사용 후 즉시 반납 비용 효율화(사용한 만큼 지불)

Page 4: H3 2011 클라우드 컴퓨팅 AWS 글로벌 서비스 구축을 위한 선택_데이터지능팀_이호철

KTH가 AWS 선택한 이유?

KTH Global Services

pudding.to , Friending

전 세계 사용자에 사진/동영상 제공

전 세계 사용자가 사진/동영상을 업로드

Global CDN 서비스 필요 CloudFront

업로드 지연 해결 필요 지역별 분산배치

Page 5: H3 2011 클라우드 컴퓨팅 AWS 글로벌 서비스 구축을 위한 선택_데이터지능팀_이호철

AWS Overview

Global Infrastructure

R

R R

R

R

R

6개의 Regions – 지역 내 2개 이상의 가용존 R

20개의 Edge Locations – CloudFront, Route53

Page 6: H3 2011 클라우드 컴퓨팅 AWS 글로벌 서비스 구축을 위한 선택_데이터지능팀_이호철

AWS Overview

Global Infra Structure

EC2

Compute Storage Networking

EBS

DataBase

RDS Elasti

Cache

Simple

DB

Clusters

Map

Reduce

CDN Automation Monitoring

Cloud

Watch

Auto

Scaling

S3 ELB Route 53

CloudFront

기초

서비스

데이터

처리

데이터

제공/

자동화

Page 7: H3 2011 클라우드 컴퓨팅 AWS 글로벌 서비스 구축을 위한 선택_데이터지능팀_이호철

AWS Overview

EC2

웹 콘솔을 통하여 가상의 컴퓨팅 환경을 생성 관리

다양한 OS(Amazon Linux, RedHat, SUSE, Windows)

다양한 타입 (CPU, Core, Memory, Disk)

기본 3개의 네트워크 자원 할당

내부 연결/별도 트래픽 비용 없음

단, EIP(고정 아이피)는 외부 연결임

Elastic Compute Cloud

Page 8: H3 2011 클라우드 컴퓨팅 AWS 글로벌 서비스 구축을 위한 선택_데이터지능팀_이호철

AWS Overview

EBS S3 VS.

Block Storage Data Storage

– Simple Storage Service

개별 Object : 1 Byte~5TB

HTTP

- GET,PUT, Delete 프로토콜

EC2에 Attach / EC2

instance Lifetime 의존

Volume당 1GB~1TB

- 다수사용 가능

Page 9: H3 2011 클라우드 컴퓨팅 AWS 글로벌 서비스 구축을 위한 선택_데이터지능팀_이호철

AWS Overview

수천 대의 Instance 로 부하 균등 분산 또는 Health Check(5초)

를 통해 부하가 적은 쪽으로 부하 분배

특정 세션에 대해 강제로 하나의 인스턴스로 전달하는 Sticky

Session 가능

ELB – Elastic Load Balancing

ELB는 고정 IP(EIP) 할당 안됨 (CNAME, Route 53 활용필요)

Page 10: H3 2011 클라우드 컴퓨팅 AWS 글로벌 서비스 구축을 위한 선택_데이터지능팀_이호철

AWS Overview

가장 가까운 DNS 서버를 찾아 높은 쿼리 응답 속도 제공

20개 Edge Locations 을 통해 서비스 제공

WRR (Weighted Round Robin) 지원

지원되는 Resource Record Type

- A, AAAA, CNAME, MX, NS, PTR, SOA, SPF, SRV, TXT, Alias

Amazon Route 53

Page 11: H3 2011 클라우드 컴퓨팅 AWS 글로벌 서비스 구축을 위한 선택_데이터지능팀_이호철

kth 최적화 시작…

Page 12: H3 2011 클라우드 컴퓨팅 AWS 글로벌 서비스 구축을 위한 선택_데이터지능팀_이호철

AWS 최적화 구성요소

Scalability High-

Availability Performance

확장성

Auto-Scaling

Scale-UP

고가용성

Multi-AZ

RDS HA

성능 최적화

CloudFront

ElastiCache

Amazon Web Services 활용한 최적의 서비스 플랫폼 구축을 위한 구성요소

Page 13: H3 2011 클라우드 컴퓨팅 AWS 글로벌 서비스 구축을 위한 선택_데이터지능팀_이호철

최적화 #1 Scalability

Page 14: H3 2011 클라우드 컴퓨팅 AWS 글로벌 서비스 구축을 위한 선택_데이터지능팀_이호철

Scalability (확장성)

Scale-UP Scale-OUT VS.

시스템 사양 UP

(CPU, 메모리, Disk)

Scale-Down

시스템 증설

Scale-In

Page 15: H3 2011 클라우드 컴퓨팅 AWS 글로벌 서비스 구축을 위한 선택_데이터지능팀_이호철

Scalability (확장성) – Scale-UP

Scale-UP : EC2

웹 콘솔상에서 옵션 제공되지 않음

Scale-UP 방안

EBS에 SnapShot 생성

EC2 신규 생성(타입 변경)

기존 EC2 정지

Micro

Extra-

Large

Page 16: H3 2011 클라우드 컴퓨팅 AWS 글로벌 서비스 구축을 위한 선택_데이터지능팀_이호철

Scalability (확장성) – Scale-UP

Scale-UP : RDS

웹 콘솔상에서 옵션 변경으로 처리

변경되는 동안 DownTime 존재

유지 보수 일정주기에 실행

- 즉시 실행이 필요하다면

Apply Immediately 옵션 체크

Small xLarge

Page 17: H3 2011 클라우드 컴퓨팅 AWS 글로벌 서비스 구축을 위한 선택_데이터지능팀_이호철

Scalability (확장성) – Scale-OUT

EC2 – Auto Scaling

ELB(Elastic Load Balancer)

EC2 #1 EC2 #2

EBS -1

(OS영역)

EBS -2

(App영역)

EBS -1

(OS영역)

EBS -2

(App영역)

Cloud Watch

AutoScale

Page 18: H3 2011 클라우드 컴퓨팅 AWS 글로벌 서비스 구축을 위한 선택_데이터지능팀_이호철

Scalability (확장성) – Scale-OUT

EC2 – Auto Scaling

ELB(Elastic Load Balancer)

EC2 #1 EC2 #2

EBS -1

(OS영역)

EBS -2

(App영역)

EBS -1

(OS영역)

EBS -2

(App영역)

Cloud Watch

AutoScale

elb-create-lb

my-loadbalancer

--listener

“lb-port=80,

instance-port=8080”

Page 19: H3 2011 클라우드 컴퓨팅 AWS 글로벌 서비스 구축을 위한 선택_데이터지능팀_이호철

Scalability (확장성) – Scale-OUT

EC2 – Auto Scaling

ELB(Elastic Load Balancer)

EC2 #1 EC2 #2

EBS -1

(OS영역)

EBS -2

(App영역)

EBS -1

(OS영역)

EBS -2

(App영역)

Cloud Watch

AutoScale

1) Launch Config 생성

- 생성할 instance 타입, 이미지 지정

2) Auto-Scaling Group 생성

- 최대 생성할 instance 개수

- 최소 생성할 instance 개수

3) Trigger 생성

- Scale-OUT할 조건 설정

(CPU 또는 특정시간)

- 증설시 생성할 instance 개수

- 감소할 instance 개수

Page 20: H3 2011 클라우드 컴퓨팅 AWS 글로벌 서비스 구축을 위한 선택_데이터지능팀_이호철

Scalability (확장성) – Scale-OUT

EC2 – Auto Scaling

ELB(Elastic Load Balancer)

EC2 #1 EC2 #2

EBS -1

(OS영역)

EBS -2

(App영역)

EBS -1

(OS영역)

EBS -2

(App영역)

Cloud Watch

AutoScale

EC2 #3

EBS -1

(OS영역)

Page 21: H3 2011 클라우드 컴퓨팅 AWS 글로벌 서비스 구축을 위한 선택_데이터지능팀_이호철

Scalability (확장성) – Scale-OUT

EC2 – Auto Scaling

ELB(Elastic Load Balancer)

EC2 #1 EC2 #2

EBS -1

(OS영역)

EBS -2

(App영역)

EBS -1

(OS영역)

EBS -2

(App영역)

Cloud Watch

AutoScale

EC2 #3

EBS -1

(OS영역)

EBS -2

(App영역)

EBS-2 복제 EBS-2 Mount SVN CheckOut

Source Build EBS-2 내 WAS 구동

Page 22: H3 2011 클라우드 컴퓨팅 AWS 글로벌 서비스 구축을 위한 선택_데이터지능팀_이호철

Scalability (확장성) – Scale-OUT

RDS – Scale OUT RDS Auto-Scaling 은 지원되지 않음

Master-Slave Type의 Replication 지원

Slave DB의 가용 존을 여러 지역에 분산 배치

Page 23: H3 2011 클라우드 컴퓨팅 AWS 글로벌 서비스 구축을 위한 선택_데이터지능팀_이호철

최적화 #2 High Availability

Page 24: H3 2011 클라우드 컴퓨팅 AWS 글로벌 서비스 구축을 위한 선택_데이터지능팀_이호철

High Availability (고가용성)

Elastic Load Balancer

Cloud Watch (Monitoring)

AWS Security Groups

US-EAST-1a

• ELB - 수 천대의 EC2를 로드밸런싱

• EC2 서버 Scale 방안 수동으로 증가시켜야 함

• 트래픽 증가 및 동시 접속자 증가시

MySQL DB

EC2 EC2

Page 25: H3 2011 클라우드 컴퓨팅 AWS 글로벌 서비스 구축을 위한 선택_데이터지능팀_이호철

High Availability (고가용성)

• EC2 – Auto Scaling

• AZ 장애시 전체 서비스 중단

Multi-AZ 구조 필요

• US-EAST-1a AZ 장애시

Elastic Load Balancer

Cloud Watch (Monitoring)

US-EAST-1a

Auto Scaling Auto Scaling

AWS Security Groups

MySQL DB

Page 26: H3 2011 클라우드 컴퓨팅 AWS 글로벌 서비스 구축을 위한 선택_데이터지능팀_이호철

High Availability (고가용성)

DB서버 부하분산 안되어 있음. 심할 경우 2개 AZ 모두 중단될 가능성 있음

Elastic Load Balancer

Cloud Watch (Monitoring) Cloud Watch (Monitoring)

US-EAST-1a US-EAST-1b

Auto Scaling Auto Scaling Auto Scaling Auto Scaling

MySQL DB MySQL DB

AWS Security Groups AWS Security Groups

Page 27: H3 2011 클라우드 컴퓨팅 AWS 글로벌 서비스 구축을 위한 선택_데이터지능팀_이호철

High Availability (고가용성)

Elastic Load Balancer

Cloud Watch (Monitoring) Cloud Watch (Monitoring)

US-EAST-1a US-EAST-1b

Auto Scaling Auto Scaling Auto Scaling Auto Scaling

AWS Security Groups AWS Security Groups

Master Slave

Read Replica Read Replica

Page 28: H3 2011 클라우드 컴퓨팅 AWS 글로벌 서비스 구축을 위한 선택_데이터지능팀_이호철

최적화 #3 Performance

Page 29: H3 2011 클라우드 컴퓨팅 AWS 글로벌 서비스 구축을 위한 선택_데이터지능팀_이호철

Performance (성능 최적화)

CloudFront

다운로드/스트리밍

원본파일 : S3 또는 특정서버

20개 Edge Locations / 사용자에 가장 가까운 위치

E

E

E

E

E

E

CloudFront

Network

S3

원본파일

파일업로드

Page 30: H3 2011 클라우드 컴퓨팅 AWS 글로벌 서비스 구축을 위한 선택_데이터지능팀_이호철

Performance (성능 최적화)

ElastiCache

Memcached 기반

미동부 만 지원

DB부하 절감

EC2 + Memcached (Redis) 구성

EC2 API Server

Cache

Engine

Cache

Engine

Cache

Node

Cache

Node

Cache Parameter Group

Cache Cluster

RDS

Application

Code

Database

Access

Memcached

Client Library

CloudWatch

Memcached

Protocol

Page 31: H3 2011 클라우드 컴퓨팅 AWS 글로벌 서비스 구축을 위한 선택_데이터지능팀_이호철

kth 글로벌 서비스 on AWS

Scalability High-

Availability Performance

kth 글로벌 서비스(on AWS) 최적의 서비스 플랫폼 구축을 위한 구성요소

확장성

Auto-Scaling

Scale-UP

고가용성

Multi-AZ

RDS HA

성능 최적화

CloudFront

ElastiCache

Page 32: H3 2011 클라우드 컴퓨팅 AWS 글로벌 서비스 구축을 위한 선택_데이터지능팀_이호철

kth 최적화 결과…

Page 33: H3 2011 클라우드 컴퓨팅 AWS 글로벌 서비스 구축을 위한 선택_데이터지능팀_이호철

kth 글로벌 서비스 최적화 결과

Elastic Load Balancer

Auto Scaling Group

EC2

ElastiCache

Availability Zone #1 Availability Zone #2

Availability Zone #n

CloudFront

S3

media.mysite.com

Master

Read Replica

Auto Scaling Group

EC2

ElastiCache

Read Replica

Slave

www.mysite.com Route 53

Page 34: H3 2011 클라우드 컴퓨팅 AWS 글로벌 서비스 구축을 위한 선택_데이터지능팀_이호철

TIP Upload Latency

접근 제어

파일 업로드 도구

Page 35: H3 2011 클라우드 컴퓨팅 AWS 글로벌 서비스 구축을 위한 선택_데이터지능팀_이호철

TIP #1 – Upload Latency

Main Server Group(US-East)

S3 S3

S3

EC2

S3

EC2

S3

EC2 이미지업로드 이미지업로드

업로드 결과 전송

1

2

Media Upload Server Group (Each-Region)

지역별 업로드 서버 분산 배치 업로드 결과는 메인 서버그룹

RDS

Upload Latency

EC2 EC2

EC2

EC2

EC2

Page 36: H3 2011 클라우드 컴퓨팅 AWS 글로벌 서비스 구축을 위한 선택_데이터지능팀_이호철

TIP #2 – 접근제어

접근 제어

Gateway Server (EC2)

Security

Group

Internet

HTTP

80/443 TCP

(SSH)

Office/

Engineer

TCP

22(SSH) HTTP

8080

TCP

3306

Web Server

(EC2)

App Server

(EC2)

개발자 접근 (SSH)

2

서비스 포트

(80/443) 1 1

WEB과WAS (8080)

4

개발서버 내

접근(SSH) 3

WAS와 DB (3306)

5

2

3 4

5

1

DB

Server

Page 37: H3 2011 클라우드 컴퓨팅 AWS 글로벌 서비스 구축을 위한 선택_데이터지능팀_이호철

TIP #3 – 파일 업로드 도구

파일 업로드 도구

Tsunami UDP - UDP 기반의 Open Source File 전송 프로토콜 - 원거리 네트워크 사이에도 높은 전송속도 제공

상용도구 - Aspera : 빠른 속도를 보장하는 AWS를 위한 데이터 전송 상용

소프트웨어

FedEX

Page 38: H3 2011 클라우드 컴퓨팅 AWS 글로벌 서비스 구축을 위한 선택_데이터지능팀_이호철

KTH + AWS

Scalability

High Availability

Performance

TIP

운영 준비

최적화 구성

Upload Latency

접근제어

파일 업로드

Page 39: H3 2011 클라우드 컴퓨팅 AWS 글로벌 서비스 구축을 위한 선택_데이터지능팀_이호철

감사합니다. 플랫폼개발실 / 공통플랫폼팀 팀장 / 이호철

[email protected]

@5clee