AWS

[ AWS ] - RDS 설정하기 (with 워크벤치와 prisma 연동)

algml0703 2022. 6. 9. 11:51
반응형

RDS ( Relational Database Service )?

aws 에서 제공하는 관계형 데이터베이스 서비스입니다.

특징

  • 기존에 사용자가 사용하던 Database 를 그대로 사용할 수 있다. ( ex) mysql, mariadb, oracle, postersql )
  • 서비스 사용량 만큼 요금이 부과된다.

* free tier (mysql 기준) : Amazon RDS 단일 AZ db.t2.micro, db.t3.micro 및 db.t4g.micro 인스턴스 사용량 750시간 미만 

비용 관련 https://aws.amazon.com/ko/rds/mysql/pricing/

사전 작업 

iam 사용자 생성

1. aws 계정에 로그인 한 후 우측 상단 클릭 후 보안 자격 증명을 클릭합니다.

or

검색하는 곳에 iam 을 검색하여 들어갑니다.

2.  우측 대시보드에서 사용자를 클릭합니다.

3. 사용자 추가를 클릭합니다.

4. 아래와 같이 설정 후 다음:권한을 클릭합니다.

5. 기존 정책 직적 연결을 클릭 후 rds 검색하여 관련된 권한을 모두 허가하여 주고 다음:태그를 클릭합니다.

// 정책에 관련한 부분은 필요에 따라 선택하면 됩니다.

6. 특별히 태그 추가하지 않고 다음: 검토를 클릭합니다. // 태그의 경우도 필요에 따라 설정하면 됩니다.

7. 내용을 확인 후 사용자 만들기를 클릭합니다.

8. 아래의 정보를 저장해둡니다.

// 비밀번호는 다시 확인할 수 없기 때문에 특히나 잘 보관해두어야 합니다.

// 본인이 생성한 콘솔

 https://321651680010.signin.aws.amazon.com/console

  • 본인이 생성한 사용자 계정의 콘솔로 들어갑니다. https://321651680010.signin.aws.amazon.com/console
  • 사용자 이름 : rds-user
  • 암호 : [비밀번호]

데이터베이스 생성하기

1. rds를 검색 후 들어갑니다.

2.  데이터베이스 생성을 클릭합니다.

3. 손쉬운 생성을 클릭한 후 사용하는 데이터베이스를 선택합니다.

원하는 DB 인스턴스를 선택, 이름을 입력,  암호 자동 생성 선택 후에 데이터 베이스 생성을 클릭합니다.

 

데이터베이스 생성이 완료될 때까지 10 분 정도 시간이 걸립니다.

* RDS에 접속이 되지 않는 경우 아래의 내용 확인

2022.06.09 - [ERROR] - [ ERROR ] - AWS RDS에 prisma 연결시 에러

워크벤치를 통해서 RDS 접속하기

워크 벤치 들어가서 + 모양을 클릭한다.

아래의 정보는 RDS 콘솔에서 생성한 데이터 베이스 창에 들어간 뒤 연결 & 보안구성 부분에서 정보를 확인할 수있다.

Connection Name: [연결이름]
Hostname: [앤드포인트]
Port: 3306
Username: [마스터 사용자 이름]
Password: Store in Keychain 을 클릭 후 암호를 입력한다. 암호는 본인이 설정한 것 또는 자동으로 생성된 것. 암호가 기억나지 않는 경우 수정에 들어가서 암호를 다시 설정하여 준다.

 

Prisma 와 RDS 연동하기 

prisma 사용시 아래와 같이 prisma 폴더가 있고 .env 파일이 존재할 것이다.



env 파일 내용 확인해보면 아래와 같이 존재할 것이다. DATABASE_URL 부분의 내용을 변경하여 준다.

mysql인 경우

DATABASE_URL="mysql://[마스터 사용자 이름]:[RDS 암호]@[엔드포인드]:3306/[스키마명]"

이와 같이 작성 후 터미널에 

npx prisma db push // prisma 스키마를 RDS 스키마에 반영하여 준다.
npx prisma db pull   // RDS에 생성되어 있는 스키마를 prisma 스키마에 반영시켜준다.  

 

터미널 통해서 rds 데이터베이스에 연결

> mysql -h [endpoint] -p [database_name] -u [master_user] -p

입력 후 비밀번호 입력하라 하면 마스터 암호 입력

반응형