오늘은 AWS의 Database Service에 대해서 알아보도록 하겠습니다.
일반적으로 DB를 구축한다고 한다면 아래와 같이 많은 요소들을 고려해야합니다.
서버를 만들 장비부터, 서버 유지보수 관리, OS 설치, 패치,
그 다음에 비로소 DB를 설치하고 패치관리를 해야합니다.
그 다음에는 백업과 관련된 요소를 해결해야 하며,
고가용성이나 DB 디스크나 부하에 따른 것을 고려하여
디스크 스케일링이나 서버 스케일링에 대해서 고려해야합니다.
이 모든 과정이 끝났을 때, 비로소 어플리케이션에 최적화 된
DB 설정을 할 수 있게 됩니다.
그런데, 여기서 만약 EC2위에 DB를 구축한다면 그림이 좌측과 같이 바뀌게 됩니다.
어떠한 장비에 설치할 것인지,
그 해당 장비 및 서버에 대한 유지보수 관리에 대해서는 신경쓸 필요가 없습니다.
또한 OS에 관한 부분도 알아서 세팅이 되기 때문에 바로 DB 설치와 관련된 부분부터
고려하기만 하면 됩니다.
또한 DB 백업이나 고가용성, 스케일링에 대한 부분도 EC2기반이므로 조금 더 쉽게
해결 할 수 있습니다.
하지만 완벽하게 해결되는 부분은 아닙니다.
그런데, RDS를 사용하게 되면 좌측과 같이 모든 부분이 해결됩니다.
장비부터 OS, DB 설치 및 패치, 고가용성 및 오토스케일링까지 모두 해결이 가능합니다.
따라서 바로 어플리케이션에 최적화 된 parameter group 설정과 같은 부분들을 설정하고 고민하면 되는것이죠
즉, 만들고자 하는 서비스에 집중할 수 있게 됩니다.
다만, 구체적인 튜닝을 원할 경우에는 RDS가 적합하지 않을 수 있습니다.
튜닝 부분에 대해서는 제약이 되는 부분이 있으니 꼭 체크하셔야겠습니다.
이처럼 직접 운영하던지,
EC2에 설치하던지, 혹은 RDS와 같은 관리형 서비스를 쓰는것은 아래와 같은 각가의 장점을 지닙니다.
직접운영
- 하드웨어, OS, 보안, 백업, 복제 등을 직접 관리해야 하지만, 상세한 컨트롤이 가능
EC2에 설치하여 운영
- DB와 관련된 설치, 백업, 복제 등을 직접 관리, OS 및 하드웨어는 AWS에서 관리
관리형 서비스 운영
- OS 및 하드웨어 DB 설치, 백업, 복제 등 모두 AWS에서 관리
- 수분 내에 서비스 구축
이러한 각각의 장점을 지니므로 해당 부분을 고려해서 만드시면 됩니다.
AWS에서 제공하는 DB서비스는 아래와 같습니다.
다음 게시글에서는 RDS에 대한 부분부터 하나씩 살펴보도록 하겠습니다.
'AWS Intro > AWS Database Intro' 카테고리의 다른 글
AWS Database Intro - 4. ElasticCache (0) | 2020.03.19 |
---|---|
AWS Database Intro - 3. DynamoDB, Document DB, Neptune (0) | 2020.03.17 |
AWS Database Intro - 2. RDS (0) | 2020.03.17 |