개발 일지

RDS 프리티어 생성 (+ 파라미터 그룹, 보안 그룹 설정) 본문

AWS

RDS 프리티어 생성 (+ 파라미터 그룹, 보안 그룹 설정)

junjun_ 2022. 12. 5. 17:13

toyproject 만들 때 RDS를 사용하는데  RDS를 생성할 때마다 매번 설정을 찾아보게 되어서 한번 정리해 두려고 합니다.

 

간단하게 정리하면 아래와 같습니다.

  • 스토리지: 할당 스토리지 최소 설정, 스토리지 자동조정 체크 해제
  • 퍼블릭 액세스 허용(로컬에서 접속이 필요할 시)
  • 추가 구성: DB이름 설정, 자동 백업 체크 해제
  • RDS 생성 완료
  • 파라미터 그룹 설정 ( time_zone, character_set, collation)
  • 보안 그룹 설정
  • 생성한 RDS에 적용

 


 RDS 생성하기 

프리티어로 만들어도 과금이 일어날 수 있기 때문에 과금이 일어날 수 있는 설정

다른 설정들은 그대로 두고 스토리지, 추가 구성의 백업 설정과 만 바꿔주도록 하겠습니다.

 

기본 설정

원하는 DB와 버전을 선택 후 프리티어를 선택합니다 

 

 

DB 식별자, 사용자 ID, 암호를 설정합니다

 

스토리지 

할당된 스토리지를 최솟값으로 설정해두고 동적으로 조정 안되게 자동조정 활성화를 체크 해제시켜 줍니다.

 

퍼블릭 액세스 

local에서 접속할 것이기 때문에 허용으로 바꿔줍니다.

보안 그룹 설정을 통해 내 IP를 제외한 다른 연결들은 막을 것입니다.

 

추가 구성 

DB이름을 작성하고, 자동 백업이 체크되어 있으면 해제해 줍니다.

자동 백업의 경우 스냅샷이 생성되고 스냅샷 보관 비용이 발생하게 됩니다. (사용하고 있던 모든 인스턴스를 삭제했음에도 언제부턴가 달마다 계속 소액이 계속 과금됐었는데 RDS스냅샷이 남아있었기에 발생했던 과금이었습니다)

 

저는 토이 프로젝트용으로 사용할 것이기 때문에 자동 백업은 해제해 주겠습니다.

파라미터 일단 기본으로 두고, 밑에서 따로 만들어 적용시키겠습니다.

 

DB는 이 정도 설정만 체크해서 생성해 주면 됩니다.

 

파라미터 그룹 설정 

다음으로 파라미터 그룹을 설정하겠습니다. 

  •  time_zone을 Asia/Seoul로 변경
  • character_set을  utf8mb 4로 변경(DB의 인코딩을 UTF-8로 변경해주어야  한글 깨짐 현상이 발생하지 않습니다.)
  • collation을 utf8 mb4_general_ci로 변경

 

  1.  좌측 메뉴에 파라미터 그룹 -> 파라미터 그룹 생성
  2. 파라미터 그룹 패밀리 - 해당하는 버전 선택(DB 버전과 맞혀줘야 합니다), 그룹명 / 설명 입력 -> 생성
  3. 생성 완료 후 생성된 파라미터 그룹에 들어가서 -> 파라미터 편집
  4. 검색창에 time_zone을 검색 후 Asia/Seoul로 변경해줍니다 
  5. 검색창에 collation을 검색 후 모두 utf8 mb4_general_ci로 변경해 줍니다. (collation_connection, collation_server)
  6. 검색창에 character_set을 검색 후 모두 utf8mb 4로 변경해준 후 -> 변경 사항 저장 

 

MariaDB 일 경우 버전에 따라서 character_set_databasecollation_connetion 이 변경이 안될 수도 있습니다. 그럴 경우 아래 더보기를 참조하시면 됩니다.

더보기

MariaDB 오류사항
위에서 적용한 파라미터 중 character_set_database, collation_connetion 2가지 항목은 MariaDB에서만 RDS 파라미터 그룹으로는 변경이 되지 않습니다. 때문에 위 두 항목은 DB에 접속 헤서 직접 쿼리를 날려주어야 합니다

 

ALTER DATABASE 데이터베이스명 CHARACTER SET = 'utf8mb4'
COLLATE = 'utf8mb4_general_ci';

 

show variables like 'c%';

위 쿼리로 변경사항이 적용되었는지 확인 가능합니다.

 

 

보안 그룹 설정 

AWS RDS에서 DB를 최초 생성할 때는 DB를 생성했을 때의 IP 주소만 접속 허용이 됩니다. 따라서, 외부에서도 접속을 허용하려면 보안 그룹에 인바운드 설정해줘야 합니다 

 

보안 그룹을 하나 새로 만들어서 허용할 IP 설정을 해보겠습니다

aws 상단에 보안 그룹을 검색하고, 보안 그룹을 클릭합니다.

 

 

보안 그룹 생성을 클릭하고 보안 그룹 이름과, 설명을 입력합니다.

 

 

 

 

밑으로 내려서 인바운드 규칙에 내 IP를 추가 후 생성합니다.

DB 접속 IP가 바뀔 경우 이 보안 그룹의 인바운드 규칙을 추가 or 변경해주시면 됩니다.

 

 

생성한 파라미터 그룹, 보안 그룹 RDS에 적용

위에서 생성한 파라미터 그룹과 보안 그룹을 RDS에 적용시켜 줘야 완료입니다

RDS -> 데이터베이스 -> 적용시킬 DB에 -> 수정으로 들어가서 

 

만들어준 보안 그룹으로 변경해 주고 

 

파라미터 그룹도 변경해 준후 맨 아래 계속을 클릭합니다

 

 

즉시 적용으로 체크를 바꿔 주고 인스턴스 수정을 누르면 끝입니다!