본문 바로가기
IT/AWS

AWS RDS & Aurora

by 노오-력 2023. 3. 7.

AWS RDS

RDS 는 Relational Database Service의 약자로

관계형 데이터베이스만을 위한 서비스이다. SQL 쿼리 언어를 사용한다.

여러 데이터베이스가 있을 수 있는데

Postgres / MySQL / MariaDB / Oracle / Microsoft SQL Server / Aurora 

 

EC2 인스턴스에 자체 DB를 배포하지 않고 RDS를 이용하는 이유는 무었일까?

RDS는 관리형 데이터베이스 서비스이다.

즉, 데이터베이스 프로비저닝이 자동으로 이루어진다.

OS의 패치도 AWS가 수행하고

지정 시간 복구가 가능하도록 지속적인 백업과 복원 옵션도 존재한다.

데이터 베이스가 잘 작동하는지 살펴볼 모니터링 대시보드도 있고

읽기 전용 복제본을 생성함으로써 읽기 성능을 향상시킬 수도있다.

다중 AZ를 설정하여 작동이 중단되었을 시,

전체 가용성에 대한 재해 복구 계획을 수립해 놓음으로써 이에 대비할 수 있다.

그리고 업그레이드에 대한 유지보수 기간을 설정할 수 있고

수직, 수평 스케일링 또한 가능하다.

 

하지만 SSH로 접근할 수는 없다.

AWS가 전체 데이터베이스를 관리하기 때문이다.

 

위 그림을 보면

 

로드밸런서가 있고

오토스케일링 그룹으로 다수의 EC2 인스턴스가 있다

다수의 EC2 인스턴스 백엔드 서버는

데이터를 저장하고 서로 공유할 곳이 필요한데

RDS를 사용하면 읽기와 쓰기를 동시에 수행하며

백엔드 인스턴스 간 데이터베이스를 공유하게된다.

 

위 예시는 전형적인 솔루션 아키텍쳐로

RDS 뿐만 아니라 모든 데이터베이스를 이용할 수 있다.

 

Aurora

Aurora는 AWS에서 만든 DB 기술로 오픈소스 기술이 아니다.

RDS와 동일한 방식으로 작동하는데

Aurora는 두 종류의 DB기술을 지원한다.

PostgreSQL과 MySQL이다.

Aurora는 클라우드에 최적화 되어있으므로

RDS MySQL보다 5배, RDS Postgres보다는 3배 향상된 성능을 자랑한다.

그리고 Aurora 스토리지는 자동으로 10GB에서 최대 64TB까지 증가한다.

RDS에 비해 Aurora가 비싸긴 하지만 효율이 더 높으므로

실질적으로는 비용 면에서 더 나은 선택이 될 수 있다.

 

 

 

'IT > AWS' 카테고리의 다른 글

AWS KMS (Key Management Service)  (0) 2023.03.08
AWS ElastiCache & DynamoDB  (0) 2023.03.07
AWS Trusted Advisor  (1) 2023.03.06
AWS ECS vs Fargate  (0) 2023.03.06
AWS Outposts  (0) 2023.03.05