RDS Setup
> RDS란?
RDS (Relational Database Service)로 AWS에서 사용하는 데이터베이스이다.
- RDS를 사용하면 사용자가 직접 서버를 생성해서 데이터베이스를 설치하고 또 설정하고 관리하는 프로세스가 필요가 없어진다.
- 그러면서도 동시에 비용도 더 저렴하다.
직접 설치하고 운영하지 않기 때문이다. 즉, RDS는 이런면에서 아주 매력있는 데이터베이스이다.
> RDS 셋업 하기
-
Amazon Web Services에 접속해 로그인을 한 후, RDS 서비스를 선택해 준다.
-
먼저 MySQL 설정 파일을 만들어줘야 한다. 직접 만들지 않아도 default 설정 파일이 있지만 utf-8 인코딩 설정을 해줘야 한국어가 저장 가능하다. 먼저 "Parameter groups" 페이지로 이동하자.
-
우측 상단에 "Create parameter group" 옵션을 선택한다.
-
이제 "parameter group" 설정 파일을 생성해야 한다.
Group name과 description은 자유롭게 정하면 된다.
Parameter group family는 생성하는 데이터 베이스와 버전에 맞게 지정해야 한다.
mysql5.7 버전을 사용할 것이기 때문에 mysql5.7로 골라보자.
- 방금 생성한 파일을 수정하기위해 아래처럼 액션을 골라주거나, parameter group의 이름을 클릭해준다.
- 이제 parameters를 다음과 같이 설정해주어야 한다.
아래 옵션을 모두다 utf8mb4로 변경해준다.
- character_set_client
- character_set_connection
- character_set_database
- character_set_results
- character_set_server
collation_connection
- utf8mb4_general_ci로 변경
collation_server
- utf8mb4_unicode_ci로 변경
설정을 다 바꿔준 후에는 preview changes를 눌러 변경사항을 다 확인할 수 있다.
설정을 바꾸었다면 꼭 저장해주기, save changes!
-
"Create database"를 눌러 데이터베이스를 생성해주자.
-
MySQL을 엔진으로 선택하고,
"Only enable optons eligible for RDS Free Usage Tier"
옵션을 체크해서 무료로 사용할 수 있는 사양이 자동으로 선택되게 만들어주자.
-
DB 세부사항 설정을 하자.
무료 버전이기 때문에 대부분 default 그대로 사용하면 된다.
맨 아래 settings 섹션에서 master username과 비밀번호 그리고 데이터베이스 이름만 설정하면 된다.
-
고급설정 페이지에서는 "public accessibility" 옵션을 yes로 설정한다.
그리고 database options 섹션에 "DB parameter group"을 방금 생성한 파라미터 설정 파일로
변경한다.
<추가 참고사항>
스토리지 자동 조정은 요금 부담이 될 수도 있기 때문에 체크 해제한다.
Port 3306번은 MySQL의 default 통신 포트이다.
추가 구성 섹션에는 딱히 건드릴게 없음.
삭제 방지 활성화는 클릭해주는게 좋다.
모든 설정이 끝나면 "Create database"로 데이터베이스를 생성해준다.
- 이제 "instances" 페이지에 가서 방금 생성한 데이터베이스 대쉬보드로 가자.
참고로 데이터베이스가 사용 준비 되기까지 몇 분 이상 소요될 수 있다.
- 먼저 Endpoint를 확인하자.
이제 이 주소로 database에 접속할 수 있다.
그리고 security groups 링크를 클릭하자.
<추가 참고 사항>
보안 그룹 규칙에 inbound와 outbound가 있는데
inbound
는 나에게 통신이 들어오는 것을 의미하고,outbound
는 내보내는 것을 의미한다.
보통 퍼블릭이기보단, 집이면 집, 회사면 회사 ip 주소를 사용하는 것이 좋다.
혹여나 인바운드 규칙을 바꾸고 싶다면 인바운드 규칙 편집에서 바꿔줄 수 있다.
- Security group 설정을 변경하여 어디서든 접속이 가능하게 하자.
원래는 데이터베이스를 이렇게 어디서든 접속 가능하게 열어놓으면 안된다.
해킹의 위험이 있기 때문이다.
- 생성된 데이터베이스에 접속한 후 데이터베이스와 테이블을 생성하자.
mysql -h temptest.cj5v1k6zfree.ap-northeast-2.rds.amazonaws.com -u root -p
> RDS 붙히기
AWS RDS 세팅이 마무리 됬다면 이제 RDS의 엔드포인트를 local MySQL을 통해 접근이 가능해진다.
mysql -h 'endpoint_address' -u root -p
-h는 호스트를 의미 / h 다음 엔드포인트 주소
아래와 같이 연결이 잘 되었음을 볼 수 있다.
로컬 mysql이 아니기 때문에 기존의 데이터베이스가 없음을 확인할 수 있다.
mysqldump -u root -p 'database_name' > 'database_name'.sql
로컬 mysql 데이터베이스를 export한다.
mysqldump를 해주고 RDS로 import 해주기 전에, RDS에 데이터베이스를 먼저 생성해주어야 한다.
create database myDongMyoTrip character set utf8mb4 collate utf8mb4_general_ci;
아래 명령어를 입력해서 아까 dump해준 데이터베이스를 import 하자.
mysqldump -h 'endpoint_address' -u root -p 'database_name' < 'database_name'.sql
export 할 때와, import 할 때, 꺽쇠 방향이 다른 것을 주의해서 사용하자.
Author And Source
이 문제에 관하여(RDS Setup), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@jacoblee19/RDS-Setup저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)