공통플랫폼팀 I 이호철 I @5clee
클라우드 컴퓨팅 AWS
(Amazon Web Services)
- 글로벌 서비스 구축을 위한 선택
IT Issue
Elastic
Cost-EffectiveAvailability
AWS
높은 가용성
탄력적 용량제공
비용 효율화
IT Issue
여기서 잠깐!
AWS를 사용하면 무조건 싸다?
예) 최소 구성시 EC2(Large) 1대, RDS(Large) 1대
 EC2 월 30만원, RDS 월 40만원
 이중화 구성, MultiAZ 구성, 서버 증설  비용증가
예) 스트리밍 서비스
 갑작스런 부하 증가, 서버 증설, 대용량 인코딩 필요
 사용 후 즉시 반납  비용 효율화(사용한 만큼 지불)
KTH가 AWS 선택한 이유?
KTH Global Services
pudding.to , Friending
전 세계 사용자에 사진/동영상 제공
전 세계 사용자가 사진/동영상을 업로드
Global CDN 서비스 필요  CloudFront
업로드 지연 해결 필요  지역별 분산배치
AWS Overview
Global Infrastructure
R
R
R
R
R
R
6개의 Regions – 지역 내 2개 이상의 가용존R
20개의 Edge Locations – CloudFront, Route53
AWS Overview
Global Infra Structure
EC2
Compute Storage Networking
EBS
DataBase
RDS
Elasti
Cache
Simple
DB
Clusters
Map
Reduce
CDN AutomationMonitoring
Cloud
Watch
Auto
Scaling
S3
ELB Route 53
CloudFront
기초
서비스
데이터
처리
데이터
제공/
자동화
AWS Overview
EC2
웹 콘솔을 통하여 가상의 컴퓨팅 환경을 생성 관리
다양한 OS(Amazon Linux, RedHat, SUSE, Windows)
다양한 타입 (CPU, Core, Memory, Disk)
기본 3개의 네트워크 자원 할당
내부 연결/별도 트래픽 비용 없음
단, EIP(고정 아이피)는 외부 연결임
Elastic Compute Cloud
AWS Overview
EBS S3VS.
Block Storage Data Storage
– Simple Storage Service
개별 Object : 1 Byte~5TB
HTTP
- GET,PUT, Delete 프로토콜
EC2에 Attach / EC2
instance Lifetime 의존
Volume당 1GB~1TB
- 다수사용 가능
AWS Overview
수천 대의 Instance 로 부하 균등 분산 또는 Health Check(5초)
를 통해 부하가 적은 쪽으로 부하 분배
특정 세션에 대해 강제로 하나의 인스턴스로 전달하는 Sticky
Session 가능
ELB – Elastic Load Balancing
ELB는 고정 IP(EIP) 할당 안됨 (CNAME, Route 53 활용필요)
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
kth 최적화
시작…
AWS 최적화 구성요소
Scalability
High-
Availability
Performance
확장성
Auto-Scaling
Scale-UP
고가용성
Multi-AZ
RDS HA
성능 최적화
CloudFront
ElastiCache
Amazon Web Services
활용한 최적의 서비스 플랫폼 구축을 위한 구성요소
최적화 #1
Scalability
Scalability (확장성)
Scale-UP Scale-OUTVS.
 시스템 사양 UP
(CPU, 메모리, Disk)
 Scale-Down
 시스템 증설
 Scale-In
Scalability (확장성) – Scale-UP
Scale-UP : EC2
웹 콘솔상에서 옵션 제공되지 않음
Scale-UP 방안
EBS에 SnapShot 생성
 EC2 신규 생성(타입 변경)
 기존 EC2 정지
Micro
Extra-
Large
Scalability (확장성) – Scale-UP
Scale-UP : RDS
웹 콘솔상에서 옵션 변경으로 처리
변경되는 동안 DownTime 존재
유지 보수 일정주기에 실행
- 즉시 실행이 필요하다면
Apply Immediately 옵션 체크
Small xLarge
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
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”
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 개수
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영역)
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 구동
Scalability (확장성) – Scale-OUT
RDS – Scale OUT
RDS Auto-Scaling 은 지원되지 않음
Master-Slave Type의 Replication 지원
Slave DB의 가용 존을 여러 지역에 분산 배치
최적화 #2
High Availability
High Availability (고가용성)
Elastic Load Balancer
Cloud Watch (Monitoring)
AWS Security Groups
US-EAST-1a
• ELB - 수 천대의
EC2를 로드밸런싱
• EC2 서버 Scale 방안
 수동으로 증가시
켜야 함
• 트래픽 증가 및 동시
접속자 증가시
MySQL DB
EC2 EC2
High Availability (고가용성)
• EC2 – Auto Scaling
• AZ 장애시 전체 서비스
중단
 Multi-AZ 구조 필요
• US-EAST-1a AZ 장애시
Elastic Load Balancer
Cloud Watch (Monitoring)
US-EAST-1a
Auto ScalingAuto Scaling
AWS Security Groups
MySQL DB
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
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
최적화 #3
Performance
Performance (성능 최적화)
CloudFront
다운로드/스트리밍
원본파일 : S3 또는 특정서버
20개 Edge Locations / 사용자에 가장 가까운 위치
E
E
E
E
E
E
CloudFront
Network
S3
원본파일
파일업로드
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
kth 글로벌 서비스 on AWS
Scalability
High-
Availability
Performance
kth 글로벌 서비스(on AWS)
최적의 서비스 플랫폼 구축을 위한 구성요소
확장성
Auto-Scaling
Scale-UP
고가용성
Multi-AZ
RDS HA
성능 최적화
CloudFront
ElastiCache
kth 최적화
결과…
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
TIP
Upload Latency
접근 제어
파일 업로드 도구
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
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)
11
WEB과WAS
(8080)
4
개발서버 내
접근(SSH)
3
WAS와 DB
(3306)
5
2
34
5
1
DB
Server
TIP #3 – 파일 업로드 도구
파일 업로드 도구
Tsunami UDP
- UDP 기반의 Open Source File 전송 프로토콜
- 원거리 네트워크 사이에도 높은 전송속도 제공
상용도구
- Aspera : 빠른 속도를 보장하는 AWS를 위한 데이터 전송 상용
소프트웨어
FedEX
KTH + AWS
Scalability
High Availability
Performance
TIP
운영 준비
최적화 구성
Upload Latency
접근제어
파일 업로드
감사합니다.
플랫폼개발실 / 공통플랫폼팀 팀장 / 이호철
hochul.lee@kt.com
@5clee

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

  • 1.
    공통플랫폼팀 I 이호철I @5clee 클라우드 컴퓨팅 AWS (Amazon Web Services) - 글로벌 서비스 구축을 위한 선택
  • 2.
  • 3.
    IT Issue 여기서 잠깐! AWS를사용하면 무조건 싸다? 예) 최소 구성시 EC2(Large) 1대, RDS(Large) 1대  EC2 월 30만원, RDS 월 40만원  이중화 구성, MultiAZ 구성, 서버 증설  비용증가 예) 스트리밍 서비스  갑작스런 부하 증가, 서버 증설, 대용량 인코딩 필요  사용 후 즉시 반납  비용 효율화(사용한 만큼 지불)
  • 4.
    KTH가 AWS 선택한이유? KTH Global Services pudding.to , Friending 전 세계 사용자에 사진/동영상 제공 전 세계 사용자가 사진/동영상을 업로드 Global CDN 서비스 필요  CloudFront 업로드 지연 해결 필요  지역별 분산배치
  • 5.
    AWS Overview Global Infrastructure R R R R R R 6개의Regions – 지역 내 2개 이상의 가용존R 20개의 Edge Locations – CloudFront, Route53
  • 6.
    AWS Overview Global InfraStructure EC2 Compute Storage Networking EBS DataBase RDS Elasti Cache Simple DB Clusters Map Reduce CDN AutomationMonitoring Cloud Watch Auto Scaling S3 ELB Route 53 CloudFront 기초 서비스 데이터 처리 데이터 제공/ 자동화
  • 7.
    AWS Overview EC2 웹 콘솔을통하여 가상의 컴퓨팅 환경을 생성 관리 다양한 OS(Amazon Linux, RedHat, SUSE, Windows) 다양한 타입 (CPU, Core, Memory, Disk) 기본 3개의 네트워크 자원 할당 내부 연결/별도 트래픽 비용 없음 단, EIP(고정 아이피)는 외부 연결임 Elastic Compute Cloud
  • 8.
    AWS Overview EBS S3VS. BlockStorage Data Storage – Simple Storage Service 개별 Object : 1 Byte~5TB HTTP - GET,PUT, Delete 프로토콜 EC2에 Attach / EC2 instance Lifetime 의존 Volume당 1GB~1TB - 다수사용 가능
  • 9.
    AWS Overview 수천 대의Instance 로 부하 균등 분산 또는 Health Check(5초) 를 통해 부하가 적은 쪽으로 부하 분배 특정 세션에 대해 강제로 하나의 인스턴스로 전달하는 Sticky Session 가능 ELB – Elastic Load Balancing ELB는 고정 IP(EIP) 할당 안됨 (CNAME, Route 53 활용필요)
  • 10.
    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
  • 11.
  • 12.
    AWS 최적화 구성요소 Scalability High- Availability Performance 확장성 Auto-Scaling Scale-UP 고가용성 Multi-AZ RDSHA 성능 최적화 CloudFront ElastiCache Amazon Web Services 활용한 최적의 서비스 플랫폼 구축을 위한 구성요소
  • 13.
  • 14.
    Scalability (확장성) Scale-UP Scale-OUTVS. 시스템 사양 UP (CPU, 메모리, Disk)  Scale-Down  시스템 증설  Scale-In
  • 15.
    Scalability (확장성) –Scale-UP Scale-UP : EC2 웹 콘솔상에서 옵션 제공되지 않음 Scale-UP 방안 EBS에 SnapShot 생성  EC2 신규 생성(타입 변경)  기존 EC2 정지 Micro Extra- Large
  • 16.
    Scalability (확장성) –Scale-UP Scale-UP : RDS 웹 콘솔상에서 옵션 변경으로 처리 변경되는 동안 DownTime 존재 유지 보수 일정주기에 실행 - 즉시 실행이 필요하다면 Apply Immediately 옵션 체크 Small xLarge
  • 17.
    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
  • 18.
    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”
  • 19.
    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 개수
  • 20.
    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영역)
  • 21.
    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 구동
  • 22.
    Scalability (확장성) –Scale-OUT RDS – Scale OUT RDS Auto-Scaling 은 지원되지 않음 Master-Slave Type의 Replication 지원 Slave DB의 가용 존을 여러 지역에 분산 배치
  • 23.
  • 24.
    High Availability (고가용성) ElasticLoad Balancer Cloud Watch (Monitoring) AWS Security Groups US-EAST-1a • ELB - 수 천대의 EC2를 로드밸런싱 • EC2 서버 Scale 방안  수동으로 증가시 켜야 함 • 트래픽 증가 및 동시 접속자 증가시 MySQL DB EC2 EC2
  • 25.
    High Availability (고가용성) •EC2 – Auto Scaling • AZ 장애시 전체 서비스 중단  Multi-AZ 구조 필요 • US-EAST-1a AZ 장애시 Elastic Load Balancer Cloud Watch (Monitoring) US-EAST-1a Auto ScalingAuto Scaling AWS Security Groups MySQL DB
  • 26.
    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
  • 27.
    High Availability (고가용성) ElasticLoad 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
  • 28.
  • 29.
    Performance (성능 최적화) CloudFront 다운로드/스트리밍 원본파일: S3 또는 특정서버 20개 Edge Locations / 사용자에 가장 가까운 위치 E E E E E E CloudFront Network S3 원본파일 파일업로드
  • 30.
    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
  • 31.
    kth 글로벌 서비스on AWS Scalability High- Availability Performance kth 글로벌 서비스(on AWS) 최적의 서비스 플랫폼 구축을 위한 구성요소 확장성 Auto-Scaling Scale-UP 고가용성 Multi-AZ RDS HA 성능 최적화 CloudFront ElastiCache
  • 32.
  • 33.
    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
  • 34.
  • 35.
    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
  • 36.
    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) 11 WEB과WAS (8080) 4 개발서버 내 접근(SSH) 3 WAS와 DB (3306) 5 2 34 5 1 DB Server
  • 37.
    TIP #3 –파일 업로드 도구 파일 업로드 도구 Tsunami UDP - UDP 기반의 Open Source File 전송 프로토콜 - 원거리 네트워크 사이에도 높은 전송속도 제공 상용도구 - Aspera : 빠른 속도를 보장하는 AWS를 위한 데이터 전송 상용 소프트웨어 FedEX
  • 38.
    KTH + AWS Scalability HighAvailability Performance TIP 운영 준비 최적화 구성 Upload Latency 접근제어 파일 업로드
  • 39.
    감사합니다. 플랫폼개발실 / 공통플랫폼팀팀장 / 이호철 hochul.lee@kt.com @5clee