[이전 포스트] RDS 생성하기
포스트 목적
이번에는 앞서 포스트에서 생성한 RDS 에 EC2 인스턴스에서 접속하는 방법에 대해서 정리해봅니다. 우선 SSH 클라이언트를 통해 EC2 인스턴스에 접속해둔 상태임을 감안하고 진행합니다.
RDS 의 엔드포인트, 포트번호, 데이터베이스 이름 등 확인하기
RDS 검색 후 좌측 카테고리에서 [데이터베이스] 를 클릭하고, 우측 중단에 [연결 및 보안] 부분을 확인하면 아래와 같이 엔트포인트와 포트를 알 수 있다. 이 부분을 어딘가에 별도로 정리해두자
그 다음 [항목] 탭을 클릭한 뒤 데이터베이스 이름과 사용자 이름을 확인해두자. 여기서 마스터 사용자 이름과 암호가 사용자 이름과 비밀번호에 해당한다. 다만 비밀번호의 경우 보안을 위해 표시가 되지 않은 상태이다.
만일 앞서 생성 시 사용한 비밀번호를 까먹었다면, 우측 상단에 보면 [수정] 버튼이 보이는데 이를 클릭하면 새로운 비밀번호를 재설정 할 수 있으니 참고해두자
EC2 인스턴스에서 RDS Postgres 접속하기
앞서 정보들을 다 확인했다면, SSH 클라이언트를 통해 EC2 인스턴스에 접속해야 한다. 여기서는 접속이 완료 되었다는 것을 가정하고 진행한다.
이미지가 잘 보이지 않는데, 이를 다시 정리하면 다음과 같은 형식으로 입력해야 한다.
psql -h RDS엔드포인트 -p 포트번호 -U 마스터이름 -d 데이터베이스이름
그러면 다음 화면으로 마스터 비밀번호(데이터베이스 접속 암호)를 입력하라는 메시지가 뜨는데, 입력하고 엔터를 누른다.
접속에 성공하면, 아래와 같이 접속한 데이터베이스 이름으로 앞 부분이 바뀌는 걸 볼 수 있다.
데이터베이스 호스트 주소 바꾸기
원래 기존 EC2 내부에서 데이터베이스를 구동할 때는 서버의 호스트에 해당하는 부분을 데이터베이스 호스트로 사용했었다. 하지만 이부분을 RDS 의 엔드포인트로 변경해주어야 정상적으로 요청을 처리할 수 있다.
본인의 경우에는 .env.local 에서 호스트를 지정해두고 내보내는 식으로 사용하고 있는데, 해당 env 를 변경하기 위해 다음 명령어를 사용했다.
-- /home/ec2-user/프로젝트폴더/ 에서 아래 명령어 입력
sudo vi .env.local
## 해당 편집창에서 데이터를 변경하려면 [i] 키를 누른다.
## 변경 후 나올 때는 [ESC] 를 누르고, [:wq] 을 입력하여 변경내용을 저장하고 vi 편집창을 종료.
그러면 .env.local 내에 작성된 내용들을 볼 수 있는데, 이중에서 POSTGRES_HOST 와 POSTGRES_DB, POSTGRES_USER, POSTGRES_PW 부분을 RDS 생성 시 지정한 엔드포인트, 데이터베이스 이름, 마스터 유저 이름 및 암호로 각각 변경해주었다.
마무리
여기 까지하면 RDS 와 프로젝트 서버 간에 연결이 끝났다. 나머지는 로컬에 있는 데이터를 백업한 파일을 RDS에 등록하는 등의 필요한 작업을 수행하면 된다.
[다음 포스트] Window 환경의 데이터베이스를 WSL Ubuntu 로 백업하기