Notice
Recent Posts
Recent Comments
Link
«   2026/05   »
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
31
Tags
more
Archives
Today
Total
관리 메뉴

김쥬르에 개발일지

Amazone EC2 DB연동(Linux) 본문

AWS

Amazone EC2 DB연동(Linux)

김쥬르 2024. 1. 19. 18:55

이번엔 EC2 서버를 Linux 환경으로 생성한 뒤

공용 DB를 생성해보록 하겠습니다.

 

 

 

EC2 화면에서 인스턴스 시작을 눌러줍니다.

 

이름은 자유롭게 기재해주세요.

OS에 경우 Ubuntu로 진행할 예정이지만

RedHat,SUSE,Debian 등 정말 많은 Linux OS가 존재하는데
https://secretpoten.tistory.com/31

참고하여 차이점을 알고 공부하셔도 좋을거같습니다.

 

키 페어는 윈도우 구축때 사용하였던 test를 사용합니다.

나머지 사항은 디폴트 값으로 둔후 인스턴스 시작을 클릭합니다.

 

 

새로 생성된 Linux 인스턴스를 확인할 수 있습니다.

 

다음은 Linux 인스턴스 접속을 위해 일반적인 SSH 접속용 프로그램이 필요하며

MobaXterm 이라는 SSH 툴을 다운받아 사용하겠습니다.

https://mobaxterm.mobatek.net/download-home-edition.html

 

다운받아 실행해줍니다.

먼저 초기설정으로 한글 인코딩 설정을 해줍니다.

 

 

순서대로 눌러 진행해주세요.

다음은 Linux 인스턴 SSH에 접속하기 위해 설정해보겠습니다.

 

순서대로 진행해주세요.

3번은 AWS에서 인스턴스한 Linux 서버에 퍼블릭 IPv4를 넣어주세요.

4번은 ubuntu 라고 써주세요.

5번은 인스턴스를 생성하면서 설정한 pem 파일을 업로드 해주시면됩니다.

 

오류없이 위 화면처럼 나오면 접속이 완료된것입니다.

 

이제 MySQL 설치를 해보겠습니다.

sudo apt update
sudo apt install mysql-server

MySQL 포트 설정

sudo ufw allow mysql

MySQL 접속을 위한 준비

1. MySQL에 접근하기 위한 유저 만들기

EC2 인스턴스 서버에서 root계정으로 접속해서 계정을 만듭니다.

$ sudo mysql

mysql> create user 'admin'@'%' identified by '비밀번호';

//만든 계정 확인
mysql> use mysql;
mysql> select user, host from user;

 

그리고 admin계정으로 조회할 수 있는 데이터베이스 및 테이블을 생성합니다.

mysql> create database test;
mysql> use test;
mysql> create table ttest(test1 varchar(100), test2 varchar(100));
mysql> insert into ttest(test1,test2) values('10','20');
mysql> insert into ttest(test1,test2) values('20','30');

2. 데이터베이스 접근 권한 주기

mysql> grant all privileges on test.* to 'admin'@'%';
mysql> flush privileges;
mysql> show grants for 'admin'@'%';

 

test라는 데이터베이스에 대한 모든 권한을 admin 계정에게 준 것입니다.
그리고 flush privileges는 grant라는 테이블을 즉시 리로드해서 변경 사항을 즉시 반영하게 하는 명령어입니다.
이로써 admin은 test에 대한 모든 권한을 가지게 되었습니다.

 

3. MySQL 외부 접속 설정

원격 접속하기 위한 계정 설정은 끝났고 이제 원격 접속을 가능하게 MySQL 설정 파일을 변경하여야합니다.

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

 

안에 bind-address가 127.0.0.1로 되어있는데, 외부 접속을 허용해주기 위해 이를 0.0.0.0으로 바꿔줍니다.

(i를 누르면 편집이 가능하고 편집이 완료되면 ESC버튼을 누릅니다)

(그후 :wq 를 입력해준후 Enter를 눌러 저장하면서 편집기를 나와줍니다.)

 

AWS EC2 인스턴스에서도 인바운드 규칙을 설정해주어야합니다.

 

AWS EC2에 Linux 인스턴스에 보안그룹에 인바운드 규칙에 들어가 MySQL에 대한 규칙을 추가해줍니다.

이제 서버에서 생성한 데이터베이스를 로컬에서 접속하도록 하겠습니다.

mysql workbench에 접속해줍니다.

 

순서대로 진행해줍니다.

1번 : 눌러 Connction를 진행해줍니다.

2번 : 알아볼수 있게 이름을 정해줍니다.

3번 : 인스턴스에 퍼블릭 IPv4 주소를 입력해줍니다.

4번 : 생성하고 권한을 줬던 admin으로 등록해줍니다.

5번 : 계정 생성에 설정한 비밀번호를 입력해줍니다.

6번 : 테스트 커넥션을 통해 위와 같은 화면이 나와야합니다.

7번 : OK를 눌러 최종적으로 커넥션을 진행합니다.

 

 

셀렉트문을 통해 계정 생성과 같이 생성했던 테이블과 내용들이 정상적으로 조회되는것을 확인할 수 있습니다.

'AWS' 카테고리의 다른 글

Amazone EC2 DB구축(Windows)  (1) 2024.01.10
Amazon EC2  (1) 2024.01.04