brunch

You can make anything
by writing

C.S.Lewis

by Master Seo Dec 30. 2022

23. AWS-리테일, 커머스-케이타운 포유-K-POP

EC2, RDS로 이벤트 대응 노하우 정리



<1> AWS클라우드로의 첫 번째 여정

<2> AWS Well 아키텍처

<3> Ktown4 u  (케이 타운 포유) 회사 소개

<4> 첫 번째 클라우드 이관

<5> 이벤트  -2022.08.11 블랙핑크 사례 - 16배 트래픽 증가

<6> 2022.09.06  stray kids - 트래픽 8대 증가

<7> 배포 개선

<8> 스케줄러 개선

<9> 향후 

<10> 실습





<1> AWS클라우드로의 첫 번째 여정


1

여정 단계?


리서치

실험

아키텍처 설계

서비스 론칭


2

AWS 정보 있는 곳?

AWS아키텍처 센터

AWS설루션 라이브러리

AWS Doc & Blog




<2> AWS Well 아키텍처


1

https://aws.amazon.com/ko/architecture/well-architected



2

아키텍처 모범 사례?


EC2  Auto Scaling

Auto Scaling  for Aurora Replicas -  최대 15개 복제본 생성

Amazon CloudFront 

Amazon ElastiCache - DB  성능 가속화

Amazon EC2 warm Pool - 미리 초기화된 인스턴스 준비

Amazon RDS Proxy - 수십만 커넥션 까지 확장 - DB Failover 단축


3

모범 사례는  하나의 정답은 없다.

기업의 비용이나 상황이 다르다.



<3> Ktown4 u (케이 타운 포유) 회사 소개


1

K-POP 굿즈 역직구 이커머스 서비스

https://kr.ktown4u.com/

B2C 서비스

243개국 

4800여 팬클럽

팬클럽과 공동구매


2

시스템?

FO  판매하는 프런트 서비스

BO 백오피스

DSS 각종 데이터를 보는 서비스

WMS 물류도 직접 

Scheduler 각종 스케쥴러 배치잡이 돌고 있다.


현재 EC2, Aurora RDS. Redshift , ElastiCache 사용 중

적은 개발 인력으로 효율적 개선, 운영



<4> 첫 번째 클라우드 이관


1

온프라미스 MariaDB -> EC2 , Aurora RDS (2019초)

오토스케일링, RDS 성능.

복잡한  슬로 쿼리의 지속적 분리.


2

아키텍처?

사용자------AWS WAF-------CloudFront--ELB---EC2 --AuroraRDS --ElastiCache 사용


3

사전에 이벤트 일정을 정확히 알기 어려움.

굿즈등 비밀리에 진행되는 경우가 많다.

대형 팬클럽에서 공구 진행 시 트래픽 예측이 어려움.



<5> 이벤트  -2022.08.11 블랙핑크 사례 - 16배 트래픽 증가


1

장애?

정적요청과 동적 요청을 모두 tomcat이 받고 있음.


2

개선?

정적 파일 분리.  정적은 S3로 분리.



<6> 2022.09.06  stray kids - 트래픽 8배 증가


1

안정, 불안정 상태가 반복됨.


2

문제점?

RDS ScaleinCooldown값이 너무 작게 설정되었음.

장애 시 rds cpu 사용률이 올라감.

안정화되면 , 바로  scale in 되어 다시 부하 증가.


3

개선?

비용이 조금 들더라도  RDS ScaleinCooldown값을  조정하여 해결.



<7> 배포 개선


1

변경 전?

젠킨스

레거시 배포시스템 ec2

의존성  문제 -  JAVA, Jenkins, plugin upgrade


개발자 -- 젠킨스  , 깃에서 가져옴 ------EC2 배포


2

변경 후?

CodeDeploy로 변경함

JAVA 등 의존성 문제 없어짐.

Autoscaling시 자동 배포

CD관련 LB제어 기능


개발자----소스 레파지토리--Github Action--S3 / Code Deploy---- EC2 auto Scaling



3

신규시스템은 EKS사용함


개발자------소스레파지토리----Github Action - ECR -------- Argo CD (UI제공) - EKS



<8> 스케줄러 개선


이벤트 브리지--------SQS---------람다----스케줄러 테스트 애플리케이션



<9> 향후 


1

MSA 적용을 통한 서버 분리 

점진적인 개선


2

Data Lake / Redshift  적용 예정

A/ML 적용 : 발주량, 발송량.



<10> 실습


https://brunch.co.kr/@topasvga/1594


https://brunch.co.kr/@topasvga/1768


https://brunch.co.kr/@topasvga/1769




전체 다시 보기

https://brunch.co.kr/@topasvga/2882


감사합니다.

브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari