RDS (Relational Database Service)
- AWS 클라우드에서 관계형 데이터베이스를 쉽게 설치 및 운영, 확장할 수 있는 웹 서비스
- 관리 용이
- 확장성, 비용, 보안 등 손쉽게 제어 가능
제공하는 DB 엔진
- Amazon Aurora
- PostgreSQL
- MySQL
- MariaDB
- ORACLE
- Micro SQL Server
RDS 생성
- 표준 생성 설정에 따라 생성
- 보안그룹 in-bound 규칙 추가
DB 연결하기
1. SSH 연결
- RDS에 연결된 EC2와 SSH 클라이언트를 통해 연결
2. AWS RDS 연결
- Host: endPoint
- User: RDS 생성시 설정한 마스터 사용자 이름
- Password: RDS 생성시 설정한 마스터 사용자 비밀번호
3. SSH 터널링 설정
alias [터널링 명령어]="ssh -N -L [port]:[host name]:[port] [host_name]@[ec2 퍼블릭 IPv4 DNS]: -i [pem 파일 위치] &"
NestJS와 DB 연결하기
NestJS - Database 관련 문서
- MySQL 설치
$ npm install mysql --save
- ConfigModule 설치
$ npm i --save @nestjs/config
- TypeOrmModule을 이용해 DB 구성 설정
import { Module } from '@nestjs/common';
import { TypeOrmModule } from '@nestjs/typeorm';
import { User } from './users/user.entity';
@Module({
imports: [
TypeOrmModule.forRoot({
type: 'mysql',
host: 'localhost',
port: 3306,
username: 'root',
password: 'root',
database: 'test',
entities: [User],
synchronize: true,
}),
],
})
export class AppModule {}
TypeOrmModule.forRoot({
type: 'mysql',
host: process.env.RDS_HOST,
port: parseInt(process.env.RDS_PORT),
username: process.env.RDS_USERNAME,
password: process.env.RDS_PASSWORD,
database: process.env.RDS_NAME,
entities: ['dist/**/*.entity{.ts,.js}'],
}),