-
6월 15일 - elasctic beanstalk rdsTIL(미사용) 2020. 6. 15. 20:44
기본 정보
- elastic beanstalk(eb) 환경에 데이터 인스턴스를 추가할 수 있도록 RDS와의 통합 제공을 한다.
- 환경의 일부인 데이터베이스 인스턴스는 환경을 종료하면 인스턴스도 종료된다.
DB 인스턴스 생성하기
1. eb 콘솔에서 DB를 생성하고자 하는 환경을 클릭한다.
2. '구성' 탭에 들어간다.
3. 데이터베이스 항목에서 '편집'을 클릭한다.
4. 자신이 원하는 사양에 맞게 DB를 설정한다.
내 사양
- 엔진: postgresql (mongodb 하려고 했는데 생각해 보니 그건 NOSQL이라 없잖...)
- 엔진 버전: 가장 최신
- 인스턴스 클래스: db.t2.micro (t2가 개발용 혹은 테스트용으로 적합하다고 합니다.)
- 저장: 10GB
- 사용자 이름: 적지않겠음
- 암호: 적지않겠음
(사용자 이름, 암호는 아래에서 사용할 예정이니 잘 생각할 것)
- 보존: 삭제 (딱히 스냅샷은 없어도 ㄱㅊ)
- 가용성: 낮음 (무슨 의미인지는 잘 모르겠다..)
DB 생성이 끝나고, 생성된 환경변수
DB 생성이 완료되면 다음 환경 변수를 통해 DB 인스턴스의 호스트 이름과 기타 연결 정보를 사용할 수 있다.
RDS_HOSTNAME: DB 인스턴스의 호스트 이름
RDS_PORT: DB 인스턴스가 연결을 허용하는 포트입니다. DB 엔징에 다라 기본 값이 다르다.
RDS_DB_NAME: 데이터베이스 이름, ebdb입니다.
RDS_USERNAME: 데이터베이스에 대해 구성된 사용자 이름입니다.
RDS_PASSWORD: 데이터베이스에 대해 구성된 암호입니다.
DB와 백엔드 연결
1. npm install pg (필요 시 npm install -D @types/pg)
- pg는 node.js환경에서 postgresql DB를 연결할 때 필요한 모듈
2. 아래와 같이 코드 작성
- process.env.~~~~ 변수는 위에서 설명한 환경변수이다.
- client.query를 통해 DB에 쿼리를 날리며, SELECT NOW()는 현 시간을 조회하는 쿼리이다.
3. 다시 빌드하고 배포
4. 환경 들어가서 로그를 확인해 보면 현재 시간이 찍힌 것을 볼 수 있다.
테이블 생성 등 DB 조작은 어떻게?
이렇게 생성된 DB를 조작하는 방법은
1. postico 설치
2. postice 실행 및 New Favorite 클릭
3. 아래 항목을 채운다.
Nickname: 하고싶은 거
host: 생성한 DB의 엔드포인트(rds->데이터베이스를 들어가면 확인할 수 있음)
User: 맨 처음 eb에서 db를 생성할 등록한 유저 이름
Password: 맨 처음 eb에서 db를 생성할 등록한 패스워드
database: ebdb(eb에서 생성한 DB 기본 이름)
4., VPC 보안 그룹 수정
rds -> 데이터베이스 -> 보안 VPC 보안 그룹 링크 클릭 -> 인바운드 규칙 탭에서 편집 클릭 -> 유형 - postgerSQL, 소스 - 내 아이피로 설정
도큐멘트 문서 및 참고글입니다. 감사합니당.
https://docs.aws.amazon.com/ko_kr/elasticbeanstalk/latest/dg/using-features.managing.db.html
와... 내가 DB 만들고 DB 연결까지 하다니... 이것은... 검은사막 공부법 덕분... 검은사막하러 가야지 히힣
다음 할일
- 클라이언트에서 api-server로 요청하기
'TIL(미사용)' 카테고리의 다른 글
7월 28일 - next.js styled JSX, :global() (0) 2020.07.28 6월 11일 - express elastic beanstalk 배포하기 (0) 2020.06.11 6월 9일 - elastic beanstalk next.js 배포 문제 (0) 2020.06.09 6월 8일 - Elastic Beanstalk next.js (1) 2020.06.08 6월 4일 - S3에 React 배포(정적 웹사이트) (0) 2020.06.04