Today I Learnt to Create AWS RDS Database

Jiwon Jung·2021년 1월 25일
1

T.I.L

목록 보기
10/10

RDS란
Relation Database Service의 약자로 AWS에서 제공하는 데이터 베이스 관리 시스템이다. 아마존 클라우드에서 각종 데이터베이스 프로그램을 설정하여 데이터베이스를 생성하고 관리 할수가 있다.

프리티어로 1달동안 750시간의 20GB 까지의 무료 사용이 가능하다.

기본 설정(Parameter group)

일단 Database를 만들기 전에 기본 설정을 해야한다. default 설정 값을 사용하여도 가능하지만 charater set과 collate의 인코딩 utf8mb4을 설정을 해야 한글이나 이모티콘이 안정적으로 저장이 가능하다.

utf8 또한 한글과 이모티콘을 지원하는 인코딩이지만 mysql 데이터베이스 상에서는 이모티콘을 지원이 되지 않는 오류가 발생, 이를 보완하기 위한 인코딩 방식이 utf8mb4이다.

우선 AWS 회원가입후 RDS를 검색하여 파라미터 그룹 항목을 클릭한다.

그룹생성 클릭

<mysql version check commands>
terminal ---> mysql -version 혹은 mysql -V
mysql    ---> select version();
  1. 윗 커맨드를 이용하여 자신의 mysql 버전을 확인한 후 이에 맞게 설정
  2. 그룹 이름은 자유롭게 정하되 project나 작업물의 이름으로 설정
  3. 설명 또한 용도에 맞게 자유롭게

    새로운 파라미터 그룹 파일이 생성되면 생성된 파일을 선택하여 다음 설정들을 변경해주면 된다.

"상단 검색창에 character_set과 collation을 검색하면 쉽게 찾을수가 있다"

  • chracter_set_client
    utf8mb4로 변경
  • chracter_set_connection
    utf8mb4로 변경
  • chracter_set_database
    utf8mb4로 변경
  • chracter_set_results
    utf8mb4로 변경
  • chracter_set_server
    utf8mb4로 변경
  • collation_connection
    utf8mb4_general_ci로 변경
  • collation_server
    utf8mb4_unicode_ci로 변경

수정이 완료되면 변경사항 미리보기를 마치고 변경사항 저장을 한다.

Database 만들기

RDS메인에서 Database 생성을 누르시고
표준생성과 mysql을 설정한다. 다른 데이터베이스 프로그램들은 AWS에서 지원하는 다양한 DB 플랫폼이다.

나머지는 기본값으로 두고 템플릿만 프리티어로 바꾼다
이를 설정함으로 무료로 경험할수가 있다.

해당 프로젝트 데이터베이스로 이름 바꾸어 준다.
마스터 id와 패스워드 설정(8자 이상)

로컬 mysql과 상관없이 새로 설정해주면 된다. 이 계정과 비밀번호는 AWS mysql에서 사용됨)


스토리지에서는 나머지 기본값 유지, 자동 조정 활성화 해제

기본 제공되는 데이터베이스를 다 사용할 일은 없겠지만 혹시나 모를 과금을 피하기 위해


퍼블릭 access 예로 변경하여 외부에서도 접근 가능하게 설정

VPC보안 새로 생성을 선택하여 새 VPC 보안 그룹 이름을 설정한다(프로젝트이름-rules)
가용 영역은 EC2에서 설정한 a로 선택


추가구성을 클릭하여 초기 데이터 베이스는 로컬이나 설정할 데이터베이스와 동일하게, 파라미터 그룹은 이전에 생성한 파일.


이후 삭제 방지 활성화만 설정한 후 기타 과금 대상이 되는 설정값을 잘읽어보고 생성을 하면 된다.

새로 생성된 데이터베이스는 완료되는데 까지 조금의 시간이 소요될수도 있다.

생성이 완료되면 클릭하여 엔드포인트에 주소값을 복사하고 터미널에

>> mysql -h (엔드포인트 주소) -u (master계정) -p

를 입력한 후 설정된 비밀번호를 입력하여 데이터베이스에 접근할수가 있다. 이는 로컬 mysql와 다른 AWS에서 관리하는 mysql 데이터 베이스이다.

mysql Dump

새데이터 베이스를 만들었다면 기존에 있는 로컬 데이터 베이스를 옮기는 방법이다.

로컬로 돌아가 터미널에

>> mysqldump -u root -p (DB이름) > (DB이름).sql

입력하여 기존 DB의 백업파일을 만든다.

다시 AWS RDS에 dump파일을 밀어 넣기 위해
AWS RDS에 접속하여 Database를 생성한다.

mysql
>> create database (DB이름) charater set utf8mb4 collate utf8mb4_general_ci;

밀어 넣기 위해 mysql에서 나와서

>> mysql -h (엔드포인트) -u (master계정) -p (생성DB이름) < (dumpDB이름).sql

를 입력하여 덤프 파일을 새로 만든 데이터베이스에 입려 주면된다.

profile
Venire, Videre, Vincere

0개의 댓글