티스토리 뷰

2. SQL

AWS RDS 인스턴스 생성

패스트코드블로그 2020. 9. 5. 09:34

2020년 09월 05일 최초 작성

2023년 01월 30일 RDS 스토리지 자동생성 부분을 교체 -> 프리티어에서 DB생성하자 바로 요금 발생 이슈 제거

 

1. RDS 인스턴스 생성
2. 보안그룹 생성
3. 파라미터그룹 생성
4. 개발툴에서 application.yml 접속정보 RDS 속성값으로 수정
5. (옵션) 인텔리제이 유료 버전에서 RDS 에 접속

 

1. RDS 인스턴스 생성

 

AWS에 로그인 후 서비스에서  RDS 를 선택한다. [그림1.1]

표준생성 / 마리아DB / 프리티어 선택한다. [그림1.2]

프리티어는 약간 시간차를 두고 보이는 경우가 있다.DB 식별자 (이하 DBname), 마스터이름 (이하 Username), 마스터비번 (이하 Password) 를 입력한다. [그림1.3]

예시에서는 편의상 같은 값을 주었다. DBname를 클릭하면 연결설정값인 엔드포인트, 포트 3306 그리고 VPC 보안그룹(이하 SecurityGroup) 설정여부가 보인다.[그림1.4]

 

[그림1.1]

[그림1.2]

 

[그림1.3]

2023년 01월 30일 기준. 디폴트가 db.t3.micro 로 변경되어 있음. 

수동으로 변경. 과금 회피 위함.

2023년 01월 30일 기준, 스토리지 파트에서 할당된 스토리지 부분 디폴트값이 20에서 200으로 증가함.

이를 수동으로 20(혹시...사용될 경우 대비)으로 하고, 자동 조정 부분을 체크해제시킴. 

단, 이렇게 되면 테이블에 insert 되는 더미값을 일정 카운트 이상 입력할 수 없음을 인지.

위 화면 진행 중에 아래 부분처럼 클릭 후 자동 백업 활성화합니다 체크해제

 

다음과 같은 상태로 조정 후 저장함.

[그림1.4]

2. 보안그룹 생성

 

SecurityGroup 설정하기 위해 페이지이동을 할 것이다. 이 과정은 잘못하면 DB 해킹의 위험으로 과금폭탄이 발생할 여지가 있으므로 주의해야한다.우측상단 SecurityGroup 설정으로 간다. [그림2.1]

SecurityGroup 생성하고 인바운드 규칙을 추가한다. 외부에서 접속하는 것을 방지하기위해(보안) 로컬에서 개발하는 동안은 개인 IP 주소로 설정한다.[그림2.2] 하지만 지금 설정이 EC2에서 접속하는 과정에 있다면, EC2에서 접속할 수 있도록 다음과 같이 추가한다. 그리고 로컬(Heidi)에서 접속을 막도록 개인 IP 를 지운다.[그림-6B] 아웃바인드를 작성한다. 위치무관을 추가해야 ubuntu 에서 apt-get update 가 적용된다.[그림2.2]

규칙추가 후 다시 원래 화면으로 돌아온다.[그림2.3]

우측 상단의 수정을 클릭한다.[그림2.4]

SecurityGroup 셀렉트박스에서 생성한 식별자를 선택한다. 퍼블릭엑세스를 "예"로 선택한다. 마이너 버전으로 변경시 요금 발생한다. 포트폴리오에서는 사용할 일 없으므로 아니요로 처리한다. [그림2.5]

스냅샷 설정을 디폴트 상태에서 아래처럼 바꾸지 않으면, 백업샷(스냅샷)이 처리할 때 마다 0.07 달러 요금이 free 에서도 발생한다. 이는 기업형에서 만일의 DB 에러시에 필요한 것으로 단순 포트폴리오에서는 필요가 없다. 따라서 아래와 같이 사용하지 않도록 설정한다. [그림2.6]

보안 그룹에서 방금 만든 그룹으로 변경한다.계속을 누른다. "즉시 적용" 을 선택한다. 알림으로 바뀌어도 그냥 설정하고 완료한다.[그림2.7]

 

[그림2.1]

[그림2.2]

[그림2.3]

[그림2.4]

 

[그림2.5]

[그림2.6]

 

[그림2.7]

 

 

 

3. 파라미터그룹 생성

 

좌측사이드바에서 파라미터 그룹(이하 Parameters)에서 파라미터 편집으로 넘어간다. 검색창에 char, coll 을 각각 입력 후 셀렉트박스에서 utf-8과 utf-8_general_ci 를 선택한다. [그림3.1]

생성후 반드시 RDS 수정으로 가서 다음 세가지가 적용이 되었는지 확인한다. [그림3.2]

  • SecurityGroup 이 커스텀으로 변경되었는가?
  • 퍼블릭 액세스가 예인가 ?
  • Parameters 가 커스텀으로 변경되었는가 ?

주의할 점이 있다. 마리아DB 하이디(Heidi)툴 로 작업시에는 Latin 을 UTF-8 로 변환해야 한글깨짐을 방지한다.

또한 Parameters utf-8 적용 후에도 db에는 적용이 안 되는 에러가 발생한다.
쿼리콘솔에 다음 쿼리를 작성한다.

ALTER DATABASE 디비이름
CHARACTER SET = 'utf8'
COLLATE = 'utf8_general_ci';

설정 전 작성된 테이블은 utf8 적용을 받지 않으므로,  변경전 테이블 삭제 후 다시 생성해야 한다.

 [그림3.1]

 

 

 

[그림3.2]

 

 

4. 개발툴에서 application.yml 접속정보 RDS 속성값으로 수정

 

소스코드로 가서 yml 파일에 변경된 설정값을 입력해야 한다. 예시는 [코드-1]를 참조한다.

 

 

5. (옵션) 인텔리제이 유료 버전에서 RDS 에 접속

 

인텔리제이(유료)에서 RDS 에 접속하는 설정이다. 해당 툴을 사용하지 않으면 스킵한다.[그림-14]


[그림-14]

 

 

 

댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/04   »
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
글 보관함