EC2(DB 설치) vs RDS

흑이·2022년 12월 29일
1

EC2에 DB를 직접 설치하는 것과 RDS를 이용해 서비스 하는것의 차이점에 대해 알아보려고 한다.



RDS란

  • AWS RDS는 인프라 및 데이터베이스 업데이트를 관리해주는 것 뿐만 아니라 까다로운 관계형 데이터베이스의 설치, 운영 그리고 관리를 지원하는 서비스

  • 각 RDS 인스턴스에서 “Multi-AZ” 옵션을 설정하면, 다른 가용영역(Availability Zone)에 복제된 데이터베이스를 필요할 때 바로 사용할 수 있다.

  • 한쪽 가용영역에서 장애 및 에러가 발생할 경우, 문제에 영향을 받지 않게 독립된 다른 가용영역에 미리 복제된 데이터베이스를 자동으로 사용해서 복구(Failover)시키는 기능이다.



RDS 이점

AWS에 지불하는 비용만 놓고 비교하면 사용 중인 데이터베이스를 직접 설치하는 것이 확연히 저렴합니다.
그러나 비용 외적으로 다른 부분에서 이점이 있다.
서비스를 시장에 출시하는 시기를 앞당김으로써 얻을 수 있는 잠재적 기회 비용 및 시간을 의미

이점

  • 예를 들어 사용 중인 데이터베이스 대신에 RDS를 사용하게 되면, OS 및 데이터베이스의 설치 및 관리 그리고 업데이트를 따로 할 필요가 없어집니다.
  • AWS 콘솔이나 AWS API를 통해 손쉽게 백업이나 복구(recovery)가 가능합니다.

LUN - 디스크넘버, 즉 논리적인 장치 번호를 의미한다. Target에 위치한 디스크의 수를 나타냄
스트라이핑(Striping) - 데이터를 분할하는 것을 의미하고, 데이터를 개별적으로 서버에 분산함으로써 한 대의 서버에 대응하는 부하를 줄이고, 고속 데이터 액세스가 가능한 기술

  • 기업은 RDS를 사용함으로써 더 이상 스토리지의 LUN을 구성하고 더 나은 I/O를 위해 스트라이핑(Striping)을 최적화하는 데 시간과 노력을 쓸 필요가 없습니다.
    또한 간단하게 인스턴스 크기를 축소 및 확장할 수 있으며, 클릭 한번으로 간단하게 높은 가용성을 이룰 수 있습니다.
    이러한 모든 기능들을 통해 기업은 데이터베이스 도입 및 관리하는 데 있어서 시간과 노력을 줄일 수 있는 것입니다.


EC2(DB 직접 설치) vs RDS 장단점

  • AWS에서는 Oracle, MSSQL, MySQL, PostgreSQL, MariaDB 를 지원합니다.
    뿐만 아니라, 자체 DB인 Aurora 도 제공합니다.

  • RDS는 풀 매니지드 서비스입니다. AWS가 DB를 전부 관리해 줍니다. 그와 다르게 EC2에 있는 DB는 사용자가 모두 관리해야 합니다.

  • 디스크 프로비저닝, 버전 업데이트, 보안패치, 자동 백업도 모두 직접해줘야 하지만, root 권한을 가질 수 있고, db 파라메터등을 입맛대로 변경해서 튜닝할 수 있다는 장점이 있습니다.
    (DB를 잘 알고 있다면 RDS를 뛰어 넘을 튜닝의 여지가 있다.)

  • RDS 비용체계에 비해 유연하기 때문에 잘 설계하면 비용면에서 더 유리 할 수 있습니다.

  • 즉 RDS는 AWS가 모든 권한과 책임을 가지고 있다 , DB on EC2는 모든 책임과 권한을 사용자가 가집니다.



결론

상황에 맞게 선택하여 구성하면 될것이다.


RDS

  • DB 잘모른다. 디스크 프로비저닝, 버전 업데이트, 보안 패치, 자동 백업도 AWS 맡기고 싶다. 비용이 조금 더 나가는 것은 괜찮다.
  • failover 등을 위한 클러스터, 리플리카 등을 편하게 만들고 관리하고 싶다.
  • 운영/관리 인력이 없기에 코스트가 높아도 편하게 운영하고 싶다.


EC2(RDB 직접 설치)

-DB에 관해 잘 알고, DB, OS 등을 내 마음대로 정하고 튜닝하고 싶다.

  • DB에 관해 잘 모르지만, DB 전문가가 있으므로, 백업, 리플리카 등을 구성하는데 어려움이 없다.
  • AWS RDS에서 지원하지 않는 DB를 사용하고 싶다.
  • EC2 최대한의 퍼포먼스를 머신에서 끌어 쓸 수 있다.


참고

https://devjjo.tistory.com/31

https://www.bespinglobal.com/bespins-pick-vol-11-aws-rds-vs-ec2/

https://dingrr.com/blog/post/rds%EB%A5%BC-%EC%8D%A8%EC%95%BC-%ED%95%98%EB%82%98%EC%9A%94-ec2%EC%97%90-%EC%84%A4%EC%B9%98%ED%95%98%EB%A9%B4-%EC%95%88%EB%90%98%EB%82%98%EC%9A%94

0개의 댓글