[ Server ] AWS RDS 구축

황승환·2021년 7월 13일
0

Server

목록 보기
11/23
post-custom-banner

AWS RDS 구축

AWS RDS는 AWS에서 제공하는 관계형 데이터베이스 시스템으로 데이터베이스를 분리하여 관리할 수 있도록 한다.

AWS RDS 구축

  1. AWS 관리 콘솔에 들어간다.
  2. RDS를 선택한다.
  3. 데이터베이스 생성을 눌러준다.
  4. 본인은 엔진으로 MySQL을 선택했다.
  5. 프리 티어를 선택해주면 요금을 내지 않고 실습할 수 있다.
  6. 설정을 채워준다. 마스터 사용자 이름과 마스터 암호는 잊지 않도록 주의한다.
  7. 프리 티어는 버스터블 클래스만 선택 가능하고, 스토리지 최대 크기가 20GB이므로 20GB로 설정해준다.
  8. 추가 구성을 눌러 데이터베이스 옵션을 설정해준다.
  9. 모든 설정이 끝나면 데이터베이스 생성 버튼을 눌러준다.
  10. 데이터베이스가 완전히 생성되려면 어느정도 시간이 걸린다.
  11. 기다리는 동안에 보안 그룹을 설정한다. 보안 그룹을 눌러준다.
  12. 내 IP와 EC2에서 이 데이터베이스에 접속할 수 있도록 설정할 것이다. default 보안 그룹은 수정이 되지 않기 때문에 보안 그룹을 생성해줘야 한다. 보안 그룹 생성 버튼을 누른다.
  13. EC2로 잠시 넘어가서 EC2의 보안 그룹을 복사한다.
  14. 다시 보안 그룹 생성으로 돌아와서 다음과 같이 설정해주고, 인바운드 규칙을 추가하여 사용자 지정에 EC2보안 그룹을 넣어준다.
  15. 다음과 같이 보안 그룹이 설정 되었다.
  16. 새로 만든 보안 그룹은 설정했지만 아직까지는 데이터베이스가 default보안 그룹과 연결되어 있다. 새로 만든 보안 그룹으로 연결을 바꾼다. 다음 페이지에서 수정을 눌러준다.
  17. 보안 그룹을 새로 만든 그룹으로 바꿔준다.
  18. 즉시 적용을 선택하고 수정 버튼을 눌러준다. (본인은 수정을 한 뒤에 캡쳐를 위해 다시 페이지에 방문하여 버튼이 누를 수 없게 나타나 있다.)
  19. 보안 그룹이 변경된 것을 확인할 수 있다.
  20. Workbench를 켜서 새로운 연결을 추가해준다. hostname에는 위에 보이는 화면에 있는 엔트포인트를 복사하여 넣어준다.

타임존 & 인코딩 방식 설정

타임존 설정

  1. 파라미터 그룹에 가서 파라미터 그룹 생성 버튼을 눌러준다.
  2. 다음과 같이 파라미터 그룹 세부 정보를 설정하고 생성 버튼을 눌러준다.
  3. 생성된 파라미터 그룹을 눌러준다.
  4. time_zone을 검색하여 다음과 같이 Asia/Seoul로 설정한 뒤에 계속 버튼을 눌러준다.
  5. 변경 사항 적용 버튼을 눌러준다.

인코딩 방식 설정

  1. Workbench에서 show variables like 'c%';를 실행하여 다음과 같이 데이터베이스 문자형 관련 설정을 확인한다. uft8로 설정이 안된 것을 볼 수 있는데 이를 변경해줘야 한다.
  2. 타임존과 같은 방법으로 character_set을 검색하여 모든 것들을 uft8로 설정한 뒤 계속 버튼을 눌러준다.
  3. 변경 사항 적용 버튼을 눌러준다.
  4. Collation도 같은 방법으로 uft8-general_cl로 설정하고 계속 버튼을 눌러준다.
  5. 변경 사항 적용 버튼을 눌러준다.

파라미터 그룹 적용

앞에서 설정한 파라미터 그룹은 새로 만든 파라미터 그룹이다. 현재 데이터베이스는 default 파라미터 그룹으로 설정되어 있으므로 이를 바꿔 적용시킨다.

  1. 데이터베이스로 돌아가 생성한 데이터베이스를 선택하고 수정 버튼을 눌러준다.
  2. DB 파라미터 그룹을 새로 만든 파라미터 그룹으로 설정해준다.
  3. 즉시 적용을 선택하고 DB 인스턴스 수정 버튼을 눌러준다.
  4. 변경된 사항을 적용시키기 위해 데이터베이스를 재부팅한다. 이는 시간이 조금 걸릴 수 있다.
  5. 타임존이 제대로 적용 되었는지 확인하기 위해 select @@time_zone, now();를 실행시킨다. 다음과 같이 Asia/Seoul로 적용된 것을 확인할 수 있다.
  6. 인코딩 방식이 utf8로 설정 되었는지 확인하기 위해 show variables like 'c%';를 실행한다. character_set이 모드 uft8로 설정된 것을 확인할 수 있다.
  7. 한글이 잘 출력되는지 확인하기 위해 다음과 같이 test table을 생성한다.
  8. table안에 '테스트'라는 텍스트 데이터를 넣어주고 test table을 조회하면 다음과 같이 한글이 잘 출력되는 것을 확인할 수 있다.

EC2에서 RDB 접속

마지막으로 EC2에서도 RDB에 잘 접속이 되는지 확인해본다.

  1. 터미널을 통해 EC2서버에 접속한다.
  2. 본인은 MySQL이 설치되어 있기 때문에 바로 MySQL을 실행한다. 이때 RDB의 MySQL에 접속해야하기 때문에 다음과 같이 mysql -u (사용자명) -p -h (Host주소) 명령을 실행한다. 여기서 Host주소는 RDB의 엔트포인트를 입력한다.
  3. 접속에 성공했지만 정확한 확인을 위해 다음과 같은 명령을 실행한다. 한글 출력을 테스트하기 위해 만들었던 test table이 잘 있는 것을 확인할 수 있다.
profile
꾸준함을 꿈꾸는 SW 전공 학부생의 개발 일기
post-custom-banner

0개의 댓글