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 굿즈 역직구 이커머스 서비스
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
감사합니다.