# AWS : Amazon Web Service and Scaling

# 본 포스팅은 '생활코딩 - 아마존 웹 서비스' 에 대한 내용 정리 목적으로 작성함
# URL : https://www.opentutorials.org/module/328/3002

AWS (Amazon Web Service)


  • 하나의 단일 서비스가 아님
  • 웹서비스 운영에 필요한 여러 솔루션이 모여 있는 하나의 연합체

1. EC2 (Elastic Compute Cloud)

  • 독립적인 컴퓨터 한 대 (데스크탑, 노트북 등과 같은)
  • 컴퓨터로 할 수 있는 모든 작업 가능
  • 데이터베이스, 웹브라우저 등을 포함하고 이를 서비스하는 것이 목적
  • 윈도우, 리눅스 등 다양한 운영체제 제공
  • 웹서버, 어플리케이션 서버로 사용
  • 거의 모든 용도에서 사용 가능

2. S3 (Simple Storage Service)

  • 파일 서버용 (서버 안에 파일을 저장하고 있다가, 사용자 요청 시 이를 제공)
  • EC2도 파일 서버 역할 가능, 하지만 S3는 무제한 데이터 저장 가능 (인프라에서 처리)
  • 사용자 수에 따른 스케일 증가 가능: 아마존에서 모든 기술적 지원 제공
  • 1바이트 ~ 5테라 바이트의 단일 파일 저장 가능

3. RDS (Relational Database Service)

  • 관계형 데이터베이스
  • MySQL, Oracle, SQL Server 등 제공
  • 백업, 리플리케이션 등 유실될 위험성이 있는 내용들을 아마존 인프라에서 보안

4. ELB (Elastic Load Balancing)

  • 한 대의 EC2로 유입되는 트래픽을 여러 대의 EC2로 분산
  • 장애가 발생한 EC2를 자동으로 감지 및 배제 가능
  • Auto Scaling(자동 스케일링) 기능: EC2를 자동으로 생성 및 배제 = AWS의 꽃!

Scaling

클라우드 서비스 사용 목적: 스케일
급증하는 트래픽을 효율적으로 관리할 수 있음

1. 인프라 확장 시나리오

  • Scale Up (서버의 하드웨어 성능 향상)

  • 역할에 따른 시스템 분산

  • Scale Out (여러 대의 웹 서버로 부하 분산)

  • Auto Scaling (시스템 부하에 따른 EC2 자동 증감 - Cloud Watch)

2. 데이터베이스 확장 시나리오

  • Scale Up (고성능 시스템으로 향상)

  • 마스터(쓰기)와 슬레이브(읽기)로 분산: 마스터는 한 대만 존재 가능

  • Shading (기능에 따른 물리적 시스템 분산): 앞은 배송, 뒤는 결제 -> 관계형 데이터베이스의 가장 취약한 부분

  • NoSQL (Not Only SQL): DynamoDB -> Key, Value로 이루어짐, 확장성 제고

댓글