본문 바로가기

위클리페이퍼

AWS RDS의 장단점, EC2와의 차별점에 대해

AWS RDS와 EC2에 대한걸 조사하고 공부하는 시간

 

 - AWS RDS를 활용하는 주요 이점, 겸사겸사 EC2에 대해서도

 - EC2에 직접 데이터베이스를 설치하여 운영하는 것과 비교했을 때의 차별점에 대해 설명

 - RDS를 사용하는 것이 적합할 때 / 적합하지 않을 때의 상황도 생각하기

 


 

Amazon RDS

 - 클라우드에서 데이터베이스를 자동으로 구성하고 유지하는 SaaS 기반 서비스

 - 컴퓨팅 규모 조정을 즉각적으로 할 수 있음, 스토리 규모 조정도 간편함

 - DB 인스턴스의 복제본을 하나 이상 생성해서 대량 애플리케이션 읽기 트래픽 처리 가능

 - 6개의 DB 엔진을 지원하기 때문에 필요에 맞는 DB 엔진을 선택할 수 있는 유연성 제공

 

Amazon RDS 데이터베이스의 종류

Amazon Aurora : MySQL, PostgreSQL 호환 관계형 데이터베이스

PostgreSQL : 오픈소스 관계형 데이터베이스

MySQL : 가장 많이 사용되는 오픈소스 관계형 데이터베이스

MariaDB : MySQL에서 파생된 데이터베이스. RDS MySQL서비스와 유사한 기능을 제공. 내가 공부할때 썼다

Oracle : Oracle에서 제공하는 관계형 데이터베이스. 비싸다

SQL Server(MSSQL) : Microsoft에서 개발한 관계형 데이터베이스 관리 시스템

 


Amazon EC2

 - 필요에 따라 크기를 조정할 수 있는 컴퓨팅 용량 제공

 - 사용 사례에 맞게 다양한 인스턴스 유형중 선택가능

 - 운영체제, 애플리케이션, 서비스 그리고 부팅 파티션 크기까지 선택 가능

 - Amazon S3, Amazon RDS, Amazon VPC 등 다른 Amazon 서비스와 함께 사용할 수 있음

 

Amazon EC2의 구성 : Instance, Amazon EBS, Amazon AMI

Amazon EC2 Instance

 - 물리적 컴퓨터 또는 서버와 유사하다고 함

 - 애플리케이션을 실행할 수 있는 가상서버

 - Amazon EC2 Instance를 실행하는 것은 컴퓨터 전원을 켜는 것과 같다고 한다

 

Amazon AMI(Amazon Machine Learning Image)

 - 컴퓨터의 기본 운영체제 및 소프트웨어와 유사하다고 함

 - 새 인스턴스를 생성하기 위해 미리 구성된 템플릿

 

 Amazon EBS(Elastic Block Store)

 - 컴퓨터의 하드 드라이브와 유사하다고 함

 - EC2에 연결할 수 있는 원시 블록 수준의 스토리지 제공

 


 

EC2와 RDS의 차이점

기능 Amazon EC2 Amazon RDS
제어 서버 및 데이터베이스에 대한 모든 권한, 운영체제,
데이터베이스 엔진 버전 및 구성 설정을 선택 가능
EC2보다 제어력이 떨어짐
관리 직접 관리가 필요함. 업데이트, 백업 및 보안은 사용자의 책임 백업, 업데이트 및 장애 조치 지원과 같은 관리 작업 처리
유연성 필요에 따라 서버와 데이터베이스를 사용자가 정의할 수 있는 높은 유연성 EC2보다 덜 유연하다. 기본 서버 및 DB엔진은 수정할 수 없음
비용 일반적으로 RDS보다 낮다. EC2 인스턴스, 스토리지 및
데이터 전송에 대한 비용이 든다
일반적으로 EC2보다 높다. 인스턴스, 스토리지, 자동백업 및 소프트웨어 패치와 같은 기능을 포함하고 있음
가용성 여러 인스턴스 또는 리전 설정과 같은 고가용성을 활용하고 보장하는건 사용자 책임 RDS는 고가용성을 위해 기본 제공 중복성 및 장애 조치 등을지원하고 있음

 

내가 참조한 곳에서는 EC2와 RDS를 각각 직접 요리하는것과 요리사를 고용하는 것에 비유했다.

내가 DB 관리에 대한 지식이 부족하지만 서버를 운영해야하는 상황이라면 RDS를 선택하는 것이 나을것이다. 사람을 고용해서 EC2를 사용하는 것보다 RDS가 비용면에서 저렴하다면 당연히 그렇게 할 것이다.

 

RDS가 서버, 데이터베이스에 대한 권한 및 운영체제, 엔진 버전 및 구성 설정에 대한 제어력이 EC2보다 떨어지지만 이건 문제가 되지 않을것이다. RDS의 사용자는 DB서버가 잘 돌아가기만 하면 되니까!

마찬가지로 RDS는 EC2에 비해 덜 유연하기 때문에 기본 서버 및 DB엔진은 수정할 수 없지만 이는 별 문제가 되지 않을 것이다. RDS의 시스템에 의해 자동으로 DB서버를 관리해주면 사용자는 기꺼이 돈을 지불할 것이다.

그밖에 백업, 업데이트와 같은 작업처리와 장애 조치 등을 기본적으로 제공해주는 RDS는 상대적으로 EC2보다 비싸지만 더욱 편리하게 DB서버를 운영하게끔 해준다.

 


 

RDS를 사용하는것이 적합할때, 적합하지 않을 때?

 

 

출처

https://www.smileshark.kr/post/amazon-ec2-vs-amazon-rds-how-to-choose-right-hosted-database

https://www.reddit.com/r/aws/comments/6shzgm/database_on_ec2_vs_rds/?tl=ko