이번 포스트에서는, 프로젝트를 본격적으로 설계를 하기보다는, 이전 포스트에서 마저 설명하지 못한 환경구축에 대한 내용을 마저 다루겠습니다.
본격적으로 시작해볼까요?
본 실습에서는 AWS가 제공하는 RDS, EC2 기능을 사용할 예정입니다. 따라서 실습을 따라하기 이전에 AWS 계정을 먼저 만들고 오시는 것을 추천합니다.
우선 AWS RDS 서비스를 이용하여 MySQL 데이터베이스를 생성하겠습니다.
AWS에 접속하여 검색창에 RDS를 검색하여 들어갑니다.
RDS 서비스 페이지로 접근을 하셨다면, 데이터베이스 생성 버튼을 눌러줍니다.
그리고, 아래의 방법대로 데이터베이스 환경 구축을 해주면됩니다.
AWS는 신규 회원에 대해서 프리티어를 제공합니다. 프리티어 서비스를 이용하면 12개월간 1개월 당 RDS 서비스를 750시간 무료 제공합니다.
다음으로는, 추가 구성 을 구성해주도록 하겠습니다.
위의 과정을 모두 마치셨다면, 데이터베이스를 생성해줍시다. 데이터베이스 생성까지는 대략 5분의 시간이 걸리니 기다려줍시다. 3분 카레 다 뎁히면 다 생성이 되어있어요
위의 그림과 같이 데이터베이스 인스턴스가 올라와있는 모습을 확인할 수 있습니다.
우선 resources 폴더 내부에 있는 application.properties를 삭제해주시고, application.yml을 생성합니다. 그리고 application.yml 파일 내에 데이터베이스 연결 정보, 그리고 여러가지 설정 정보를 적어주겠습니다.
제일 중요한 부분은, spring 속성 하위에 적힌 정보들입니다. 각자 하나씩 천천히 소개를 해드리도록 하겠습니다.
포맷 : jdbc:mysql://[RDS의 엔드포인트]/[RDS 초기 데이터베이스 이름]?serverTimezone=UTC&characterEncoding=UTF-8
예시 : jdbc:mysql://order-test-db.xxxxxxxxxx.ap-northeast-2.rds.amazonaws.com/devops?serverTimezone=UTC&characterEncoding=UTF-8
RDS Instance 정보에서 방금 생성한 Insatance를 누르시고 들어가면 아래의 그림처럼 인스턴스 정보를 확인할 수 있습니다.
여기서, 엔드포인트 주소를 복사해서 붙여넣으면 됩니다!
그 외의 application.yml 속성들은 넣으셔도 되고, 안 넣으셔도 됩니다. 그래도 jpa의 ddl-auto 속성은 넣어주면 entity를 작성한 내용에 따라서 자동으로 테이블을 만들어주는 유용한 기능은 있습니다.
그런데, ddl-auto의 경우에는 실 배포시에는 절대로 넣어서는 안 되는 속성입니다. 왜냐하면, 저 속성으로 인해서 기존에 테이블에 있는 정보들이 날아가버릴 수도 있어요! (실제로 저것 때문에 피를 본 케이스를 들어본적이 있습니다...)
다음의 클래스를 작성해줍시다.
DevopsTestApplication.java
@SpringBootApplication
public class DevopsTestApplication {
public static void main(String[] args) {
SpringApplication.run(DevopsTestApplication.class, args);
}
}
그리고 해당 클래스를 Run 시켜줍시다. 만일 에러없이 잘 동작한다면 서버 애플리케이션과 데이터베이스가 잘 연결된 것입니다.
다음 포스트에서는 본격적으로 프로젝트 아키텍처 설계, 그리고 엔티티 작성에 대해서 다뤄보도록 하겠습니다. 다음 포스트에서 뵙겠습니다!