클라우드 뿐만 아니라 어떠한 서비스든 핵심이 되는 데이터베이스에 대해서 알아바도록 하겠습니다.
Database(DB) : 데이터의 집합 혹은 데이터가 저장되는 공간을 주로 의미
Database Management System(DBMS)
- 데이터베이스를 관리/운영하는 역할의 시스템입니다.
- 데이터의 무결성, 중복의 최소화를 통하여 프로그램의 제작 및 수정이 쉬워집니다.
- 계층형 DBMS, 관계형 DBMS, 비관계형 DBMS 등이 있습니다.
- MySQL, Oracle, MongoDB 등 다양한 DBMS가 있습니다.
SQL에 관한 내용들은 타 블로그에 많기에 따로 다루지는 않겠습니다.
이제 AWS-입문(6주차)를 시작하겠습니다.
이번에는 실습으로 DB를 조작하기에는 어려움이 있다고 느껴서 RDS의 DB생성시 선정할 수 있는 옵션에 대해서 다뤄볼까 합니다.
1. 자신의 DBMS를 어떤 것으로 할지 정하는 부분입니다.각 엔진마다 장단점이 있기에 자신이 만들고자 하는 DB의 쓰임새에 따라 정하는것이 좋습니다.
2. 자신이 어떠한 목적으로 만드는지에 따라 템플릿은 선택하면 됩니다.
3. DB의 이름과 그 DB의 마스터 사용자 즉 운영자 권한을 가진 ID와 Password를 설정하는 부분입니다.
4. 인스턴스 클래스는 자신이 사용할 CPU코어 수, RAM, 네트워크를 정하는 부분입니다.
스탠다드, 메모리 최적화, 버스터블에 따라 밑에서 고를 수 있는 선택지가 달라집니다.
프리티어 같은 경우는 버스터블 클래스만 사용 가능합니다.
5. 자신의 DB크기를 정하는 부분입니다. 데이터가 얼만큼 저장되고 입력과 출력이 얼만큼 되느냐에 따라
스토리지 유형을 바꾸고 자동 조정 활성화로 최대 값을 정하여 최대 값 까지는 자동으로 확장될 수 있게 설정할 수 있습니다.
6. 이 부분이 꽤나 핵심적인 부분이라고 생각합니다.
메인인 DB가 있고 서브의 DB를 만들어 백업 DB처럼 사용하다가 메인 DB에서 장애가 발생하게 되면
서브 DB가 대신 동작을 하게끔 하는 설정이 이 부분입니다.
무작정 백업 DB는 좋은거지 라고 생각하고 체크하는 것 보다는 읽기 전용 복제본과 같은 여러 방식이 있기에
목적에 맞게 사용하는 것이 좋습니다.
7. DB를 생성한 후에는 VPC를 변경할 수 없기에 VPC를 정확하게 선정해주고 서브넷 그룹과 보안 그룹을 선택하는 부분입니다.
퍼블릭 액세스란 VPC외부에서도 DB접근을 허용할 것인지에 대해서 결정하는 것이기에 연습하는 경우에는 액세스를 허용시켜서 사용할 때도 많습니다.
8. 데이터베이스의 인증 부분인데 위에 설정한 것처럼 암호로 인증을 할 것인지
저번에 다뤘던 IAM의 인증방식을 사용할 것인지, Kerberos 인증을 사용할 것인지 묻는데
Kerberos는 MIT에서 만든 인증방식이며 티켓을 이용하여 인증을 한다고 생각하면 이해가 쉬울 것 같습니다.
사용자가 인증서버에 패스워드를 사용하여 자신을 인증하고 인증이 되면
티켓 발급서버가 사용자에게 티켓을 발급하고 사용자는 이 티켓을 이용하여 서버에 접속합니다.
서버는 티켓을 확인하고 사용자를 인증한 다음 접속을 허가하는 시스템이라고 생각합니다.
9. DB의 초기 이름입니다. 임시적인 이름이라고 생각하면 좋을 것 같습니다
이 DB에 적용할 파라미터 그룹을 선택하는 부분인데 자신이 설정해놓은 템플릿과 같은 역할이라고 생각합니다.
DV의 백업 보존 기간과 자동 백업 기간을 설정합니다.
10. 모니터링은 말 그대로 DB의 모니터링을 어떻게 할 것인지와 시간 단위를 선정하는 부분인 것 같습니다.
로그 내보내기는 AWS CloudWatch로 게시할 로그들을 선정하고 암호화 부분은 조금 더 공부하고 작성하도록 하겠습니다.
11. 유지 관리는 DB에 대한 변경사항이나 패치를 적용할 기간을 의미합니다.
기간을 선택하지 않으면 AWS측에서 임의로 기간을 할당하기에 은행처럼 이용자가 적은 시간에
변경사항을 적용하는 것이 최선인 것 같습니다.
12. 마지막인 월별 추정 요금에서 대략적인 예싼을 추정할 수 있지만 데이터에 입출력 및 데이터 량에 따라 가격은 달라지기에 최소한의 사용 요금이라고 생각하시면 될 것 같습니다.
보시다시피 다중 AZ배포에 대한 비용이 DB 인스턴스와 똑같기 때문에 읽기 복제본과 같은 다른 방식으로도 고려하는 것이 좋습니다.
데이터베이스에 관해서는 따로 실습이 아니라 생성할 때에 어떠한 옵션이 있고 어떻게 선정을 해야하는지에 대해서
설명을 해보았는데 앞으로도 DB생성을 하면서 알게되는 사실들을 계속해서 작성해나가도록 하겠습니다.
'AWS > 실습(입문)' 카테고리의 다른 글
AWS-입문(8주차) EC2 Auto Scaling (0) | 2021.07.31 |
---|---|
AWS-입문(7주차) 네트워크 부하분산 서비스 (0) | 2021.07.23 |
AWS-입문(5주차) 보안 서비스 (0) | 2021.07.12 |
AWS-입문(4주차) 스토리지 서비스 (0) | 2021.07.01 |
AWS-입문(3주차) 네트워킹 서비스 (0) | 2021.06.28 |