해당 내용은 "AWS 교과서" 서적의 내용을 인용하였습니다.
서적을 구매하여 실습도 진행해보세요!
https://product.kyobobook.co.kr/detail/S000210532528
AWS 교과서 | 김원일 - 교보문고
AWS 교과서 | 이론과 실습으로 배우는 AWS! 입문자에게 딱 맞는 구성으로 시작해보자!AWS는 다양한 퍼블릭 클라우드 서비스를 제공하고 있고, 현재 클라우드 플랫폼 중에서 점유율 1위를 차지하고
product.kyobobook.co.kr
Amazon RDS
💡 클라우드 환경에서 관계형 DB
- 관계형 DB 엔진을 선택할 수 있다.
- 모니터링 및 지표와 이벤트 알람으로 높은 관리 효율성
- 상대적 저렴한 비용
- 간편 복제 기능 지원 (Multi-AZ, Read Replica)
RDS의 복제 방식
Multi-AZ 복제 방식
💡 활성 상태인 Primary DB에 문제가 생기면, 보조인 Standby Replica가 대기 상태에서 Primary DB로 승격되어 동적으로 유지됨.
- 데이터 정합성 : 데이터가 서로 일관되게 일치
- 동기식 복제 : 데이터에 변화가 일어나면 원본 데이터를 복제해서 전달하여 동기화
- 목적: 고가용성 유지
Read Replica 복제 방식
💡 원본 데이터를 Primary DB에 두고, 읽기 전용 복제 데이터를 Read Replica에 유지
- Read Replica는 읽기 처리 빠르고, 확장 가능
- RDS는 최대 다섯 개의 Read Replica를 복제할 수 있음.
- 다른 리전까지 Read Replica 가져올 수 있음
- 목적 : 성능을 확장하는 것
Amazon Aurora
💡 AWS 자체의 클라우드 데이터베이스 엔진
- 고성능의 데이터베이스 처리 가능
- 오픈 소스 기반으로 우수한 호환성
- 비용 효율이 높음 (가성비 좋음)
- Amazon RDS에서 관리되며 프로비저닝, 패치, 백업, 복원, 장애 복구 등 작업 수행
Amazon Aurora 복제 방식
- 스토리지 내결함성이 우수
- 예) MySQL은 DB 인스턴스에 EBS 스토리지가 연결되어 서로 다른 가용 영역으로 동기식 복제가 됨.
- 그러나, Amazon Aurora는 공유 스토리지를 통해 최소 세 개의 가용 영역에서 두 개씩 총 여섯 개의 복제 데이터를 가지고 있어 더욱 안정적으로 서비스
-> 내결함성 우수하다는 것 : 어떤 AZ의 데이터가 문제가 생겼을 때, 다른 AZ의 복제 데이터를 통해 쉽게 복구가 가능 (EFS랑 비슷??)
Amazon DynamoDB
💡 NoSQL. 키-값 데이터베이스
- SQL문을 사용하지 않음.
- 개체가 서로 연결되어 있지 않음
- 키: 식별자, 값: 단순한 개체 뿐만 아니라 복잡한 비정형 데이터도 가능
- 별도 서버 구축 없는 서버리스
-> 서버리스: RDS의 경우 웹서버와 연결하여, SSH를 통해 접근하기 때문에 서버 존재. But, DynamoDB는 그런것 없이 연결없이 독립적으로 사용 가능??
Amazon ElastiCache
💡 인-메모리 데이터베이스
- 데이터 많으면 느리므로 대용량 데이터에는 비적합
- 기존 프로그램과 연동하여 사용 가능 (Memcached, Redis)
for Memcached
- 보편적으로 사용되는 메모리 객체 캐싱 시스템
- Memcached와 호환하여 사용
for Redis
- 데이터베이스, 캐시, 메시지 브로커 및 대기열 용도로 사용
- Redis 기반으로 1밀리초 미만의 지연시간을 자랑
추가 내용
1. 스토리지 서비스(EBS, EFS, S3) 와의 차이점은 무엇인가?
"한 컴퓨터 안에 웹서버 + DB 서버 or 웹서버 DB 서버를 따로 두냐" 의 차이
→ Multi-AZ 때문에 RDS를 많이 사용함 (+ OS 및 DB 설치 및 관리 따로 안해도됨)
자세한 내용보기
https://chucoding.tistory.com/69
[AWS EC2] 데이터베이스는 EBS에 적합할까 RDS에 적합할까?
[Amazon EBS] Amazon EBS는 EC2 인스턴스용 영구 스토리지로써 인스턴스의 중지나 종료에 상관없이 데이터가 유지됩니다. AWS EC2 Storage 종류보기 >> [AWS EC2] 어떤 Storage를 추가해야될까?? (Storage 종류 분석)
chucoding.tistory.com
2. EBS와 RDS에는 각각 어떤 것들을 저장하나요?
예를 들어, 온라인 쇼핑 웹 애플리케이션을 운영한다고 가정해 봅시다.
- EBS를 사용하는 경우: 이 애플리케이션을 호스팅하기 위해 EC2 인스턴스를 시작하고, 각 인스턴스에 EBS 볼륨을 연결할 수 있습니다. 이 볼륨은 웹 애플리케이션의 소스 코드, 이미지, 사용자 업로드 파일 등과 같은 정적 파일을 저장하는 데 사용될 수 있습니다. 또한 데이터베이스 서버와 분리된 별도의 EBS 볼륨을 사용하여 데이터베이스 로그 파일이나 기타 데이터베이스 관련 파일을 저장할 수도 있습니다.
- RDS를 사용하는 경우: 이 애플리케이션에서는 주문, 제품 정보, 고객 정보 등과 같은 동적 데이터를 저장해야 할 때 RDS를 선택할 수 있습니다. RDS를 사용하면 MySQL, PostgreSQL 등의 관계형 데이터베이스 엔진을 선택할 수 있으며, 데이터베이스 인스턴스를 설정하고 관리할 필요가 없습니다. 주문 데이터, 제품 목록 및 사용자 프로필과 같은 동적 데이터는 RDS의 데이터베이스 인스턴스에 저장되고 관리됩니다.
요약하자면, EBS는 정적 파일 저장을 위해 사용되고, RDS는 동적 데이터베이스를 관리하기 위해 사용됩니다. 이 두 서비스를 함께 사용함으로써 안정적이고 확장 가능한 웹 애플리케이션을 구축할 수 있습니다.
출처: Chat GPT