Deep Dive/DevOps

RDS 생성 및 Spring과 연결

MoonJay 2023. 7. 5. 18:24

RDS는 "Relational Database Service"의 약어로, Amazon Web Services(AWS)에서 제공하는 완전 관리형 관계형 데이터베이스 서비스입니다. RDS를 사용하면 사용자는 데이터베이스 인스턴스를 쉽게 프로비저닝, 운영 및 확장할 수 있습니다.

RDS는 여러 가지 주요 관계형 데이터베이스 엔진을 지원하며, MySQL, PostgreSQL, Oracle Database, Microsoft SQL Server 등의 데이터베이스 엔진을 선택할 수 있습니다. 이러한 데이터베이스 엔진은 신뢰성, 보안, 성능 및 확장성을 제공하기 위해 AWS에서 최적화되어 운영됩니다.

 

전 이중 Maria DB를 사용해보겠습니다.

 

 

Maria DB 생성

 

 

DB 인스턴스 식별자와 마스터 사용자 이름을 설정합니다.

 

 

프리티어 사용을 위해 db.t2.micro로 사용을 합니다.

 

db.t2.micro는 저렴한 가격으로 제공되는 인스턴스 유형 중 하나입니다. 특히 개발 및 테스트 환경,

작은 규모의 애플리케이션, 저 트래픽 워크로드에 적합합니다. 경제적인 비용으로 데이터베이스를 구축하고 운영할 수 있습니다.

 

EC2 컴퓨팅 리소스에 연결을 하지않고 ec2에서 접근을 허용하기 위해 퍼블릭 액세스를 허용합니다.

 

RDS 인스턴스를 만들 때 가용 영역(Availability Zone) 설정은 선택적인 옵션입니다. 가용 영역을 설정하지 않을 경우, AWS는 자동으로 가용 영역을 선택하여 RDS 인스턴스를 배포합니다. 이는 가용성과 내구성을 최대화하기 위한 AWS의 자동화된 기능 중 하나입니다.

 

 

 

비용이 표시되지만 프리티어는 부과되지 않습니다.

 

 

이제 heidSQL과 연결해보겠습니다.

호스트명에는 RDS 엔드포인트를 적고

사용자에는 RDS 마스터 사용자 이름, 암호에는 비밀번호를 적어줍니다

포트까지 적고 열기를 하면 RDS와 HeidSQL의 연결은 성공했습니다.

 

마지막으로 Spring과 연결해주겠습니다.

 

SPRING과 RDS 연결

 

application.properties 또는 yaml 파일을 수정해줍니다

 

예를 들어, 새로운 RDS 엔드포인트가 new-rds-endpoint.amazonaws.com이고 포트가 3306이며 데이터베이스 이름이 mydatabase인 경우 URL은 다음과 같이 변경될 수 있습니다:

spring:
  datasource:
    url: jdbc:mariadb://new-rds-endpoint.amazonaws.com:3306/mydatabase?serverTimezone=Asia/Seoul
    username: ${username}
    password: ${password}
    driver-class-name: org.mariadb.jdbc.Driver

설정을 해주고 실행을 하면 DB와 연결되는 것을 확인 할 수 있습니다.

이때 username과 password는 기밀문서이므로 환경변수로 설정합니다.