aws aurora and RDS로 postgresql DB를 생성 후 nestjs에서 typeorm으로 DB를 연동하는 방법에 대한 정리를 포스팅 하겠습니다.
1.Aurora and RDS 접속
상단 헤더에 aws검색창에 Aurora and RDS입력 후 아래 사진에 나온 페이지로 접속합니다. 데이터베이스 생성을 눌러줍니다

2. 데이터베이스 생성방법
손쉬운 생성과 postgresql을 선택하고 프리티어를 선택해 줍니다. 그리고 DB인스턴스의 식별자 이름 작성 하면 됩니다.

사진에 나온 대로 따라 선택해주면 됩니다. aws secrets manager로 관리해도 되지만 뭔가 복잡할 것 같아서 일단 자체 관리 선택하였고 마스터암호는 따로 적어두었습니다. nestjs에서 db를 연결할 때 마스터 사용자 이름을 넣게 됩니다.

EC2 컴퓨팅 리소스에 연결 안 함 선택 후 데이터베이스 생성 버튼 누르면 완료됩니다.

3. 인바운드 규칙 편집
데이터베이스 생성을 누르고 나면 1.에서는 없던 데이터베이스가 생성돼있는 모습을 볼수 있습니다.db식별자 이름을 클릭하면 페이지가 이동됩니다.


내리다보면 보안그룹 규칙이 있는데 inbound는 외부에서 내 리소스로 들어오는 트래픽을 말하며 outbound는 내 리소스에서 외부로 나가는걸 말합니다.저희는 inbound를 선택하여 보안규칙을 편집해줍니다.엔드포인트는 외부로 노출되면 안되니 조심해야됩니다.(해당 db는 블로그 작성을 위해 만든거라 글작성후 삭제함)


사용자 지정 tcp를 선택하고 postgresql의 기본포트 5432를 넣어주고 내 ip를 선택해줍니다.

4.퍼블릭액세스
데이터베이스를 생성하고 퍼블릭액세스를 가능으로 설정해야 db를 nestjs, pgadmin 등 외부에서 연결이 가능합니다.


5.nestjs에서 연결하기 전 확인해야 될 거
데이터베이스를 생성하고 나면 상단에 뜨는 버튼을 눌러서 마스터 사용자이름, 마스터 암호, 엔드포인트를 확인해 줍니다.

생성한 데이터베이스의 구성 부분을 참고해도 됩니다.

nestjs에서 rds를 연결하려면 신뢰용 인증서가 필요합니다. 아래 사이트로 들어가서 pem인증서를 다운로드하여줍니다.

6.nestjs typeorm을 사용해서 연결
import { Module } from '@nestjs/common';
import { AppController } from './app.controller';
import { AppService } from './app.service';
import { WebModule } from './web/web.module';
import { TypeOrmModule } from '@nestjs/typeorm';
import fs from 'fs';
@Module({
imports: [
WebModule,
TypeOrmModule.forRoot({ //실제 운영환경에서는 env사용
type: 'postgres',
host: 'enpoint주소',
port: 5432,
username: '마스터 사용자 이름',
password: '마스터 암호',
database: 'postgres',
entities: [],
synchronize: true, //nestjs에서 작성한 typeorm코드와 db의 싱크를 자동으로 맞출지를 말함 운영환경에서는 false로
ssl: {
rejectUnauthorized: true,
ca: fs.readFileSync('./certs/global-bundle.pem').toString(),
},
}),
],
controllers: [AppController],
providers: [AppService],
})
export class AppModule {}
database는 본인이 연결할 데이터베이스의 이름을 작성해 주면 됩니다. 따로 pgadmin을 통해 데이터베이스를 만들어주어 연결해야합니다. 일단 rds에 postgres와 연결이 되는지 확인하기 위해 기본적으로 생성되있는 데이터베이스인 postgres를 입력해줘 연결을 확인합니다.위에서 다운받은 pem키를 프로젝트 최상위에 certs폴더를 만들어서 넣어둔뒤 typeorm에 같이 연결해둡니다.(안하면 연결이 안됨)
'nestjs' 카테고리의 다른 글
| NestJS 요청-응답 라이프사이클 정리: Controller, Provider, Module 역할 (0) | 2026.03.12 |
|---|---|
| NestJS 설치방법과 기본적인 정리 (0) | 2025.11.10 |