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
입력 후 비밀번호 입력하라 하면 마스터 암호 입력
'AWS' 카테고리의 다른 글
[ AWS ] - Rds 기본 (0) | 2022.06.21 |
---|---|
[ AWS ] - aws polly 음성 전환 후 s3에 저장하기 (0) | 2022.06.14 |
[ AWS ] - 기초 개념 ( 미완 ) (0) | 2022.06.06 |
[ AWS ] - aws I AM 설정 방법 (0) | 2022.06.03 |
[ AWS ] - CI/CD pipeline 구축해서 배포 자동화하기 (0) | 2022.06.03 |