[DB] Ubuntu 20.04 LTS 외부 접속 허용

유콩·2021년 11월 6일
0

생각보다 프로젝트를 배포하는 일이 잦아 글을 정리해보았다. 서버 내 mysql-server 설치 및 DB 데이터 생성은 생략하였다.

  • Ubuntu 20.04 LTS 사용
  • AWS ec2

🐬 AWS DB 방화벽 설정

먼저, DB port로 사용할 값의 방화벽을 허용한다.

인스턴스 대시보드에 접속하여 보안그룹을 편집한다.

인바운드 규칙을 추가하여 원하는 포트의 방화벽을 허용한다. 나는 flask와 DB를 사용할 것이므로 flask의 5000번, DB의 3306번 포트를 허용하였다.

참고

🐬 DB 외부 접속 허용

해당 서버의 DB 자체의 외부 접속을 허용한다. mysql의 config 파일에서 bind-address의 값을 수정한다.

/etc/mysql/mysql.conf.d/mysqld.cnf

config 수정 내용이 적용되도록 mysql 을 재시작한다.

service mysql restart

참고

🐬 외부 접속 가능한 사용자 계정 생성

보안을 위해서 root가 아닌 다른 사용자 계정을 생성한다. 사용자 계정을 생성하기 위해 mysql 에 접속한다.

mysql -u root -p

원하는 아이디와 비밀번호를 입력하여 사용자 계정을 생성한다.

create user '아이디'@'%' identified by '비밀번호';

%는 현재 계정을 이용하여 모든 IP가 접속을 할 수 있다는 의미이다. 특정한 IP만 접속을 허용하려면 '원하는 IP.%'로 지정한다.

create user '아이디'@'192.168.%' identified by '비밀번호';

-> 192.168.xxx.xxx에서만 접속 가능

워크벤치로 외부 접속을 확인해본 결과 DB 접근이 가능하다.

참고

0개의 댓글