Server/AWS

10. ec2와 RDS 연결하기, 외부접속(타임존 및 UTF-8 파라미터) 설정하기

seongduck 2022. 8. 13. 16:41
  1. ec2에 앞서 구축한 RDS를 연결해보자
  2. RDS 외부접속을 위한 설정을 해보자
  3. RDS 파라미터 설정도 해보자
  4. 타임존 및 UTF-8 설정해보자

RDS 운영 환경에 맞는 파라미터 설정

RDS를 구축했으므로 필요한 설정, 파라미터 설정을 진행해야 한다.

 

1. EC2와 연결

  • 우리는 앞서 만들어놓은 EC2와 방금 생성한 RDS를 연결시켜야 한다.
  • 그러기 위해서는 ec2에서 RDS로 접근 가능하게 하기 위해 포트를 열어주는 과정이 필요하다.
  • 앞서 생성한 보안 그룹을 클릭해서 접근하자.

 

  • 인바운드 규칙 편집에 들어가서 MySQL/Aurora를 선택하고 포트를 열어준다.
  • 즉, 보안그룹에서 MySQL/Aurora 부분을 추가해주는 것이다.
  • 본인의 IP로 설정해도 좋고 어느 와이파이를 사용하더라도 접속하기 위해 나는 이와 같이 설정했다.
  • 우선은 EC2에서 RDS의 접근하기전 사전 작업을 먼저 실행하겠다.

2. 타임존 설정

RDS의 시간을 서울 시간으로 수정한다.

Amazon RDS의 파라미터 그룹을 클릭한다.

기본적으로 default 파라미터가 존재하지만, default 파라미터 그룹은 수정이 불가능하기 때문에 새로운 그룹생성을 한다.

필자는 'udemy-db-group1'이라고 생성한다.

 

생성한 파라미터 그룹을 클릭하여 들어가서 time_zone 이라고 검색한다.  (필터링 부분)

파라미터 편집 버튼을 누르고 Asia/Seoul로 설정해주고 변경 사항 저장한다.


3. Characater set utf-8 설정

  • 한글데이터가 깨지지않고 잘 출력하기 위해 utf-8 인코더를 설정해야 한다.
  • 필터링에서 character_set 을 검색
  • 타임존 설정했던 과정과 마찬가지며 검색 키워드를 character_set으로 하고 해당 요소들을 모두 utf8mb4로 설정해줍니다.
  • (utf8로 설정해도 상관없음)

밑에 character_set 더 있음 바꿀 수 있는 것들 모두 utf8mb4로 수정

utf8과 utf8mb4 모두 한글이 깨지지 않게 인코딩해주지만 차이가 있습니다.
utf8은 이모지를 저장할 수 없지만, utf8mb4는 이모지를 저장할 수 있습니다.
utf8은 가변 3바이트를 사용하는데 반해서,
utf8mb4는 내부적으로 한 문자를 표현하는데 4바이트를 사용합니다.
3바이트만 사용하는 utf8은 이모지를 저장할 수 없습니다.

collation

이번에는 collation을 검색하여 collation부분을 모두 utf8mb4_general_ci로 바꿔준다.

* collation_connection : utf8mb4_general_ci**
* collation_server : utf8mb4_general_ci**

  • 위의 파라미터 그룹 설정을 새로 만든 파라미터 그룹에 설정을 했다.
  • 하지만 RDS의 파라미터 그룹은 default가 기본으로 설정되어 있을 것이다.
  • RDS의 파라미터 그룹을 'udemy-db-group1'으로 설정이 필요하다.

 

데이터 베이스 선택 화면으로 가서 앞서 생성한 RDS 데이터 베이스를 선택해주고,

수정 버튼을 누른다.

 

이렇게 default에서 이와 같이 바꿔주고

 

즉시적용하고 수정!

수정되는데 어느정도 시간이 걸린다!

 

수정이 완료되었으면 재부팅!! 재부팅을 하는데 시간이 어느 정도 걸립니다.

수정이 완료되었으면 재부팅!!

재부팅 또한 어느정도 시간이 걸린다.


4) ec2에서 RDS 접속

  • ec2 인스턴스 서버에 putty로 들어가보자
  • 필자는 이미 전의 실습(앞서 블로그 글)에서 mysql를 설치했으므로 MySQL을 설치할 필요가 없다.
  • RDS의 MySQL에 접속하기 위해서 다음과 같이 명령어 입력해서 접근합니다.
우선 프티에 접속해서 (ubuntu@본인인스턴스ip)
ex) 본인ec2@38.656.115.***

 

그리고 다시 AWS 홈페이지에 들어가 데이터베이스를 클릭하고 연결 & 보안에 있는 엔드포인트를 복사해두자.

<나의 엔드포인트>

 

Putty에서 RDS 접근

mysql -u master -p -h ***.**.**.rds.amazonaws.com

ex) mysql -u master -p -h 앞서 복사한 본인 엔드포인트

 

비밀번호를 입력하고 접속하면

mysql (RDS)에 접속하였고 

 

show databases;

잘 진행되었다.