티스토리 뷰
들어가기 전에....
백엔드/서버 개발자, DevOps, DBA 같은 직군은 데이터베이스를 다뤄야 하는 경우가 많다. 하지만 사내서버에 세팅하기에는 하드웨어 비용이나 관리 비용이 많이 들어가기고 하고 DB데이터가 방대할경우에는 하드웨어로 세팅해서 관리하는것도 한계가 온다. 그래서 비용이나 관리에서 효율적으로 할수 있는 서비스가 AWS에서 제공하는 RDS이다. RDS에는 데이터의 의 용량도 유동적으로 관리 할수도 있고 AWS에서 접근 권한도 설정 할 수 있다는 점도 있고 많은 기업들에서도 사용한다는 점에서 많은 장점을 갖고 있는 Paas 제품이다. RDS에 대한 기본적이 개념은 나중에 따로 글을 올리겠다. 이번 글은 기본적인 세팅과 DB접근해서 작업하는 방법을 설명 하겠다.
RDS 인스턴스 생성
먼저 DB 서버 부터 만드는 작업을 할 예정이다. 그러면 DB서버 관리하는 인스턴스를 생성해야 한다. AWS 로그인하고 RDS검색 해서 들어가면 아래와 같은 화면이 나오는데 데이터베이스 생성 을 클릭하자
데이터베이스 생성 들어 가면 데이터베이스 생성 방식 선택과 엔진 옵션이 나온다. 데이터베이스 생성 방식 선택은 표준으로 하고 엔진은 MySQL로 한다. MySQL은 다른 DB보다는 성능은 떨어지지만 많은 사람들이 사용한다는 이유로 선택했다.
특별한 이유 아니면 MySQL, MariaDB, PostgreSQL 중 하나만 선택하자. MS SQL, Oracle은 유로라서 공부용으로 적합하지가 않다. 그리고 특이한 DB가 있는데 Aurora인데 월 10만원이 나가지만 AWS에서 엔진을 관리하고 성능도 더 좋게 나온다는 점과 MySQL, MariaDB, PostgreSQL 마이그레션을 자유롭게 할 수 있다는 점에서 기업에서 많이 사용하고 있다.
공부용으로 하기 때문에 템플릿은 프리티어로 설정한다.
설정에 DB서버 명, 관리자 계정을 작성한다.
저장크기는 20G한다. 프리티어에서 지원할수있는 최대치이다. 그리고 스토리지 자동 조정 활성화는 체크 하지 말자 체크 하면 나중에 데이터 20G가 넘으면 요금이 부과 될수가 있다.
이 부분은 보안, 접근 관련 인데 이 부분은 만들고 나서 다시 설정할거라서 퍼블릭 엑세스 '예'라는 것만 설정한다.
위에도 데이터베이스 이름 있고 아래도 있는데 위에 것은 AWS 인스턴스 이름이고 밑에 것은 DB이름이다.
맨 밑에 데이터 생성 버튼을 클릭한다.
생성후 데이터베이스 인턴스에 아래와 같은 이미지가 나오면 RDS 인스턴스 생성하는 것은 끝이다.
RDS 파라미터 설정
RDS 인스턴스 생성이 끝이 아니다. 추가적으로 작업을 해줘야 하는데 그중 RDS 환경 설정을 할것이다. 일단 아래 3개 먼저 설정할 것이다.
- 타임존
- Character Set
- Max Connection
일단 사이드 메뉴탭에 파라미터 그룹으로 이동하면 아래 같은 화면이 나올것이다. 파라미터 그룹 화면 들어 갔으면 [파라미터 그룹 생성]을 클릭하자.
파라미터 그룹 패밀리 설정 하는 화면이 나올것이다. 적용할 DB는 아까전에 MySQL 설정한 버전으로 하고그룹 이름과 설명은 작성후 생성 버튼을 클릭한다.
아래처럼 파라미터 그룹이 생겨 날것이다.
파라미터 값을 변경해야하는데 타임존 부터 변경하자. 타임존은 Asia/Seoul로 변경한다.
그 다음 변경은 문자처리 하는 부분인데.. 변경해야 될 항목은 아래와 같다. character 항목은 uft8mb4로 변경하고 collation 항목은 uft8mb4_general_ci로 변경한다. utf8과 utf8mb4의 차이점은 이모티콘 추가 여부이다.
- utf8mb4
- character_set_client
- character_set_connection
- character_set_database
- character_set_filesystem
- character_set_results
- character_set_server
- uft8mb4_general_ci
- collation_connection
- collation_server
마지막으로 Max Connection을 수정한다. Max Connection부분은 최대 연결 개수를 선택하는데 우리는 공부용으로 많이는 필요 없다. 많이 설정하면 돈이 나갈수 있으므로 100정도만 설정하자. 그 다음에 위에 변경 사항 저장 버튼을 누르면 된다.
아까전에 만든 인스턴스에 수정사항에 들어가서 데이터베이스 옵션에 DB 파리미터 그룹을 변경하자. 그룹은 방금 만든 파라미터 그룹 명으로 하면된다. 변경했으면 저장 하면된다.
즉시 적용으로 선택하고 DB 인스턴스 수정을 클릭한다.
수정이 완료 되면 아래 그림 처럼 수정 중으로 나올 것이다.
사용가능이 표시 되면 재부팅을 하자 재부팅을 하는 이유가 혹시나 반영이 안 될수가 있기 때문이다.
보안 그룹 설정
보안 그룹은 설정은 EC2 생성할때 설정하는데 처음부터 설정하는 방법은 추후에 EC2 생성할때 알려주겠다. 기존에 EC2 생성한것 기준으로 설명하겠다. 보안 그룹은 간단하게 몇가지만 설정하면 끝이다.
인스턴스 안에 들어가면 [연결 & 보안]탭에 보안 쪽 보면 VPC 보안 그룹 있다. 밑에 파랑색 링크를 클릭하자.
들어가서 인바운드 규칙에 들어가서 인바운드 규칙 편집에 들어가자
인바운드을 추가해서 MYSQL/Auroar를 선택하고 내 IP를 선택한다음 저장한다.
여기까지 하면 기본적인 RDS세팅은 끝난것이다.
내 PC로 연결하기
세팅은 끝났으니 이제 되는지 확인 여부를 위해서 Local에 연동을 해보자 각자 DB툴을 사용하면 되는데 다들 사용하는 툴이 다르지만 여기에서는 DataGrap으로 사용할것이다. DataGrap은 JetBrain Tool에서 제공하는 유로 소프트웨어이고 편리한 기능을 많이 제공하기고 하고 많은 개발자들이 사용하는 Tool이다.
RDS 인스턴스에 엔드포인트를 복사해서 DBtool에 host에 붙어 넣기만 하면된다. 그 다음 본인이 설정한 id/password 입력후 Database에는 본인이 지정한 DB이름으로 하면되고 없으면 안해도 된다. 작성 다했으면 Test Connection으로 성공한후에 OK버튼을 누르면 된다.
연결이 성공하면 아래와 같이 나올것이다.
마무리
여기까지 세팅하면 기본적으로 끝난것이다. 세팅하는 그림과 글이 많아 보이는데 몇번 세팅하면 20분안에 세팅할수 있는 부분이라서 겁낼 필요가 없다고 생각한다.
이번에 세팅한것은 공부용이고 개발용을 각 회사마다 추가로 세팅만 더 해주면된다. 그 부분은 추가로 작성할것이다. DevOps계열이면 여기서 더 공부를 해야하지만 백엔드 개발자라면 여기까지 알면 충분하다고 생각한다. RDS는 퍼블릭 클라우드 서비스중에서 많이 사용하는 플랫품으로 자세하게 세팅하는 방법은 몰라도 혼자서 구현해보고 어떻게 돌아가는지 정도만 알면 괜찮을거라 생각한다.
참고
- 스프링 부트와 AWS로 혼자 구현하는 웹 서비스
'DevOps > AWS' 카테고리의 다른 글
[AWS] S3설정 하는 방법 (0) | 2022.09.23 |
---|
- Total
- Today
- Yesterday
- 그래프
- 문자열
- 배열
- 알고리즘
- 누적합
- Programmerse
- 동적계획법
- Python
- 동적 계획법
- spring-boot
- 수학
- 재귀호출
- DP
- java
- BFS
- 자바
- 구현
- 백트레킹
- 조합
- BaekJoon
- 백준
- 이론
- 그리디
- DFS
- Greedy
- 파이썬
- level2
- LeetCode
- 넓이 우선 탐색
- JSCODE
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |