커스텀 축하 카드 쇼핑몰 [축하해요]

Amazon RDS(AWS RDS)를 통한 DB 배포

yebin0322 2025. 1. 6. 19:06
반응형

우리의 서비스는 '초대장 템플릿'이 고정되어 있고, 거기에서 사용자가 원하는 템플릿을 고른 후 text를 수정해 본인만의 축하 카드를 만드는 서비스이다. 이 때, text에 추가 요소들을 넣을 수 도 있고, 글자수가 늘어나는 것을 고려하여 템플릿을 html과 css파일로 작성한 후 DB에 코드를 저장하기로 하였다.

현재 작업중인 팀원이 로컬 DB에서만 돌리니 다른 팀원이 테스트 및 수정을 하기가 불편하여 DB부터 배포하기로 결정하였다. AWS rds를 이용할 것이다.

Relational Database Service(RDS)

  • 관계형 DB(DB 안의 내용이 정형화 되어 있고 테이블 간 관계를 중심적으로 보는 DB)를 제공하는 aws의 서비스
  • 유저가 DB를 사용하기 쉽도록 인프라 등을 자동화 시켜주며, user가 endpoint로 접속할 수 있는 서비스 제공
  • 클라우드에서 관계형 DB를 간편하게 설정, 운영, 확장할 수 있음
  • 관리 작업(DB설정, 패치 및 백업 등)을 자동화 하여 효율적인 개발이 가능함
  • CloudWatch와 연동 : DB인스턴스의 모니터링과 여러 로그 확인 가능

RDS 인증 방법

  • 전통적인 user/pw 방식 : AWS Secret Manager와 연동하여 자동 loatation 가능
  • IAM DB 인증 : IAM 유저 크레덴셜 / role을 통해 관리 가능
  • Kerberos 인정 : ms active directory 안에 있는 프로토콜

Amazon RDS DB 생성

https://ap-northeast-2.console.aws.amazon.com/rds/home?region=ap-northeast-2#launch-dbinstance:
위 링크에 접속하여 데이터베이스 생성 버튼을 누른 후, 다음과 같은 과정을 따르면 된다.

 


이 때, 스토리지 자동 조정 활성화를 꺼 주어야 한다. 스토리지가 늘어났을 경우, 프리티어임에도 불구하고 과금이 될 수 있기 때문이다.


S3에서의 문제를 반복하지 않기 위하여 퍼블릭 액세스를 꼭 '예'로 해 주어야 한다.

이 때 VPC 보안 그룹을 기존 항목 선택으로 해주면 자동으로 보안이 연결된다.

이후 초기 DB 이름을 지정하기 위하여 추가 구성을 해 준다.

이후 나머지 값들은 default로 선택되어 있는 값들을 사용하면된다. 이후 '데이터베이스생성'버튼을 눌러 데이터베이스를 만들어 주면 된다.


잘 만들어진 것을 알 수 있다.

DB를 눌러 연결 및 보안에 들어가면


보안 그룹이 보일 것이다.

내 컴퓨터에서 접속하기 위하여 인바운드 규칙 편집을 해 준다. 보안 그룹(default(sg-~~~))를 누르면 인바운드 규칙을 편집할 수 있다.

MySQL Workbench로의 접속

엔드포인트 url을 hostname에 입력해 주고, port번호가 3306인 것을 확인한 후 username과 password를 입력하였는데 다음과 같은 에러가 발생하였다. 비밀번호가 틀렸다는 오류이다. 터미널로 접속하면 제대로 접속이 되는데 왜 비밀번호가 틀렸다고 뜨는건지 알 수가 없었다.

새 유저를 생성해 보기도 하였고, 아웃바운드 규칙을 새로 만들어 편집해보기도 하였는데 전부 안됐다 ㅠㅠ 그래서 그냥 위와 똑같은 방식으로 DB를 다시 생성하니 연결이 잘 되었다.

spring에서의 접속

properties 파일에서 경로만 수정해 주면 된다.

db.driver=com.mysql.cj.jdbc.Driver
db.url=jdbc:mysql://엔드포인트:3306/db명
db.username=rds에서 생성한 사용자 이름
db.password=rds에서 생성한 사용자 비밀번호
 
반응형