DB와 RDS 구축

최다안·2022년 12월 18일
0

서버

목록 보기
4/8
post-thumbnail

📖 목차

  1. DB
    - DB란
    - DB 사용 이유

  2. RDS 구축
    - 일체형 서버와 분리형 서버
    - RDS 구축

📌 DB

1) DB란

  • 다수의 인원, 시스템, 프로그램이 사용할 목적으로 통합하여 관리되는 데이터의 집합
  • DBMS : 데이터 관리의 복잡성을 해결하는 동시에 데이터 추가, 변경, 검색, 삭제 및 백업, 복구, 보안 등의 다양한 기능을 지원하는 소프트웨어다. 예) RDBMS, NoSQL

2) DB 사용 이유

  • 대용량 => 대용량의 데이터를 관리하는데 성능이 좋음
  • 안정성 => 백업, 제한, 관리 등에 편함(RDBMS)

📌 RDS 구축

1) 일체형 서버와 분리형 서버[1]

  • 일체형 서버(단일 서버)
    웹 클라이언트 <-> 웹서버 + WAS + DB 서버
    장) 통신이 빠름, 하나의 계정이 해킹 당해도 그 계정으로 다른 서버에 있는 DB에 접근할 수 없다는 보안상 강점
    단) 서버가 다운되면 DB도 다운되어 데이터 유실의 가능성이 있음

  • 분리형 서버
    웹 클라이언트 <-> 웹서버 + WAS <-> DB 서버
    장) 확장성, 보안성, 백업
    단) 각 서버에 연결되면서 속도 저하 가능성이 있음

분리형 서버 장점

  • 확장성
    분리하여 성능 향상을 하기 위해 병렬 구조의 Scale out 방식[2] 서버 증설이 필요. DB 서버는 WAS와 자원을 공유하지 않고 독점적으로 사용하므로 더 높은 성능을 기대할 수 있음
  • 보안성
    해킹에 의한 루트 권한이 모두 넘어가는 것을 방지, DB 서버를 분리하여 제한적인 권한을 부여하여 보호
  • 백업
    백업 방법의 선택 폭이 넓어짐

WAS와 DB 서버 분리하는 이유

  • WAS에서 처리하는 부분이 DB 서버에 비해 상대적으로 많은 경우, 단일 서버로 구현된 경우 WAS의 성능만 높이기 어려우므로 당연히 DB 서버를 함께 올릴 수 밖에 없음. 이런 이유로 가격과 성능을 고려할 경우 비효율적인 측면이 증가.
  • 메모리에 대한 의존도만 생각해봐도 WAS보다는 DB가 월등히 높음. WAS와 달리 DB는 다른 하드웨어보다 메모리에 영향을 많이 받음. 즉 성능을 높이기 위한 기술적 방법이 각기 다르게 적용되야 하는데 하나의 단일 서버 구현은 한계가 있으므로 분리하는 방법이 필요
  • 즉, WAS와 DB를 분리하여 성능 향상과 관리가 필요하므로 분리

2) RDS 구축

  • AWS에서 제공하는 DB
  • 분리형 서버를 위해 사용
  • RDS 인스턴스 구축 시 주의
  1. 개발하면서 로컬 서버나 MySQL로 접근할 일이 있으니, 퍼블릭 엑세스 (예) 체크
  2. RDS 보안 그룹에서 EC2 보안그룹 설정하여 EC2에서 접근할 수 있도록 함
  3. 파라미터 그룹 설정[3]



&링크모음
[1] 분리형 서버
[2] Scale Out
[3] RDS 파라미터 설정

profile
https://github.com/DaanChoi

0개의 댓글