[CS] AWS-3.RDS

limlim·2023년 5월 15일
0

CS

목록 보기
10/15

개요

  • 항해에서 프로젝트를 할 당시 DB는 MongoDB를 사용했기 때문에 AWS의 RDS를 사용하지 않았다. MySQL을 사용했던 팀들은 RDS를 대부분 사용하였다. 그래서 취업하고 나서 RDS를 테스트 용도로 사용해봤는데 확실히 유용했다.
  1. RDS란?
  • Amazon Relational Database Service의 약자로 클라우드 상에서 제공되는 관계형 데이터베이스 서비스임

  • 다양한 관계형 데이터베이스 엔진을 지원함

    1) Mysql
    2) PostgreSQL
    3) MariaDB
    4) ORACLE
    5) Amazon Aurora
    6) MS SQL Server

cf) RDS에 포함되지 않는 NoSQL 역시 AWS에서 제공하며, key-value 방식의 DynamoDB 뿐 아니라 인 메모리 방식의 ElastiCache, Redis와 그래프 SQL 기반의 Neptune 등이 있음

  1. RDS의 특징
  • RDS는 클라우드 기반의 데이터베이스로써, 일반적으로 웹서버에 설치해 운영하던 DB와는 조금 다른 작동 방식으로 구성됨

  • 일반적인 RDB 구성 과정

    1) 서버 구축
    2) 서버 접속 및 DBMS 설치
    3) DBMS 설정 파일 변경
    4) DBMS 재실행
    5) DBMS 접속 및 계정 및 권한 설정 (PostgreSQL은 접속 전 계정 및 권한 설정)
    6) 서버 접속 종료 후 개발/운영 환경 접속 테스트

  • RDS 구성 과정

    1) DBMS 설정 파일 생성 (기본 설정 이용 시 건너뜀)
    2) RDS 구성
    3) 네트워크(VPC) 환경 설정
    4) 개발/운영 환경 접속 테스트

  1. RDS 시작하기
  • 엔진 옵션

    : 위 언급한 6개 엔진 중 한 가지를 골라, 엔진의 버전을 지정할 수 있음

  • 템플릿

    : RDS의 세부 설정을 이용하려는 목적에 맞게 불러올 수 있음(프로덕션, 개발/테스트, 프리티어)

  • 설정, 인스턴스 클래스, 스토리지, 가용성 및 내구성

    : 구축하는 RDS 인스턴스의 이름과, 접속 가능한 DBMS 계정 정보 생성(설정)

    : 구성할 RDS의 인스턴스 타입으로 일반적으로 메모리 최적화 클래스를 사용하는 것이 권장되며, 데이터 연산도 고려해야 하는 경우라면 스탠다드 클래스를 적용함(인스턴스 클래스)

    : 사용할 SSD의 성능과 크기 설정(스토리지)

    : 다중 AZ 배포, 즉 대기 인스턴스턴스를 생성하여 장애 발생 시 다른 가용 영역에 있는 대기 인스턴스를 메인 인스턴스로 자동 전환하는 기능 설정(가용성 및 내구성)

  • 연결 및 추가 구성

    : VPC를 포함해 서브넷, 보안그룹 설정 진행

    : 인스턴스가 배치될 메인 가용 영역 지정

    : 경우에 따라 DBMS 권장 포트인 3306 포트 대신 다른 포트 사용하고자 하는 경우 '추가 구성' 버튼 눌러 다른 포트 지정 가능

    : 그외 초기 데이터베이스 이름, DB 파라미터 그룹, 옵션 그룹, 백업, 모니터링, 로그 내보내기, 유지관리, 삭제 방지 등 설정 가능

  1. 운영 중인 RDS 접속/변경하기
  • RDS가 작동하기 시작하면, RDS 이름을 클릭하여 세부 화면 접속 가능

  • AWS가 생성해준 내 RDS의 엔드포인트를 Host로 사용하여 연결할 수 있음

  • MariaDB/MySQL인 경우 아래 명령어로 DB 접속 가능

mysql -u root --host={엔드포인트} -p
  1. 정리
  • AWS RDS를 이용해 DB를 관리하면 서비스가 커지거나 할 때 유연하게 자유로운 확장이 가능해 편리한 것 같다.

  • 나중에 MySQL이나 MariaDB를 이용해 프로젝트를 만들 때, AWS의 RDS를 사용해 보면 좋을 것 같다.

참고자료: https://yozm.wishket.com/magazine/detail/1345/

profile
不怕慢,只怕站 개발자

0개의 댓글