[AWS] 규모에 따른 인스턴스 확장 (2)

전우석·2022년 10월 6일
0
post-thumbnail

100,000명 이상

  • 컨테이너 기반 서비스 고려해야할 때
  • DB 고성능화 (읽기 성능 향상을 위해 캐쉬사용)
  • Amazon ElsastiCache 사용

컨테이너

  • 코드, 의존성, 런타임을 묶어서 만든 하나의 Immutable 단일 객체이다.
  • 마이크로 아키텍처 구현에 있어 필수적인 플랫폼이다.

특징

  • 표준화
  • 경량화
  • 이식성
  • 쉬운 배포

컨테이너 관리

  • ECS
  • EKS

호스팅

  • EC2
  • AWS Fargate

이미지 저장소

  • ECR

1,000,000명 이상

  • 목적에 맞는 DB 분리
  • 샤딩을 통한 데이터셋 분리
  • 재해복구 및 멀티리전 서비스
  • IaC 사용으로 편리한 복구작업
  • DB 교차 리전 복제

DB 샤딩

  • DB 트래픽을 분산할 목적으로 사용하는 방법
  • 하나의 DB에 데이터가 늘어나면 용량 이슈도 생기고, 느려지는 CRUD는 자연스레 서비스 성능에 영향을 주게 된다.

AWS DB Service

리전 복제

  • S3 교차 리전 복제
  • RDS snapshot 교차 리전 복사

멀티리전 DR 아키텍처

  • 평소 1번으로 서비스 구축
  • 장애 발생시 리전 2번에서 CDK를 통해 빠른 리소스 복구
  • S3, DB snapshot 통해 서비스 복구

10,000,000명 이상

  • 다중 리전별 서비스 활성화
  • DB의 글로벌 서비스

Aurora 글로벌 DB

DynamoDB

  • 각 리전별 읽기 쓰기 가능
  • 짧은 시간안에 데이터 동기화

ElsastiCache

최종 아키택처

Summary


정리

이번 영상을 통해 서비스 사용자별 아키택처에 대해 알 수 있었다. 비록 가이드라인이지만 내가 서비스를 구축할 때 중요하게 고려해야될 부분들을 알 수 있었다.
모니터링, 로깅 아주 중요하다고 한다.
서비스 운영 측면, 사용자 행동 데이터 수집을 통해 더 좋은 서비스를 제공할 수 있기 때문이다.


참고문서

천만 사용자를 위한 AWS 클라우드 아키텍처 진화하기 - 이일구, AWS | AWS Builders 온라인 시리즈

0개의 댓글