이제 AWS 에서 제공해주는 관리형 서비스인 RDS(Relational Database Service)를 생성해 보겠습니다.
✅ RDS란?
- AWS에서 지원하는 클라우드기반 관계형 데이터베이스
- 하드웨어 프로비저닝, 데이터베이스 설정, 패치 및 백업과 같이 잦은 운영 작업을 자동화하여
개발자는 개발에만 집중하도록 지원하는 서비스 - 조정 가능한 용량을 지원하여, 예상치 못한 양의 데이터가 쌓여도 비용만 추가하면 쭉 사용 가능하다
나는 우리 프로젝트의 사용자가 많아졌으면 좋겠다는 큰 꿈을 가지고
더 고급기능을 가지고 확장성이 좋은 PostgreSQL을 선택했다.
그리고 실무에서도 많이 사용한다고 하니 한번쯤은 사용해 보고 싶었다.
프리티어 기간이 지나면, 비용을 지불하면서 RDS를 사용해야 한다.
보통 Amazon Aurora(Mysql과 PostgreSQL 을 클라우드 기반에 맞게 재구성한 데이터 베이스) 로 많이 교체한다.
하지만 Aurora는 프리티어 대상이 아니고, 최저 비용이 10만원대 이기 때문에
처음 시작할때는 MySQL, MariaDB, PostgreSQL 중에서 선택하는 것을 추천한다.
이제 본격적으로 RDS 인스턴스를 생성해 보겠다.
1. RDS 생성에 들어가서 PostgreSQL 을 선택한다.
밑에 나오는 데이터 베이스 엔진 버전은 기본 값으로 두었다.
2. 프리티어 템플릿 선택하기
프리티어로 사용하기 위해서는 프리티어 템플릿을 사용하자
3. DB 인스턴스와 마스터 사용자 설정
DB 이름과 마스터 사용자 이름을 설정한다.
AWS 자습서에는 아래 예시처럼 이름을 설정해 놓았다. DB에는 하이픈, 이름에는 언더바를 사용하는 듯 하다.
tutorial-db-instance
tutorial_user
Auto generate a password(암호 자동 생성) 옵션은 끈 상태로 둔다.
그리고 암호 입력
실제 데이터 베이스에 접근하려면 여기서 설정한 사용자 정보로 접근하므로 사용자 이름과 비밀번호는 따로 적어두자
4. 인스턴스 구성 및 스토리지
이때는 기본값인 db.t3.micro 로 유지해 놓는다.
스토리지도 20GB 기본 값으로 둔다.
이때, 스토리지 자동 조정을 클릭하면, 활성화가 되어 있는 것을 볼 수 있다. 이를 체크 해제해주자.
안그러면 과금이 발생할지도 모른다!!!
5. EC2 연결하기
앞서 생성한 EC2 인스턴스를 RDS에 연결할 것이다. EC2 컴퓨팅 리소스에 연결을 선택하자
그후 인스턴스를 선택하면 되는 데, 생성한 것이 있으면 자동적으로 밑에 뜰 것이다. 해당 것을 클릭하면 된다.
만약 안뜬다면, EC2와 RDS를 생성한 지역이 동일한지 살펴보자..!
EC2는 서울에 있는데 RDS는 다른지역에서 생성했으면, 서울에서 생성한 EC2는 보이지 않는다..
+ 추가)
테스트를 위해서 퍼블릭 엑세스 기능을 활성화 하고 싶다면 다음과 같이 설정하면 된다.
이후 보안 그룹에서 지정된 IP 만 접근하도록 막을 예정이다.
그리고 보안 그룹도 새로 생성해준다.
포트 번호도 기억해두자..!
6. 데이터 베이스 인증
위에 설정한 암호로 인증할 것이다. 기본 설정 그대로 암호 인증을 선택한다.
7. 모니터링
모니터링도 혹시나 과금이 될지도 모르니 선택을 해제했다.
8. 추가 구성
추가 구성을 눌러서, 데이터 베이스 이름을 작성한다.
그리고 백업 기능도 체크 해제!! 스냅샷 생성 또한 과금 발생 우려도 있으며 DB 메모리도 많이 차지하게 된다.
그 아래는 기본 설정으로 둔 뒤, 데이터 베이스 생성을 클릭한다.
콘솔로 다시 가면 생성된 것을 볼 수 있다.
RDS 파라미터 설정하기
1. 왼쪽 탭에서 파라미터 그룹 클릭
2. 파라미터 그룹 생성을 클릭하여 새로운 그룹을 만든다.
3. 엔진 버전 설정하기
생성한 PostgreSQL 엔진과 같은 버전을 맞춰야 한다.
15.3 버전이므로 15를 선택한다.
그 다음, 파라미터 이름과 설명을 설정하고 만들기를 누른다.
4. 서울 시간으로 설정하기
파라미터 수정에 들어가서 편집을 누르고 timezone 을 검색한다음, UTC+9 를 입력한다.
다른 블로그 글을 보다보면, Mysql 로 설정한 경우 Character Set 을 utf8mb4 로 변경해 주는 것을 볼 수 있다.
하지만 postgresql은 그럴 필요가 없다.
utf8mb4 는 표준 인코딩 방식이 아니며 MySQL 의 UTF-8 이 3 byte만 지원하는 문제를 해결하기 위한 땜질 처방입니다.
PostgreSQL 이나 Oracle, MS-SQL 등을 사용한다면 이런 문제를 고민할 필요가 없습니다
5. 최대 연결 변경하기
좀 더 넉넉한 값으로 최대 연결을 증가시켜준다.
6. 수정한 파라미터 규칙 적용하기
이제 새로 만든 파라미터 규칙을 내가 생성한 RDS에 적용할 것이다.
RDS 에 들어가서 내가 만든 DB를 선택한 뒤 수정을 눌러준다.
그 다음 추가 구성을 누른다.
default 로 되어 있는 것을 내가 새롭게 만든 파라미터 그룹으로 바꿔서 설정한다.
그 다음 즉시 적용을 눌러 DB 인스턴스를 수정한다.
7. 내 PC에서 RDS 접속해보기
로컬 PC에서 RDS로 접근하기 위해서 RDS의 보안 그룹에 내 PC의 IP를 추가해야한다.
1. RDS 세부 정보 페이지에서 보안그룹 항목 클릭 및 인바운드 규칙 편집
2. ec2 보안그룹 추가
이렇게 하면 EC2와 RDS 간에 접근이 가능하다.
다음 글에서는 Datagrip 을 사용하여 AWS의 RDS를 접근하는 것을 해 보겠다.
'AWS' 카테고리의 다른 글
[AWS] AWS S3, CloudFront, Lambda@Edge를 통해 이미지 Resize (0) | 2023.11.14 |
---|---|
[AWS] EC2 인스턴스 생성하기 (2023 ver.) (1) | 2023.10.24 |