실습으로 배우는 AWS - 03 Storage, DB CDN 서비스 활용하기

핏자·2023년 5월 24일
0

인공지능사관학교

목록 보기
28/31
post-thumbnail
  • 📖 AWS RDS 소개

- 관계형 모델과 SQL

SQL 문 : Create / Read / Update / Delete

->

관계형 모델(Attribute, Tuple, Relation으로 이루어짐)

->

Relation을 통해 관계형데이터베이스(RDB) 생성

- 대표적인 RDBMS : 관계형 데이터베이스 관리 시스템

  • MySQL
  • MariaDB
  • SQL Server
  • ORACLE
  • PostgreSQL

- AWS에서 RDBMS 구성하는 방식 2가지

  • EC2 인스턴스에서 설치형으로 구성
  • AWS 완전 관리형 DB 서비스 : RDS

- Database on EC2 vs Amazon RDS

Database on EC2

  • 직접 관리 영역
    • DB 서비스 확장
    • DBMS 백업
    • DBMS 패치
    • DBMS 설치 및 관리
    • OS 패치
  • AWS 관리 영역
    • OS 설치, 운영 관리
    • 전원, 하드웨어 관리

Amazon RDS

  • 직접 관리 영역
  • AWS 관리 영역
    • DB 서비스 확장
    • DBMS 백업
    • DBMS 패치
    • DBMS 설치 및 관리
    • OS 패치
    • OS 설치, 운영 관리
    • 전원, 하드웨어 관리

- AWS RDS(Relational Database Servie)란 무엇인가요?

  1. AWS RDS는 AWS에서 제공하는 완전 관리형 RDBMMS 서비스
  2. 자유롭게 확장 및 축소 가능
  3. 여러 AZ에 거친 고가용성 구성
  4. 백업 기능을 통해 안전하게 데이터 보호
  5. 읽기 전용 복제본(Read Replica) 기능을 통해 읽기 성능 확장

- RDS 읽기 전용 복제본(Read Replica)란 무엇인가요?

  1. RDS에서는 읽기 성능이 향상과 가용성을 위해 읽기 전용 복제본(Read Replica) 기능 제공
  2. Read Replica는 Master와 동일 AZ 혹은 다른 AZ 내에 존재
  3. Read Replica에서는 읽기 작업만 수행하며, 쓰기 작업은 Master에서만 일어남.
  4. Master에 있는 데이터 정보를 주기적으로 Read Replica에 복제

- RDS 구성 방식



- 요약

  1. RDS는 AWS의 완전 관리형 RDBMS 서비스이다.
  2. Read Replica 구조를 가지고 AZ에 걸쳐 존재하므로 성능과 고가용성 구성을 할 수 있는 구조를 가진다.
  3. 스냅샷이나 백업 기능으로 데이터 손실을 최소화하는 기능을 제공한다.





  • 📖 RDS 기능 활용

- RDS Auto Scaling

  1. RDS 오토스케일링은 애플리케이션이 확장함에 따라 데이터베이스에서 용량이 추가적으로 필요할 경우, 자동으로 확장해 주는 긴으!
  2. 최대 16TB까지 확장 가능
  3. 오토 스케일링 조건
  • 사용가능한 여유 공간이 할당된 스토리지의 10% 미만일 때
  • 용량이 부족한 스토리지 상태가 5분 이상 지속될 때
  • 마지막 스토리지 수정 이후 최소 6시간이 경과했을 때

- RDS 가용성

  1. AZ에서 장애가 발생 시에 데이터를 보호하는 RDS 가용성 기능 : Master-Standby
  2. Master와 Standby는 동기식 복제
  3. AZ 혹은 Master 자체에 장애가 발생했을 경우, 자동으로 Standby로 Master 승격을 진행
  4. Standby는 Read Replica로 구성 가능

- RDS Backup과 Snapshot

  • 백업 : 백업은 데이터 전체가 소실되거나, 특정 시점으로 돌아갈 때, 복구하는 용도로 사용
    ex) Multi AZ 가용성 구성

  • 자동 백업과 수동 스냅샷 기능

  • 자동 스냅샷의 경우, 백업이 저장된 어느 시점에서나 복구 가능(최소 5분 전까지)

- AWS Aurora란 무엇인가요?

  • AWS Aurora : AWS에서 클라우드 환경에서 적합하도록 커스터마이징 된 관리형 데이터베이스 서비스
  • 일반 MySQL 보다 5배, PostgreSQL보다 3배 더 빠름
  • 지원하는 데이터베이스 : mySQL, PostgreSQL

- AWS Aurora 특징

  • 최대 15개의 Read replica 지원 : RDS 보다 더 빠른 읽기 성능
  • 3개의 AZ에 걸쳐 데이터를 분산해서 저장
  • Master에 장애가 발생해도 자동으로 Failover(페일오버)

RDS와 차이
1. 데이터 정합성 속도↓
2. 안정성

- AWS RDS vs Aurora 비교

RDS :

  • 최대 5개 Read Replicas
  • 볼륨단위, 복제 저장

Aurora

  • 최대 15개 Read Replicas
  • 분산, 적재 저장

- 요약

  1. RDS의 핵심적인 기능으로 Auto Scaling, Failover, Backup 등이 있다
  2. Aurora는 AWS에서 커스터마이징한 RDBMS 서비스이다
  3. RDS와 Aurora는 같은 DB 서비스 이지만, 기능과 구현 부분에서 차이가 있다.





  • 📖 AWS S3 소개

- AWS S3(Simple Storage Service)란 무엇인가요?

AWS S3는 데이터를 저장, 수집, 분석을 하기 위한 대표적인 오브젝트 스토리지

  • EBS나 EFS와 달리, EC2 인스턴스에 마운트하는 방식이 아닌, REST API로 데이터 접근(GET, PUT, POST, PATCH, DELETE)
  • S3 용량을 무제한으로 확장 가능
  • 99.999999999%의 내구성 제공
  • 데이터를 저장하기 위해 객체(Object)라는 개념 사용
  • 객체는 버킷(Bucket)이라는 리소스에 저장

- S3 Object와 bucket

  • S3 Object : 데이터를 담기 위한 단위
  • 각각의 Object는 Key를 가짐(Key-Value 구조)
  • Object의 최대 크기는 5TB(하나의 파일(Object)가 5TB를 넘어설 수 없음)
  • S3 Bucket : Bucket은 Object를 담기 위한 데이터 보관 단위
  • Bucket은 Region 단위로 배포 가능

- S3 저장소 유형

-액세스
-저장량

=>

Storage Class


↑<<---------------------------저장비용--------------------------->>↓
↓<<---------------------------검색비용--------------------------->>↑

- S3 가용성 : 리전별 데이터 복제

- 스토리지 종류 비고

오브젝트 스토리지 :
S3(Simple Storage Service)

  • REST
  • 용량 무제한
  • Region / 분산 저장

블록 스토리지 :
EBS(Elastic Block Store)

  • 낮은 지연시간 / 고성능
  • AZ 단위 배율
  • 여러개 볼륨 ↔ 인스턴스

파일 스토리지 :
EFS(Elastic File System)

  • AZ 외부의 File
  • 한 개볼륨 ↔ 여러개 인스턴스
  • 빅데이터, 공유 서버

- AWS S3 사용 사례

이미지 호스팅
웹 컨텐츠 저장소
백업 데이터
미디어 파일 관리
아카이빙 데이터
데이터 레이크
고성능 스토리지
빅데이터

- 요약

  1. AWS S3는 관리형 오브젝트 스토리지 서비스이다.
  2. 블록 스토리지와 파일 스토리지와 달리 오브젝트 형태로 저장되며, REST 방식으로 읽기 쓰기 수행이 가능하다.
  3. 웹서버 컨텐츠, 미디어파일, 빅데이터 등 다양한 데이터 저장 서비스로 무제한 확장이 가능하다.





  • 📖 AWS CloudFront 소개

- AWS CloudFront란 무엇인가요?

자주 쓰이는 데이터를 가까운 지역(Edge Location)에 적재하여 접근
= CloudFront

  • AWS CloudFront는 전 세계에 데이터나, 동영상, 애플리케이션을 빠르고 안전하게 전송하는 콘텐츠 전송 네트워크(CDN) 서비스
  • 엣지 로케이션에는 자주 쓰이는 데이터를 '캐싱'하여 읽기 성능을 극대화
  • 전 세계적으로 215개 이상의 엣지 로케이션 위치
  • 원본 데이터가 적재되어 있는 곳을 'Origin'이라 부름.

- CloudFront - Origin


Origin : Edge Location에서 캐시로 적재하기 위해 데이터를 가져오는 소스

- CloudFront 동작 방식




- 동적 데이터와 정적 데이터

정적 콘텐츠 : .html, .jpg, .css, 변하지 않는 데이터
동적 콘텐츠 : .php, /"*"(Default), HTTP, REST, 변하는 데이터

- CloudFront + S3 + ALB

- 요약

  1. CloudFront는 컨텐츠를 빠르고 안전하게 제공하는 CDN 서비스이다.
  2. 엣지 로케이션에서 Origin의 컨텐츠를 적재하여 네트워크 지연시간을 줄일 수 있다.
  3. 정적 컨텐츠의 경우, S3와 연계, 동적 컨텐츠는 EC2 + ALB 컨텐츠를 가져와 성능을 향상 시킬 수 있다.
profile
개발자 핏자의 로그들

0개의 댓글