먼저 MySQL 데이터베이스 엔진을 사용하는 DB Instance를 생성한 뒤 로컬 환경에서 MySQL 클라이언트를 활용하여 DB Instance에 연결합니다.
다양한 옵션을 선택할 수 있습니다.
(연습 단계에서는 프리 티어 선택하기)
연결 옵션에서 퍼블릭 액세스 가능 부분을 예로 설정해야 합니다.
보안 그룹은 기본값이 default를 선택합니다.
데이터베이스 포트의 경우 3306대신 포트 번호 노출 방지를 위해 다른 숫자를 사용하는 것이 좋습니다.
ex) 13306
이후 데이터베이스 생성을 끝냅니다.
데이터베이스 생성까지는 생각보다 시간이 오래걸립니다. 따라서 상태 부분이 생성 중이 아닌 사용 가능까지 기다려야 됩니다.
이후 MySQL과 클라이언트를 활용해 DB Instance에 연결하는 과정을 진행합니다.
엔드 포인트의 주소는 RDS 연결 & 보안에서 확인할 수 있습니다.
터미널에서 MySQL을 통해 DB Instance에 접속합니다.
ex)
mysql -u [마스터 이름] --host[엔드포인트 주소] -p 13306(포트 번호) -p
정상적으로 작동하면 show databases를 입력했을 때 생성 초기 데이터베이스 이름으로 설정 해둔 것이 만들어진 걸 확인할 수 있습니다.
EC2 Instance에서 실행되고 있는 서버는 그 자체로 작동하고 있지만, 데이터베이스에 연결하지는 않았습니다.
서버의 환경 설정을 통해 지난 실습에서 생성한 RDS Instance에 접속하고, 클라우트 데이터베이스를 사용할 수 있게 해봐야합니다.
EC2 Instance에서 실행하고 있는 서버를 종료합니다.
pm2 stop
환경 설정 파일을 수정하기 위해 server 디렉토리로 이동한 뒤, nano를 통해 .env 파일을 열수 있습니다.
nano .env
ex) .env
DATABASE_HOST=엔드포인트
DATABASE_USER=admin
DATABASE_PASSWORD=1234
DATABASE_PORT=13306
환경 변수 수정 후 ctrl + x를 통해서 저장할 수 있습니다.
sudo npm start
명령어를 입력해 서버를 실행할 수 있습니다.
PM2를 이요하는 경우 아래 프로세스를 통해 실행해야 합니다.
authbind --deep pm2 start app.js
// authbind --deep pm2 stop app.js 프로세스 정지
서버를 실행하고 다시 S3 버킷의 엔드포인트 주소로 접속해 연결 테스트를 진행합니다.