Amazon RDS 톺아보기

원민관·2025년 9월 5일

deployment

목록 보기
4/7
post-thumbnail

1. RDS란? 🎯

RDS(Relational Database Service)는, PostgreSQL이나 MySQL 등과 같은 관계형 데이터베이스를 쉽게 설정 / 운영 / 확장할 수 있도록 돕는, AWS에서 제공하는 웹 서비스입니다.

랩톱에서 개발할 때에는 로컬 환경에 설치된 PostgreSQL과 같은 데이터베이스를 연결해서 사용하는데요, 서버를 EC2에 배포하고 나면 서버와 로컬 환경에 설치된 PostgreSQL을 연결할 수 없습니다. 따라서 데이터베이스도 외부 인터넷에서 접근할 수 있도록 해야겠죠. 이러한 이유로 AWS RDS라는 데이터베이스를 빌려서 사용하는 것입니다.

EC2에 PostgreSQL을 직접 설치해서 사용하는 방식도 고려해 봤습니다. RDS 사용에 대한 비용이 들어가지 않겠죠. 다만, 백엔드 서버에서 장애가 발생하여 EC2 인스턴스가 동작하지 않을 경우 애꿎은 PostgreSQL도 사용하지 못하게 되는 상황이 발생할 수 있을 것이라고 판단해서, RDS를 사용하기로 결정했습니다.

2. RDS 생성 🎯

RDS 페이지에 들어가서 리전을 아시아 태평양(서울)로 설정한 뒤, 데이터베이스 생성을 클릭합니다.

데이터베이스 생성 방식은 '표준 생성 방식'을 따를 것이고, 엔진 옵션은 'PostgreSQL'을 선택합니다. 각자가 사용할 데이터베이스를 선택하면 되겠습니다.

템플릿은 '프리 티어'를 선택합니다.

마스터 사용자 이름과 마스터 암호는, 데이터베이스에 접근하기 위한 아이디와 비밀번호에 해당합니다. 따로 적어두는 것이 좋겠습니다. 이후 인스턴스 구성과 스토리지 섹션은 기본값을 사용합니다.

퍼블릭 액세스를 '예'로 체크하여, 여러 환경(로컬 환경, 개발 환경 등)에서 편하게 DB에 접근할 수 있게 합니다. 그다음 데이터베이스 인증과 모니터링 섹션은 기본값을 유지합니다. 최종적으로 데이터베이스 생성 버튼을 클릭하면, RDS 생성이 완료됩니다.

3. 보안 그룹 설정 🎯

RDS에서 사용할 보안 그룹을 설정하기 위해, 'EC2-네트워크 및 보안-보안 그룹'으로 이동합니다.

보안 그룹 이름과 설명을 지정하고, 인바운드 규칙을 적용한 뒤 보안 그룹을 생성합니다.

RDS 수정으로 돌아가서, 생성한 보안 그룹을 적용합니다.

4. 파라미터 그룹 추가 🎯

파라미터 그룹은, 데이터베이스 엔진의 환경설정 묶음이라고 볼 수 있습니다.

이제 파라미터 그룹을 생성합니다.

생성된 파라미터 그룹의 이름을 클릭하면 다음 페이지로 이동하게 됩니다.

편집 버튼을 클릭한 뒤 아래의 속성들을 검색해서, 명시한 대로 설정합니다.

  1. character_set_client: utf8mb4로 설정
  2. character_set_connection: utf8mb4로 설정
  3. character_set_database: utf8mb4로 설정
  4. characater_set_filesystem: utf8mb4로 설정
  5. characater_set_results: utf8mb4로 설정
  6. character_set_server: utf8mb4로 설정
  7. collation_connection: utf8mb4_unicode_ci
  8. collation_server: utf8mb4_unicode_ci
  9. time_zone: Asia/Seoul

utf8mb4은 한글뿐만 아니라 이모티콘도 지원이 가능하도록 하는 설정이고, utf8mb4_unicode_ci는 정렬 / 비교 방식을 나타냅니다.

그런데 위 설정은 MySQL에 대한 파라미터 설정인데요, PostgreSQL에 정확히 대응되는 파라미터 설정에 대한 자료를 아직 찾지 못해서 우선 아무 설정 없이 마무리했습니다. 즉, 저의 경우 편집에서의 변경 사항은 없는 상태입니다.

DB 파라미터 그룹을 변경한 뒤에는 RDS의 DB를 재부팅해야만 정상적으로 적용됩니다.

5. RDS 접속 🎯

DBeaver로 RDS 인스턴스에 접속하겠습니다.

DBeaver는 다양한 데이터베이스를 관리할 수 있는 무료 오픈소스 SQL 클라이언트이자 데이터베이스 관리 도구입니다.

Host에는 RDS의 엔드 포인트 값을 복사해서 붙여 넣습니다. Username과 Password는 각각, 우리가 이전에 설정했던 마스터 사용자 이름과 마스터 암호에 대응됩니다.

연결이 잘 되었다면 위와 같은 '연결된 모습'을 확인할 수 있게 됩니다.

profile
Write a little every day, without hope, without despair ✍️

0개의 댓글