AWS 데이터베이스
데이터 베이스
- 데이터를 관리하기 위한 시스템
- 데이터에 종류가 많고 어떤 데이터냐에 따라 저장 및 관리 방식이 달라짐
데이터 베이스 유형과 AWS 서비스

이점
1) 목적별로 사용가능
2) 완전 관리형
3) 규모에 따른 성능
4) 보안 및 고가용성
완전관리형 데이터 베이스 구조
Amazon RDS
RDS 란?
관계형 데이터 베이스의 이점
1) SQL 사용
2) 중복감소 (정규화)
- 정규화 : 데이터베이스 설계에서 중복을 최소화하게 데이터를 구조화 하는 프로세스
- 정규화를 하면 이상현상의 발생가능성을 줄이지만, 연산시간이 증가한다는 단점이 존재함.
3) 친숙성 (엑셀과 동일한 형태)
4) 정확성
RDS의 이점
- AWS 클라우드에서 관계형 데이터베이스 운영 및 크기 조정가능
- 시간이 많이 드는 관리 작업 자동화
- 데이터를 안전하게 저장 및 전송
RDS의 인스턴스
- RDS DB 인스턴스는 클라우드에서 실행하는 격리된 데이터베이스 환경
- 최대 40개의 DB인스턴스를 보유할 수 있음.
- 다양한 엔진을 활용할 수 있음. (MySQL, Oracle, Maria DB 등등)
RDS의 인스턴스 유형(클래스)
RDS DB 인스턴스 스토리지
- 범용 SSD, 프로비저닝된 IOPS SSD, 마그네틱(표준)
등3가지의 스토리지 유형 제공
- 범용 SSD : 중간크기 DB 인스턴스에서 실행하는 광범위한 워크로드에 이상적
- 프로비저닝된 IOPS SSD : I/O 지연시간이 짧고, 처리량이 일정한 집약적 워크로드를 사용할때 가장 적합
- 마그네틱 : 역호환성을 위해 지원.
- 이 3가지 유형은 성능 특성과 가겨이 다르기 때문에 하고싶은 것에 따라 조정이 가능함
- 최대 64TB 스토리지의 인스턴스 생성 가능
- Db2, MYSQL, MariaDB, Oracle, PostgreSQL
데이터베이스 네트워크 보안
- DB 인스턴스를 VPC에서 실행하기 (프라이빗 서브넷)
- RDS 리소스 사용자 권한 주기 : IAM 사용
- 보안그룹 활용하여 DB인스턴스 생성시 방화벽에서 연결된 보안 그룹에서 지정한 규칙 이외의 데이터 베이스 엑세스 차단 (네트워크 ACL)
- 네트워크 암호화 사용
- AWS 루트계정을 통해 Amazon RDS 를 관리하면 안됨
- 최소 권한 부여

RDS 데이터 백업
- DB는 주기적으로 백업이 필요함
- 자동과 수동 둘다 활용해야함.
- 자동 : cron과 비슷한 DB속의 스케쥴러를 이용
- 수동 : 백업 데이터를 스냅샷이라고 함. 이를 다른 저장장치에 저장함. (보통 S3 glacier에 저장하는 경우가 많음 )

데이터베이스 이중화
- 고가용성과 장애 조치 기능을 위해 Multi-AZ 기능을 지원함
- 서로다른 AW(가용영역)에 동기식 예비 복제본을 프로비저닝하고 유지해서 데이터 이중화를 제공하는 서비스 (따로 관리자가 개입할 필요가 없음)
- 만약 기본이 고장나게 되면 대기의 데이터베이스가 기본으로 변경되게 되고 고장난 것에는 새로운 대기 DB가 생성됨
- 이를 고가용성이라고 부름. (고객은 장애가 생긴지 전혀 모르기 때문에)

Amazon DynamoDB(NoSQl)
- 정형, 비정형, 반정형을 모두 다룰 수 있는 데이터베이스 서비스
- 키: 값 으로 저장되어있는 데이터 베이스로 완전관리형 서비스를 제공함

- 스키마의 구조가 엄격하지 않기 때문에 각 데이터의 구조가 다른것도 가능함.
- 스키마 : 자료간의 관계를 정의한 것 / 데이터베이스 내에서 어떤 구조로 데이터가 저장되는지 나타냄
- 확장성이 우수
- 저장 중 암호화를 제공함