-
AWS - 서버 배포 - DB셋팅- 1Cloud/aws 2026. 1. 21. 22:22
기존에 이미 aws aurora_mysql_db가 셋팅되어있어서 db에 api 서버를 구동하기 위한 테이블, 초기데이터 셋팅 방법을 작성하려고 한다.
aurora_mysql의 DB identifier의 Connectivity & security 를 보면 Endpoint가 2개가 있을텐데
Writer/Reader Type에 대한 endpoint가 있을것이다.
기본적으로 생성할때 2개의 endpoint가 생기니 db를 이용할때 Type에 따른 endpoint로 적절하게 쓰면 될것이다.

aws aurora-mysql db Type에 따른 endpoint 화면 이제 테이블을 먼저 생성을 해야되니 Writer endpoint를 이용하여 테이블을 생성해보자.
물론 내가 한 방법은 local pc(mac)에서 private subnet에 있는 aurora-mysql db 에다 셋팅하였다.
(만약에 그럴린 없겠지만 public subnet에 db를 셋팅하면 아래에 있는 방법은 안해도 될것이고 당연히 local에서도 작업이 가능한부분이지만 이렇게 셋팅하진 않을것이다)
테이블을 생성하기 위한 사전작업들이 있어야한다.
1. intellij
2. private subnet에 db를 접속하기위한 public subnet에 bastion server instance가 있어야함 (터널링 필요)
3. bastion server에 ssh 접속하기 위한 pem key 셋팅 필요
3. jpa로 만들어진 java spring 프로젝트
4. 초기 데이터 init.sql
5. db에 해당 테이블을 넣을 스키마는 이미 만들어져있다고 가정(없으면 스키마 미리 생성하세요)1. intellij를 쓴다는 가정하에 해당 db를 먼저 local에서 접속할수있는지 확인
1.1 local pc에 bastion server 접속하기 위한 pem key를 파일로 저장 후 chmod 400으로 설정 (아래 참고)
-----BEGIN RSA PRIVATE KEY-----
key값
-----END RSA PRIVATE KEY-----1.2 intellij 화면에서 아래 사진과 같이 클릭

1.3 아래와 같은 화면이 나올텐데 SSH/SSL 버튼 클릭 (🙏 밑에 Download missing driver files 클릭하는거 잊지마시구요)

1.4 Use SSH tunnel 클릭하고 오른쪽 동그라미 쳐진 부분 클릭

1.5 여기서 + 누르면 위와같은 화면이 나오는데
Authenticatio Type을 Key pair로 선택하여 아까 pem key 저장한 파일을 불러온다.
그리고 Host, Username 을 입력하고 Test Connection을 해보자.
정상적으로 접근이 되면 success 표시가 날것이다.

1.6 Test connection이 정상적으로 성공했다면 db 접속이 뜰텐데 스키마는 이미 생성되어 있다는 가정하에 private subnet에 있는 db를 local에서 접속할수있게 터널링 작업을 먼저 해야된다. 터미널을 실행하자.
1.7 터미널에서 bastion서버를 이용하여 private subnet aurora db까지 통할수있게 만들어줄것이다. 아래와 같은 명령어로 아까 열어준 터미널에 아래와같은 명령어를 쓰고 계속 터미널을 실행중이어야한다. 끄면안됨!~
터널링 하는 명령어
ssh -i ~/.ssh/dev-bastion.pem \
-N \
-L 3307:aurora-cluster.cluster-xxxx.ap-northeast-2.rds.amazonaws.com:3306 \
ec2-user@BASTION_PUBLIC_IP옵션 설명 :
- -L 3307:aurora-endpoint:3306 -> 내 로컬 3307 → Aurora 3306
- -N -> 쉘 접속 없이 터널만 유지
- 3307은 로컬에서 충돌 방지용
- 마지막으로 터미널 닫으면 안됨!
1.8 위 명령어를 보면 어떻게 수정해야될지 감이 올것이다. 그러면 터미널은 끄지않고 다시 intellij로 돌아가서 local로 실행하기위해 configuration을 설정해주자
1.9 application-local.yml
url부분에 아래와같이 적어주자
url: jdbc:aws-wrapper:mysql://localhost:3307/{schema명}username,password 등 나머지 값들을 채워넣고 ddl-auto : create 로 바꾼뒤 app 실행하면 db 스키마에 테이블이 생성될것이다.
테이블이 생성되었으면 db console창에서 초기 데이터 init.sql 을 실행시켜주자.
여기까지 local 에서 private db 테이블,데이터 셋팅 하는법을 작성하였습니다.
다음글 계속해서 api server 작업 배포 작성하겠습니다
감사합니다.
'Cloud > aws' 카테고리의 다른 글
AWS - 서버 배포 - ECR(Amazon Elastic Container Registry) 셋팅 - 3 (0) 2026.02.03 AWS - 서버 배포 - S3 셋팅 - 2 (0) 2026.01.22 AWS - 서버 배포 진행순서 사전 작업 준비 및 배포전략 - 0 (0) 2026.01.20