AWS에 데이터 베이스 환경을만들어보자

박일한·2021년 11월 16일
0

클라우드 데이터베이스 설치는 정말 획기적이었다.
오라클설치... 엄청나게 시간도 오래걸리고 설정값들도 많아서 실수한번에 다시 지우고 깔고를 반복했던것 같다. 이래서 클라우드 서비스를 사용하는것 같다.

백엔드 개발자라면 에플리케이션 코드 작성과 데이터베이스를 다루는 일이다.
RDS : relational database service로써 aws에서 지원하는 클라우드 기반 관계형 데이터 베이스 이다.
여기서 지원하는 서비스로는 하드웨어 프로비저닝, 데이터베이스 설정, 패치 및 백업, 조정 가능한 용량등 지우너해주는 서비스가 많다.

RDS 인스턴스 생성하기

여기서도 마찬가지로 alt + s 를 선택하여 rds를 검색해보자.

DB의 종류는 많지만 여기서는 무료인 mariaDB를 사용할 것이다.
사용이유
1. 가격
2. Amazon Aurora 교체 용이성

표준성생 및 mariaDB, 템플릿은 프리티어를 선택한다.

DB 인스턴스 식별자, 마스터 사용자이름, 암호등 설정한다.
oracle 기준으로 간단하게 스키마의 username, password를 정의한다고 보면된다.


여기서 중요포인트는 퍼블릭 액세스를 예로 허용하는 것이다.
퍼블릭 액세스가 허용되지 않으면 인스턴스에서 접근이 불가능하다.

RDS 운영환경에 맞는 파라미터 설정하기

  • 타임존
  • Character Set
  • max Connection
  1. 왼쪽 사이드바의 파리미터 그룹을 선택한다.
  2. 우측의 해당 내용을 입력 후 생성한다.
  3. time_zone을 검색하여 Asia/Seoul로 수정한다.
  4. character를 검색 후 utf8mb4로 수정한다.
  5. collation을 검색 후 utf8mb4_general_ci로 수정한다.

    utf8과 utf8mb4는 이모지 저장 기능 여부 차이이다.
  6. max_connections를 검색 후 150으로 변경 후 수정한다.

    이러면 기본적인 파라미터 설정은 완료되었다.

이제 이 설정값들은 데이터베이스에 연결을 하면된다.
좌측 사이드에서 데이터베이스 선택 후 수정을 누르면 수정이 가능한데

추가 구성ㅅ에서 DB 파라미터 그룹을 변경해주면 된다.

내 PC에서 RDS 접속하기

로컬 PC에서 RDS를 접속하려면 RDS보안 그룹에 보인 PC의 IP를 추가 해야한다.
1. 데이터 베이스 에서 보안 탭의 VPC보안 그룹을 선택한다.

2. 상단의 작업 선택박스에서 인바운드 규칙 편집을 클릭한다.
3. 규칙을 추가한다.

mysql/aurora에서는 내IP, ec2 보안그룹 ID등을 추가한다.

DataBase 플러그인 설치

책에서는 database navigator를 사용하였는데 문제가 있어서 나는 사용하지 않았다.
사용하기 싶은 사람은 별도의 mariaDB connector를 다운받아서 외부에 의존성을 주입해야한다.
외부의 의존성 주입때문에 더 쓰기가 싫어져서 다른방법을 선택했다.
1. ctrl + shift + a 클릭하여 database를 선택한다.
2. build.gradle의 mariaDB 의존성을 주입한다.(implementation 'org.mariadb.jdbc:mariadb-java-client')
3. 우측상단의 database 탭에서 +버튼을 누르고 mariaDB를 선택한다.

4. 연결정보를 입력후 testConnection을 클릭하고 성공하면 apply 한다.

name은 data Source에서 사용할 이름이고
user, password는 rds에서 작성한 마스터 명, 암호를 입력하면 된다.
url은 jdbc:mariadb://엔드포인트:3306
를 입력하면 된다.
5. 필요한 schema나 db table등을 생성후 사용하면 된다.

EC2에서 RDS에서 접근확인

putty로 다시 접속한다.
mysql을 설치한다.

  • sudo yum install mysql
    설치가 다 되었으면 접속한다.
  • mysql -u 계정 -p -h host 주소
    접속이 성공하면 패스워드를 입력해야되고 패스워드까지 입력시 접속을 화긴 할 수 있다.

이번 챕터의 나의 생각

생각보다 database navigator에서 시간을 오래 잡아 먹었다. 원인은 더이상 서포트 해주지 않는 것이었는데 인바운드 규칙이나 다른 문제라고만 생각을 했다.
내가 이런것들을 경험하지 못한것들이 너무 많아서 재미 있고 좋았다.
근데 한편으론 이걸 지금 말고 또 쓸수 있을까? 라고 생각이 든다... 내가 하지않으면 아무 소용이 없다. 신입시절이 생각난다..

profile
긍정적인 삶을 갖자~~

0개의 댓글