[AWS]아마존웹서비스 기초지식 5
RDS 소개
RDS는 Relational Database Service의 약자로, AWS가 관계형 데이터베이스를 서비스로서 제공하는 제품.
MySQL, MariaDB,PostgreSQL,SQL Server,ORACLE 등을 직접 운영하지않고 AWS에 대행할 수 있다.(AWS에서 직접 만든 Aurora, MS의 SQL Server도 사용 가능)
RDS 서버 생성
production
Multi-AZ Deployment(다중 가용) : 사용자가 데이터와 관련된 작업을 할때, 서로 다른 데이터 센터에 동시에 저장되게 하는 기능.
=>비쌈
Dev/Test
Multi-AZ Deployment 제공 X
=>저렴함
RDS 백업 & 복원
DB 의 안정성을 위해 AWS가 제공하는 기능에는 Multi-AZ Deployment , 백업, 복원 등이 있다.
production으로 서버생성 시 , Multi-AZ Deployment 를 YES로 선택하면 다른 가용구역에 새로운 DB가 만들어지고 두 DB가 연결되게 한다.
데이터가 DB 서버로 전송될 때, 위 그림과 같이A,B 가용구역 모두에 저장이 된다.
그래서 A를 사용하다가, 문제가 생겼을때는 자동으로 B를 사용하게 되어 시스템 전체가 다운되는 것을 막거나 빠른 시간안에 장애를 복구하는 작업이 진행되게 한다.(AWS에 자동진행하거나 사용자가 해야하거나)
동시에 2개의 컴퓨터가 사용되어 성능을 향상 시키는 것이 아니라, 1개의 컴퓨터는 예비상태로 있다가 장애 발생시에 가동되므로 백업에 가깝다.
Take DB Snapshot
원활한 상태인 DB인스턴스의 snapshot을 찍어뒀다가, 장애가 발생했을 때 원하는 snapshot의 시점으로 되돌릴 수 있다.(snapshot의 시점부터 장애가 발생한 시점 까지의 데이터 손실은 감수해야함)
snapshot을 restore할때는 기존의 인스턴스를 교체하는것이 아니라, 기존의 것은 그대로 두고 새로운 인스턴스를 만드는 방식이다.
정보시스템을 다루는 사람은 위험한 물건, 상황을 다루는 여느 사람들 처럼, 위험이 발생할 수 있는 상황에 대한 대비나 훈련을 해서 대응하는 능력을 갖춰야함
RDS Scale up & out
데이터베이스의 처리량이 한계에 도달했을 때 대처방법으로 AWS는 RDS의 Scale up과 Scale out 을 제공한다.(EC2를 scale up하거나 scale out하는 것과 같은 개념)
RDS Scale up
인스턴스의 instance Actions>Modify를 통해 인스턴스의 성능을 조정하는 것.
언젠가는 한계에 도달하게되는 것이 단점
한계에 도달하게되면 scale out을 고려할 수 있음.
RDS Scale out
DB인스턴스를 여러개 만들어서 Master와 slave로 인스턴스를 구분한다. slave 인스턴스는 Master 인스턴스의 데이터를 복제해 읽기만 가능하게하고, Master 인스턴스는 쓰기가 가능하게 한다.
각 기능이 해당 인스턴스에게만 적용이 되게 하는 것은 사용하는 언어에 따라 다른 방식이 적용되어야 한다.
Scale out은 이론상으로는 한계가 없는 방법
Leave a comment