Cloud + System/AWS

[AWS] RDS란 무엇인가

vell_zero 2021. 10. 19. 07:37

 

 

https://devjjo.tistory.com/31

 

[AWS] EC2 / RDS 란?

EC2 / RDS 란? EC2 - 아마존 일래스틱 컴퓨트 클라우드(Amazon Elastic Compute Cloud, EC2)는 아마존닷컴의 클라우드 컴퓨팅 플랫폼 아마존 웹 서비스의 중앙부를 이루며, 사용자가 가상 컴퓨터를 임대 받아

devjjo.tistory.com

https://velog.io/@david419kr/AWS-S3-EC2-RDS%EB%9E%80-%EB%AC%B4%EC%97%87%EC%9D%B8%EA%B0%80

 

AWS S3, EC2, RDS란 무엇인가

간략히 말하자면 S3은 아마존에서 제공하는 원격 스토리지, EC2는 원격 서버, RDS란 원격 DB라 할 수 있겠다.S3은 Simple Storage Service의 약자로, 데이터를 객체 형태로 담아 저장해준다.데이터를 저장

velog.io

https://soccer-programming.tistory.com/23

 

[AWS] RDS 란?

https://opentutorials.org/course/2717/11806 AWS RDS - 생활코딩 RDS는 Relational Database Service의 약자로 관계형 데이터베이스를 서비스로서 제공하는 제품입니다. MySQL, MariaDB, PostgreSQL, SQL Serve..

soccer-programming.tistory.com

 

EC2 / RDS 란?


 

 

EC2


 

- 아마존 일래스틱 컴퓨트 클라우드(Amazon Elastic Compute Cloud, EC2)는 아마존닷컴의 클라우드 컴퓨팅 플랫폼 아마존 웹 서비스의 중앙부를 이루며, 사용자가 가상 컴퓨터를 임대 받아 그 위에 자신만의 컴퓨터 애플리케이션들을 실행할 수 있게 한다.

 

- EC2는 사용자가 아마존 머신 이미지(AMI)로 부팅하여 아마존이 "인스턴스"라 부르는 가상 머신을, 원하는 소프트웨어를 포함하여 구성할 수 있게 하는 웹 서비스를 제공함으로써 스케일링이 가능한 애플리케이션 배치(deployment)를 장려한다. 

 

- 사용자는 필요하면 서버 인스턴스를 만들고 시작하고 종료할 수 있으며, 실행 중인 서버에 대해 시간 당 지불하므로 "일래스틱"(elastic, 탄력적인)이라는 용어를 사용하게 된다. 

 

[https://ko.wikipedia.org/wiki 참조]

 

 

RDS


 

- 아마존 관계형 데이터베이스 서비스(Amazon Relational Database Service) 또는 아마존 RDS(Amazon RDS)는 아마존 웹 서비스(AWS)가 서비스하는 분산 관계형 데이터베이스이다. 

 

- 애플리케이션 내에서 관계형 데이터베이스의 설정, 운영, 스케일링을 단순케 하도록 설계된 클라우드 내에서 동작하는 웹 서비스이다.

 

- 데이터베이스 소프트웨어를 패치하거나 데이터베이스를 백업하거나 시점 복구를 활성화하는 것과 같은 복잡한 관리 프로세스들은 자동으로 관리된다.

 

- 스토리지와 연산 자원들을 스케일링하는 것은 하나의 API 호출로 수행할 수 있다.

 

[https://ko.wikipedia.org/wiki 참조]

 

 

생각해 볼 부분


 

1. EC2 에 DB를 직접 설치하여 서비스하는 것과 RDS를 이용해 서비스 하는 것의 차이는?

- EC2는 내가 직접 리눅스 위에 사용하려는 DB(oracle,maria db, postgresql등)를 설치하고 그위에 서비스하는 것이고 

RDS는 EC2와 함께 사용하며 아마존에서 DB의 설정, 운영, 백업 등의 기능을 편하게 이용할 수 있게 해주는 EC2와 분리된 DB전용서버이다

즉.. RDS를 사용하면 내야하는 돈이 많아지므로, 테스트/개발을 하는 개발자라면... RDS는 이런거구나..하고 알아두고!

EC2에 직접 설치하고 사용하는게 좋을것 같다, 물론 이렇게 직접설치하고 설정/백업등을 한다면 공부도 더 되고 좋으니 1석2조

 

 

 

 

 

 

https://opentutorials.org/course/2717/11806

 

AWS RDS - 생활코딩

RDS는 Relational Database Service의 약자로 관계형 데이터베이스를 서비스로서 제공하는 제품입니다. MySQL, MariaDB, PostgreSQL, SQL Server, ORACLE 등을 직접 운영하지 않고 AWS에 대행할 수 있습니다.  하위 수업에서 RDS를 사용하는 방법을 알아봅니다. 

opentutorials.org


 RDS(Relational Database Service) 는 관계형 데이터베이스를 제공하는 서비스이다. 이 서비스를 이용하면 MySQL, MariaDB, PostgreSQL, SQLServer 등 데이터베이스를 직접 운영하지 않고 AWS에 대행할 수 있다.


 AWS콘솔 상에서 MySQL, MariaDB, PostgreSQL, SQLServer를 대행하는 RDS 인스턴스(컴퓨터)를 초기화할 수 있고  콘솔 인터페이스 상에서 아래와 같이 데이터베이스 컴퓨터에 대한 CPU, 메모리, 저장공간 등의 정보를 실시간으로 확인할 수 있다.

 

RDS 인터페이스

 RDS 인스턴스의 복원, 백업 등은 여러가지 방법을 통해 가능하다. 초기화 동시에 백업가용 기간 설정을 할 수 있고 추후 특정시간대로 데이터베이스 백업이 가능하다. 백업 가용기간을 길게 설정하면 할수록 AWS서버에서 백업데이터를 많이 저장하고 있어야 하므로 이용가격이 높아진다.

 다른 방법으로는 특정 시간대에 RDS 스냅샷을 저장하여 이후 스냅샷을 이용하여 백업할 수 있다. 이는 사실 백업이라기 보다는 특정 시간대의 RDS의 정보를 저장해두고 이를 이용하여 새로 RDS 인스턴스를 초기화하는 것이다. 이는 백업과 똑같은 효과를 가져다 준다. 

스냅샷


 Multi AZ는 Multi Availability Zone의 약자로 RDS의 중요한 기능 중 하나이다.

Multi AZ

 즉 두 개의 독립된 데이터베이스가 정보를 공유하고 하나의 데이터베이스가 고장났을 때 나머지 다른 하나의 데이터베이스를 통해 자료에 접근하는 방식이다. 이를 통해 안정성을 높힐 수 있다. 특히 데이터베이스에 급히 수정이 필요하여 접근요청을 받지 못하는 상황일 때, Multi AZ 기능을 사용하고 있다고 하면 클라이언트에게 다른 하나의 데이터베이스로의 접근만 허용하여 기존의 데이터베이스 수정, 보완을 할 수 도 있다.

 이는 접근을 못하는 고장 등의 상황이 생겼을 때 다른 가용 영역의 데이터베이스로 대체하는 기능으로, 저장공간과 기능 확장을 위해 사용하는 Scale out과는 다른 개념이다.


RDS Scale up & out

 aws서버를 운영할 때 저장공간과 처리속도의 향상이 필요할 때 Scale up 혹은 Scale out을 사용한다고 배웠던 것을 기억하는가. RDS에서도 마찬가지로  데이터베이스의 증설이 필요한 경우 비슷한 방식을 이용하여 확장한다. scale up 즉 데이터베이스의 컴퓨터 성능을 높이는 작업은 aws 콘솔에서 RDS 인스턴스 설정 수정 인터페이스에서 손쉽게 할 수 있다.

Scale up으로 감당하지 못할만한 수준에 다다른다면 Scale out을 사용하여 성능을 개선한다. 이 경우 어떻게 모든 데이터에 각각 접근하느냐라는 것이 문제이다. 

하나의 Master 인스턴스를 생성하고 나머지 Slave 인스턴스를 생성한다. 쓰기작업은 Master인스턴스에서 진행하고 정보를 Slave와 공유한다. 읽기작업은 Slave 인스턴스에서 진행한다. 위와 같이 작업을 단순화하여 Scale out 을 구현한다.