elb와 ebs의 아키텍터로 생각해보는 사용상 주의할 점들

104
ELB와 EBS의 아키텍처로 생각해보는 사용상 주의할 점들 VCNC 개발팀 이정행 AWS 한국 유저 그룹 (#awskrug) 2014.03.08

Upload: aws-korea-ug

Post on 05-Dec-2014

1.541 views

Category:

Technology


0 download

DESCRIPTION

AWS 한국 사용자모임 세미나 VCNC 이정행

TRANSCRIPT

Page 1: ELB와 EBS의 아키텍터로 생각해보는 사용상 주의할 점들

ELB와 EBS의 아키텍처로 생각해보는 사용상 주의할 점들

!VCNC 개발팀 이정행

AWS 한국 유저 그룹 (#awskrug) 2014.03.08

Page 2: ELB와 EBS의 아키텍터로 생각해보는 사용상 주의할 점들

발표자 소개

• 이정행 (@eincs)

• VCNC에서 비트윈을 개발하고 있는 개발자

• 서버팀과 안드로이드팀에서 파견직으로 일하고 있음

• http://eincs.net

Page 3: ELB와 EBS의 아키텍터로 생각해보는 사용상 주의할 점들

비트윈

• 커플들을 위한 모바일 서비스

• 아이폰, 안드로이드 어플리케이션 제공

• 채팅, 기념일, 사진, 메모, 캘린더 기능 제공

• 전 세계에서 600만+ 다운로드 (as of 2012.02)

• http://between.us

• http://engineering.vcnc.co.kr

Page 4: ELB와 EBS의 아키텍터로 생각해보는 사용상 주의할 점들

비트윈 서버 구조

• Java로 작성되어 있음

• 데이터 저장소로 HBase를 사용함

• Haeinsa를 통해 HBase에 접근시 ACID 트랜잭션 이용

• Thrift 서비스를 Netty위에 올려서 서비스함

• 채팅의 경우, Thrift를 이용해 클라이언트와 통신함

• AWS Tokyo리전에서 운영되고 있음

Page 5: ELB와 EBS의 아키텍터로 생각해보는 사용상 주의할 점들

EC2

EC2

EC2

EC2

EC2

EC2

EC2

EC2

EC2

Master Master BackupEC2

채팅서버

API서버SNS

SES

SQS

S3

CloudFront

CloudWatch

IAM

Page 6: ELB와 EBS의 아키텍터로 생각해보는 사용상 주의할 점들

Elastic Load Balancer

Page 7: ELB와 EBS의 아키텍터로 생각해보는 사용상 주의할 점들

ELB는 좋다.

Page 8: ELB와 EBS의 아키텍터로 생각해보는 사용상 주의할 점들

ELB에 EC2 여러 인스턴스를 붙여놓으면 트래픽을 분배해준다

EC2

EC2

Page 9: ELB와 EBS의 아키텍터로 생각해보는 사용상 주의할 점들

EC2

EC2

EC2트래픽이 늘어 EC2를 더 붙이면

알아서 분배해준다.

Page 10: ELB와 EBS의 아키텍터로 생각해보는 사용상 주의할 점들

EC2

EC2

EC2트래픽이 늘어 EC2를 더 붙이면

알아서 분배해준다.

Auto Scale 설정을 해두면 좋다.

Page 11: ELB와 EBS의 아키텍터로 생각해보는 사용상 주의할 점들

EC2

EC2

EC2

Page 12: ELB와 EBS의 아키텍터로 생각해보는 사용상 주의할 점들

EC2

EC2

EC2EC2에 문제가 생겨 장애가 나면 더 이상 트래픽을 분배하지 않는다.

Page 13: ELB와 EBS의 아키텍터로 생각해보는 사용상 주의할 점들

EC2

EC2

EC2EC2에 문제가 생겨 장애가 나면 더 이상 트래픽을 분배하지 않는다.

ELB는 아주 좋습니다.

Page 14: ELB와 EBS의 아키텍터로 생각해보는 사용상 주의할 점들

ELB는 내부적으로 Scale-Out을 한다.

Page 15: ELB와 EBS의 아키텍터로 생각해보는 사용상 주의할 점들

EC2

EC2

EC2트래픽이 매우 증가한 경우에는?

Page 16: ELB와 EBS의 아키텍터로 생각해보는 사용상 주의할 점들

EC2

EC2

EC2

EC2

EC2는 늘리면 되지만 ELB는 버틸 수 있을까?

Page 17: ELB와 EBS의 아키텍터로 생각해보는 사용상 주의할 점들

EC2

EC2

EC2

EC2

ELB Machine

ELB도 내부적으로는 컴퓨터 위에서 돌아가는 어플리케이션일 뿐이다! 한대의 ELB 머신이 처리할 수 있는 트래픽에는 한계가 있다.

Page 18: ELB와 EBS의 아키텍터로 생각해보는 사용상 주의할 점들

EC2

EC2

EC2

EC2

ELB Machine

ELB Machine

ELB는 Scale-Out하여 큰 트래픽도 문제 없이 처리한다. 밖에서 보기엔 하나의 ELB이지만, 내부적으로는 여러 머신에서 동작하게 된다.

Page 19: ELB와 EBS의 아키텍터로 생각해보는 사용상 주의할 점들

EC2

EC2

EC2

EC2

ELB Machine

ELB Machine

한 ELB는 여러 IP를 가질 수 있다!

x.x.x.x

y.y.y.y

Page 20: ELB와 EBS의 아키텍터로 생각해보는 사용상 주의할 점들

EC2

EC2

EC2

EC2

ELB Machine

ELB Machine

ELB가 IP를 할당받지 못하고 도메인이 할당되는 이유!

xxx.elb.amazonaws.com

Page 21: ELB와 EBS의 아키텍터로 생각해보는 사용상 주의할 점들

EC2

EC2

EC2

EC2

ELB Machine

ELB Machine

DNS Round Robin 으로 각 ELB Machine에

트래픽이 분배 된다.

Page 22: ELB와 EBS의 아키텍터로 생각해보는 사용상 주의할 점들

EC2

EC2

EC2

EC2

ELB Machine

ELB Machine

DNS Round Robin 으로 각 ELB Machine에

트래픽이 분배 된다.

ELB도 내부적으로는 Scale-Out을 한다.

Page 23: ELB와 EBS의 아키텍터로 생각해보는 사용상 주의할 점들

ELB도 Scale-Out하려면 시간이 필요하다.

Page 24: ELB와 EBS의 아키텍터로 생각해보는 사용상 주의할 점들

EC2

EC2

EC2

ELB Machine

EC2

Page 25: ELB와 EBS의 아키텍터로 생각해보는 사용상 주의할 점들

EC2

EC2

EC2

ELB Machine

아무 트래픽도 없다가 하나의 ELB머신이 감당하기 힘든 엄청난 트래픽을

갑자기 가한다면?

EC2

Page 26: ELB와 EBS의 아키텍터로 생각해보는 사용상 주의할 점들

EC2

EC2

EC2

ELB Machine

어쨋든 처음에는 트래픽을 각 EC2에 분배하기는 하는데…

EC2

Page 27: ELB와 EBS의 아키텍터로 생각해보는 사용상 주의할 점들

EC2

EC2

EC2

ELB Machine

ELB Machine이 버티지 못하고 트래픽을 처리하지 못한다.

EC2

Page 28: ELB와 EBS의 아키텍터로 생각해보는 사용상 주의할 점들

EC2

EC2

EC2

ELB Machine

ELB Machine

EC2

시간이 지나면 Scale-out에 성공하여 정상 동작하게 된다.

Page 29: ELB와 EBS의 아키텍터로 생각해보는 사용상 주의할 점들

EC2

EC2

EC2

ELB Machine

ELB Machine

EC2

시간이 지나면 Scale-out에 성공하여 정상 동작하게 된다.

갑자기 많은 트래픽을 처리해야할떄에는 미리 Warm-up을 하자!

Page 30: ELB와 EBS의 아키텍터로 생각해보는 사용상 주의할 점들

EC2

EC2

EC2

ELB Machine

ELB Machine

EC2

시간이 지나면 Scale-out에 성공하여 정상 동작하게 된다.

갑자기 많은 트래픽을 처리해야할떄에는 미리 Warm-up을 하자!

ELB가 차갑게 식었다면 따뜻하게 데워서 이용해주세요.

Page 31: ELB와 EBS의 아키텍터로 생각해보는 사용상 주의할 점들

Multi-AZ 구성일 때 ELB의 동작에 주의하자!

Page 32: ELB와 EBS의 아키텍터로 생각해보는 사용상 주의할 점들

EC2ELB Machine

Availability Zone 1

Page 33: ELB와 EBS의 아키텍터로 생각해보는 사용상 주의할 점들

EC2ELB Machine

Availability Zone 1

서비스에서 EC2 인스턴스를 한대만 운영하면 SPOF!

Page 34: ELB와 EBS의 아키텍터로 생각해보는 사용상 주의할 점들

EC2ELB Machine

Availability Zone 1

서비스에서 EC2 인스턴스를 한대만 운영하면 SPOF!

하나의 Availability Zone만 이용하는 것도 권장되지 않는다.

(Availability Zone = Data Center)

Page 35: ELB와 EBS의 아키텍터로 생각해보는 사용상 주의할 점들

EC2ELB Machine

Availability Zone 1

Availability Zone 2

EC2

Multi-AZ 구성을 위해 EC2를 다른 AZ에 띄워보았다.

Page 36: ELB와 EBS의 아키텍터로 생각해보는 사용상 주의할 점들

EC2

EC2

ELB Machine

Availability Zone 1

Availability Zone 2한 ELB Machine도 일종의 컴퓨터이므로 특정 데이터센터 안에 속해있다.

Page 37: ELB와 EBS의 아키텍터로 생각해보는 사용상 주의할 점들

EC2

EC2

ELB Machine

ELB Machine

Availability Zone 1

Availability Zone 2

Multi-AZ 구성을하면 트래픽이 매우 작아도 ELB Machine이 각 AZ마다 하나씩 뜨게 된다!

Page 38: ELB와 EBS의 아키텍터로 생각해보는 사용상 주의할 점들

EC2

EC2

ELB Machine

ELB Machine

Availability Zone 1

Availability Zone 2

DNS RR로 분배하므로 각 AZ에 동일한 트래픽이

분배된다.

Page 39: ELB와 EBS의 아키텍터로 생각해보는 사용상 주의할 점들

EC2

EC2

ELB Machine

ELB Machine

Availability Zone 1

Availability Zone 2

DNS RR로 분배하므로 각 AZ에 동일한 트래픽이

분배된다.

ELB도 컴퓨터 이므로 Multi-AZ 구성이면 여러개 뜹니다.

Page 40: ELB와 EBS의 아키텍터로 생각해보는 사용상 주의할 점들

각 AZ별 EC2 숫자는 같아야 한다.

Page 41: ELB와 EBS의 아키텍터로 생각해보는 사용상 주의할 점들

EC2

EC2

ELB Machine

ELB Machine

Availability Zone 1

Availability Zone 2Auto-scale 설정을 해놓지 않았는데 갑자기 엄청난 트

래픽이 몰린다면?

Page 42: ELB와 EBS의 아키텍터로 생각해보는 사용상 주의할 점들

EC2

EC2

ELB Machine

ELB Machine

Availability Zone 1

Availability Zone 2

EC2

EC2

너무 급한 나머지 한쪽 AZ에만 인스턴스 2개를 추가!

Page 43: ELB와 EBS의 아키텍터로 생각해보는 사용상 주의할 점들

EC2

EC2

ELB Machine

ELB Machine

Availability Zone 1

Availability Zone 2

EC2

EC2

너무 급한 나머지 한쪽 AZ에만 인스턴스 2개를 추가!

이제 4대나 있으니 걱정 없음!?

Page 44: ELB와 EBS의 아키텍터로 생각해보는 사용상 주의할 점들

EC2

EC2

ELB Machine

ELB Machine

Availability Zone 1

Availability Zone 2

EC2

EC2

그러나 AZ1의 인스턴스가 큰 CPU 사용량을 보이며 죽었다 살았다 한다. 왜 그럴까?

Page 45: ELB와 EBS의 아키텍터로 생각해보는 사용상 주의할 점들

EC2

EC2

ELB Machine

ELB Machine

Availability Zone 1

Availability Zone 2

EC2

EC2

DNS Round Robin 으로 분배하므로 각 AZ에 동일한 트래픽이 분배된다.

Page 46: ELB와 EBS의 아키텍터로 생각해보는 사용상 주의할 점들

EC2

EC2

ELB Machine

ELB Machine

Availability Zone 1

Availability Zone 2

EC2

EC2

한 쪽 AZ에 인스턴스 갯수가 적으면 트래픽이 불균형하게 분배 된다.

Page 47: ELB와 EBS의 아키텍터로 생각해보는 사용상 주의할 점들

EC2

EC2

ELB Machine

ELB Machine

Availability Zone 1

Availability Zone 2

EC2

EC2

한 쪽 AZ에 인스턴스 갯수가 적으면 트래픽이 불균형하게 분배 된다.

각 AZ에 같은 수의 EC2를 붙여놓는 것이 좋다.

Page 48: ELB와 EBS의 아키텍터로 생각해보는 사용상 주의할 점들

EC2

EC2

ELB Machine

ELB Machine

Availability Zone 1

Availability Zone 2

EC2

EC2

한 쪽 AZ에 인스턴스 갯수가 적으면 트래픽이 불균형하게 분배 된다.

각 AZ에 같은 수의 EC2를 붙여놓는 것이 좋다.

Multi-AZ 구성을 할때에는 인스턴스 갯수를 잘 맞춰야한다.

Page 49: ELB와 EBS의 아키텍터로 생각해보는 사용상 주의할 점들

ELB도 나무에서 떨어질 때가 있다.

Page 50: ELB와 EBS의 아키텍터로 생각해보는 사용상 주의할 점들

EC2

EC2

EC2

EC2

EC2

EC2

EC2

EC2

EC2

Master Master BackupEC2

채팅서버

API서버SNS

SES

SQS

S3

CloudFront

CloudWatch

IAM

Page 51: ELB와 EBS의 아키텍터로 생각해보는 사용상 주의할 점들

EC2

EC2

EC2

EC2

EC2

EC2

EC2

EC2

EC2

Master Master BackupEC2

채팅서버

API서버SNS

SES

SQS

S3

CloudFront

CloudWatch

IAM

채팅 서버는 하나의 ELB와 연결되어 있고, 연결 갯수가 많고,

timeout이 길게 설정되어 있다.

Page 52: ELB와 EBS의 아키텍터로 생각해보는 사용상 주의할 점들

EC2ELB Machine

전체 시스템을 VPC로 옮긴 후 가끔씩 채팅 서버 중 한 대의 사용자들이 연결을 맺지 못하는 발생함

Page 53: ELB와 EBS의 아키텍터로 생각해보는 사용상 주의할 점들

EC2ELB Machine

전체 시스템을 VPC로 옮긴 후 가끔씩 채팅 서버 중 한 대의 사용자들이 연결을 맺지 못하는 발생함

아무리 문제를 찾아봐도 원인이 나오지 않아 AWS Support에 도움을 청함

Page 54: ELB와 EBS의 아키텍터로 생각해보는 사용상 주의할 점들

EC2ELB Machine

“From the analysis it appears that once the ELB tries to establish more than

19k connections the backend instances are not able to handle additional

connections and this cause a health-check failure.”

Page 55: ELB와 EBS의 아키텍터로 생각해보는 사용상 주의할 점들

EC2ELB Machine

“From the analysis it appears that once the ELB tries to establish more than

19k connections the backend instances are not able to handle additional

connections and this cause a health-check failure.”

하지만 테스트 해보니 우리 서버는 19K이상은 충분히 버틸 수 있음… 그렇다면 ELB문제 아닐까?

Page 56: ELB와 EBS의 아키텍터로 생각해보는 사용상 주의할 점들

EC2

ELB Machine

ELB Machine

Route53

ELB를 두 개 띄우고, Route53으로 DNS-RR 설정하여 일단 해결

Page 57: ELB와 EBS의 아키텍터로 생각해보는 사용상 주의할 점들

EC2

ELB Machine

ELB Machine

Route53 “I see some activity on the ELB from our side that may have some influence on the issue you are experiencing.”

Page 58: ELB와 EBS의 아키텍터로 생각해보는 사용상 주의할 점들

EC2

ELB Machine

ELB Machine

Route53

“We made some adjustments to our ELB in order to better handle

requests directed to your backend instances.”

“I see some activity on the ELB from our side that may have some influence on the issue you are experiencing.”

Page 59: ELB와 EBS의 아키텍터로 생각해보는 사용상 주의할 점들

EC2ELB Machine

ELB Machine

이후에 확인해보니 ELB Machine이 두개 떠있게 됨 (IP가 두개 관측됨)

Page 60: ELB와 EBS의 아키텍터로 생각해보는 사용상 주의할 점들

EC2ELB Machine

ELB Machine

이후에 확인해보니 ELB Machine이 두개 떠있게 됨 (IP가 두개 관측됨)

문제가 생기면 AWS Support가 많은 도움이 된다.

Page 61: ELB와 EBS의 아키텍터로 생각해보는 사용상 주의할 점들

정리하기

• ELB는 좋다.

• ELB는 내부적으로 Scale-Out을 한다.

• ELB도 Scale-Out하려면 시간이 필요하다.

• Multi-AZ 구성일 때 ELB의 동작에 주의하자!

• 각 AZ별 EC2의 숫자는 같아야 한다.

• ELB도 나무에서 떨어질 때가 있다.

Page 62: ELB와 EBS의 아키텍터로 생각해보는 사용상 주의할 점들

Elastic Block Storage

Page 63: ELB와 EBS의 아키텍터로 생각해보는 사용상 주의할 점들

EBS는 좋다.

Page 64: ELB와 EBS의 아키텍터로 생각해보는 사용상 주의할 점들

EC2

EC2

EC2 EBS

EBS

EBS언제든지 EC2에 EBS를

붙일 수 있음

Page 65: ELB와 EBS의 아키텍터로 생각해보는 사용상 주의할 점들

EC2

EC2

EC2 EBS

EBS

EBS

사용하던 EBS를 새로운 인스턴스에 가져다 붙일 수 있음

Page 66: ELB와 EBS의 아키텍터로 생각해보는 사용상 주의할 점들

EC2

EC2

EC2 EBS

EBS

EBS언제든지 Snapshot을 만들어 둘 수 있음

Page 67: ELB와 EBS의 아키텍터로 생각해보는 사용상 주의할 점들

EC2

EC2

EC2 EBS

EBS

EBS언제든지 Snapshot을 만들어 둘 수 있음

EBS는 정말 좋습니다.

Page 68: ELB와 EBS의 아키텍터로 생각해보는 사용상 주의할 점들

EC2는 EBS에 공유 네트워크를 통해 접근한다.

Page 69: ELB와 EBS의 아키텍터로 생각해보는 사용상 주의할 점들

EC2

EC2

EC2 EBS

EBS

EBS

EC2에 EBS를 부착하면 디스크를 가져다 설치하는 느낌이지만…

Page 70: ELB와 EBS의 아키텍터로 생각해보는 사용상 주의할 점들

EC2 EC2EC2 EBS EBS EBS

EC2에 부착한 EBS는 네트워크를 통해 데이터를 주고 받는다.

Page 71: ELB와 EBS의 아키텍터로 생각해보는 사용상 주의할 점들

EC2 EC2EC2 EBS EBS EBS

사용자

EC2와 인터넷과 통신할때에도 같은 이더넷카드를 사용한다.

인터넷

Page 72: ELB와 EBS의 아키텍터로 생각해보는 사용상 주의할 점들

EBS의 성능은 외부와의 통신 트래픽에 영향을 받을 수 있다.

Page 73: ELB와 EBS의 아키텍터로 생각해보는 사용상 주의할 점들

EC2 EC2EC2 EBS EBS EBS

사용자 인터넷

Page 74: ELB와 EBS의 아키텍터로 생각해보는 사용상 주의할 점들

EC2 EC2EC2 EBS EBS EBS

사용자

EC2에 이더넷 카드가 하나라면, 외부와 통신 트래픽이 많으면 EBS와 통신

이 방해 받을 수 있다.인터넷

Page 75: ELB와 EBS의 아키텍터로 생각해보는 사용상 주의할 점들

EC2 EC2EC2 EBS EBS EBS

사용자

EBS-Optimized 인스턴스는 EBS와의 통신에만 사용하는 이더넷 카드

가 하나 더 꼽혀 있다!인터넷

Page 76: ELB와 EBS의 아키텍터로 생각해보는 사용상 주의할 점들

EC2 EC2EC2 EBS EBS EBS

사용자

EBS-Optimized 인스턴스는 EBS와의 통신에만 사용하는 이더넷 카드

가 하나 더 꼽혀 있다!인터넷

http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSOptimized.html

성능이 중요할때에는 EBS-Optimized 옵션을 이용하자.

Page 77: ELB와 EBS의 아키텍터로 생각해보는 사용상 주의할 점들

EBS의 성능을 확보하기 위한 방법들이 많다.

Page 78: ELB와 EBS의 아키텍터로 생각해보는 사용상 주의할 점들

EC2 EC2EC2 EBS EBS EBS

PIOPS 옵션을 이용하면 EBS의 IO성능을 보장해준다.

http://www.quora.com/Amazon-EBS/How-did-Amazon-implement-EBS-Provisioned-IOPS-volumeshttp://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_PIOPS.html

Page 79: ELB와 EBS의 아키텍터로 생각해보는 사용상 주의할 점들

EC2

EC2

EC2 EBS

EBS

EBS

http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/raid-config.html

한 EC2 인스턴스에 여러 EBS를 달아 두고 Striping 구성을 통해 처리량(RAID0)이나 안정성(RAID1)을 더 확보할 수 있다.

http://www.slideshare.net/AmazonWebServices/ebs-webinarfinal

Page 80: ELB와 EBS의 아키텍터로 생각해보는 사용상 주의할 점들

EC2 EC2EC2 EBS EBS EBS

http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-prewarm.html

EBS가 처음 만들어지면 성능이 다소 떨어질 수 있다. Pre-wram을 하여 성능을 균일하게 확보 가능.

Page 81: ELB와 EBS의 아키텍터로 생각해보는 사용상 주의할 점들

EC2 EC2EC2 EBS EBS EBS

http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-prewarm.html

EBS가 처음 만들어지면 성능이 다소 떨어질 수 있다. Pre-wram을 하여 성능을 균일하게 확보 가능.

다양한 방법을 통해 EBS의 성능을 확보할 수 있다.

Page 82: ELB와 EBS의 아키텍터로 생각해보는 사용상 주의할 점들

EC2가 멀쩡하더라도 EBS는 문제가 생길 수 있다.

Page 83: ELB와 EBS의 아키텍터로 생각해보는 사용상 주의할 점들

EC2 EC2EC2 EBS EBS EBS

EC2에 부착한 EBS는 네트워크를 통해 데이터를 주고 받는다.

Page 84: ELB와 EBS의 아키텍터로 생각해보는 사용상 주의할 점들

EC2 EC2EC2 EBS EBS EBS

EBS도 일종의 컴퓨터 위에서 돌아가는 어플리케이션이므로 장애가 날 수 있다.

Page 85: ELB와 EBS의 아키텍터로 생각해보는 사용상 주의할 점들

EC2

EC2

EC2

EC2

EC2

EC2

EC2

EC2

HBase(HDFS)마스터는 HA구성을 해놓았음 Master Master

Backup

Page 86: ELB와 EBS의 아키텍터로 생각해보는 사용상 주의할 점들

EC2

EC2

EC2

EC2

EC2

EC2

EC2

EC2

매우(x100)중용한 데이터를 저장하므로 EBS에 물려놓음 Master Master

Backup

Page 87: ELB와 EBS의 아키텍터로 생각해보는 사용상 주의할 점들

EC2

EC2

EC2

EC2

EC2

EC2

EC2

EC2

Master Master Backup

EBS에 장애가 났는데…

Page 88: ELB와 EBS의 아키텍터로 생각해보는 사용상 주의할 점들

EC2

EC2

EC2

EC2

EC2

EC2

EC2

EC2

Master Master Backup

EBS에 장애가 났는데…

자신이 죽은지도 모르고 계속 살아 있는 척을 함

Page 89: ELB와 EBS의 아키텍터로 생각해보는 사용상 주의할 점들

EC2

EC2

EC2

EC2

EC2

EC2

EC2

EC2

Master Master Backup

결국 시스템 전체 장애

Page 90: ELB와 EBS의 아키텍터로 생각해보는 사용상 주의할 점들

EC2

EC2

EC2

EC2

EC2

EC2

EC2

EC2

Master Master Backup

결국 시스템 전체 장애

실시간 검색 1위!

Page 91: ELB와 EBS의 아키텍터로 생각해보는 사용상 주의할 점들

EC2

EC2

EC2

EC2

EC2

EC2

EC2

EC2

Master Master Backup

오픈소스는 AWS환경이 고려 되어 있지 않을 수 있다.

결국 시스템 전체 장애

Page 92: ELB와 EBS의 아키텍터로 생각해보는 사용상 주의할 점들

EBS를 최대한 사용하지 않는 것도 방법이다.

Page 93: ELB와 EBS의 아키텍터로 생각해보는 사용상 주의할 점들

EC2

EC2

EC2

EC2

EC2

EC2

EC2

EC2

EC2

EC2

EC2

EC2

HBase(HDFS)에서는 데이터를 세번 복제하여 여러 노드에 저장한다.

Page 94: ELB와 EBS의 아키텍터로 생각해보는 사용상 주의할 점들

EC2

EC2

EC2

EC2

EC2

EC2

EC2

EC2

EC2

EC2

EC2

EC2

처음에는 모든 노드에 EBS를 달았지만 여러가지 문제가 있었다.

Page 95: ELB와 EBS의 아키텍터로 생각해보는 사용상 주의할 점들

EC2

EC2

EC2

EC2

EC2

EC2

EC2

EC2

EC2

EC2

EC2

EC2

그렇다고 모두 instance store를 사용하기에는 불안하다.

http://techblog.netflix.com/2011/04/lessons-netflix-learned-from-aws-outage.html

Page 96: ELB와 EBS의 아키텍터로 생각해보는 사용상 주의할 점들

EC2

EC2

EC2

EC2

EC2

EC2

EC2

EC2

EC2

EC2

EC2

EC2

HDFS multiple-rack 설정을 통해 데이터 복제 정책을 정할 수 있다.

Page 97: ELB와 EBS의 아키텍터로 생각해보는 사용상 주의할 점들

EC2

EC2

EC2

EC2

EC2

EC2

EC2

EC2

EC2

EC2

EC2

EC2

Ephemeral을 사용하는 rack에 2벌을 저장하고 EBS를 사용하는 rack에 1벌을 저장하도록 설정

Page 98: ELB와 EBS의 아키텍터로 생각해보는 사용상 주의할 점들

EC2

EC2

EC2

EC2

EC2

EC2

EC2

EC2

EC2

EC2

EC2

EC2

어떤 데이터든 EBS에는 최소한 한 벌이 저장되게 된다.

Page 99: ELB와 EBS의 아키텍터로 생각해보는 사용상 주의할 점들

EC2

EC2

EC2

EC2

EC2

EC2

EC2

EC2

EC2

EC2

EC2

EC2

어떤 데이터든 EBS에는 최소한 한 벌이 저장되게 된다.

EBS를 굳이 사용하지 않아도 되는 환경이면 쓰지 말자.

Page 100: ELB와 EBS의 아키텍터로 생각해보는 사용상 주의할 점들

정리하기

• EBS는 좋다.

• EC2는 공유 네트워크를 통해 EBS에 접근한다.

• EBS의 성능은 외부와 통신 트래픽에 영향을 받을 수 있다.

• EBS의 성능을 확보하기 위한 방법들은 많다.

• EC2가 멀쩡하더라도 EBS는 문제가 있을 수 있다.

• EBS를 최대한 사용하지 않는 것도 방법이다.

Page 101: ELB와 EBS의 아키텍터로 생각해보는 사용상 주의할 점들

–Ben Parker

‘With great power comes great responsibility.’

Page 102: ELB와 EBS의 아키텍터로 생각해보는 사용상 주의할 점들

–Ben Parker

‘With great power comes great responsibility.’

ELB와 EBS는 정말 강력합니다.

Page 103: ELB와 EBS의 아키텍터로 생각해보는 사용상 주의할 점들

–Ben Parker

‘With great power comes great responsibility.’

ELB와 EBS는 정말 강력합니다.

그 만큼 잘못쓰면 안됩니다.

Page 104: ELB와 EBS의 아키텍터로 생각해보는 사용상 주의할 점들

Thank You