지난 멋쟁이사자처럼 12기 중앙 해커톤에서 나는 배포에 크게 관여하지 않아 아쉬움이 남을 뻔 했는데
은택샘의 은혜로 해커톤 이후 배포 하는 법을 배우게 되었다.
앞으로는 어떤 프로젝트를 하더라도
아, 제가 AWS로 스프링은 배포할 줄 압니다 ㅋㅋ 할 수 있도록 마스터해보고자 한다ㅋㅋ
수정을 거듭해야겠지만 이 카테고리의 글은 아래 목차를 포함할 예정이다.
1. AWS RDS로 Mysql 데이터베이스 연결
2. EC2를 활용한 최적화
3. 프로젝트 배포
4. 도메인 구매 및 적용
5. https 적용
이 게시글에서는 1. AWS RDS로 Mysql 데이터베이스 연결 까지만 다루도록 하겠다.
1- 0. 가장 먼저, AWS 회원가입과 로그인 절차를 거쳐야 하는데 이 과정은 패스.
로그인 직후는 요론 화면이 뜬다.
(사용자마다 조금씩 다를 수 있다. 나같은 경우는 이미 RDS, EC2 과정을 1회 거치고 블로그 작성 중이라 최근 방문한 서비스가 등록되어 있다.)
주목해야 할 것은 우측 상단에 서울! 리전을 반드시 서울로 등록해야 한다. 내가 지금부터 배포할 서버를 어디에 위치한 AWS 서버로부터 빌려올 것이냐, 이기 때문에. 가까운 서울로 설정하는 편이 좋다.
1-1. RDS로 데이터베이스 인스턴스 생성
팀원들끼리 공유하는 하나의 DB를 생성하고자 한다.
다양한 DB가 있으나 나는 주로 Mysql을 사용하기 때문에 Mysql을 선택했다
신규회원은 1년간 프리티어를 무료로 이용할 수 있다
다른 템플릿은 별도의 비용이 요구되니 주의하자
다음은 DB 설정이다.
인스턴스 식별자는 이제부터 생성할 DB의 이름이고,
워크벤치에서 볼 수 있는 root 등 사용자 이름이 마스터 사용자 이름,
DB 등록 및 이용에 필요한 PW가 마스터 암호이다.
추후 나의 프로젝트와 Mysql 워크벤치에 현재 생성중인 DB를 등록할 경우 이 데이터를 입력해야 하고, 프로젝트 진행시 다른 팀원들과 공유되어야하므로 꼭 메모해두길 바란다.
엔진은 무료로 이용 가능한 범위 내에서 안전한 선택이라고 생각해서 db.t3.micro를 선택했다.
이 단계에서는 과금을 피하기 위해 스토리지 자동 조절 토글을 열어 자동 조정 활성화를 해지해주었다.
퍼블릭 액세스를 예로 설정하여 외부에서도 DB에 연결할 수 있도록 한다.
보안 그룹은 새로 생성을 선택한다. (다음 단계에서 보안 그룹 규칙 추가 설정 예정)
추가구성 토글을 열어
백업>자동 백업 활성화
유지관리> 마이너 버전 자동 업그레이드
사용을 해제한다. (과금 방지)
아래 요금 안내가 뜨지만... 프리티어는 12개월 동안 저만큼 사용할 수 있다고 하니 안심해도 좋다
데이터베이스 생성을 클릭하고 나면 데이터베이스 상태에 생성 중이라고 뜬다
3-4분 정도 기다리면 데이터베이스 생성이 완료된다!
여기까지가 RDS Mysql DB 생성 과정이다.
1-2. VPC 보안 그룹 인바운드 규칙 설정
이제 이걸 우리 프로젝트 or워크벤치에 연결 시켜야 하는데, 그 전에 보안 설정을 마무리 해야 한다
식별자를 클릭해 데이터베이스 설정에 들어간다
연결 및 보안에서 VPC 보안 그룹 (파란 글씨)을 클릭
보안 그룹 ID 클릭
인바운드 규칙 편집 클릭
규칙 추가>위와 같이 설정> 규칙 저장
(팀원들과 공유할 DB이므로 특정 IP가 아니라 모든 IP에서 접속 가능하도록 설정)
하면 이제 인바운드 규칙 편집은 끝났다.
다시 RDS 데이터베이스 세부정보 창으로 이동하자.
1-3. Mysql 워크벤치를 통한 연결 확인
이제 Mysql 워크벤치에 생성한 DB를 연결하자.
이 과정이 필수는 아니지만 RDS가 잘 생성되었는지 확인하기 위해 진행했다.
뿐만 아니라, 프로젝트 진행 중 워크벤치에 연결해놓는 것이 매우 편안하므로...(거의 필수이므로)
겸사겸사 진행하는 것을 추천한다.
메인 화면에서 + 버튼을 눌러도 되고 상단바에서 Database>Connect to database 눌러도 되고 Ctrl+U해도 된다
아무튼 난 + 버튼을 눌렀다.
이제
1. Connection Name
2. Hostname
3. Port
4. Username
5. Password
를 입력하고 OK를 누르면 연결된다.
RDS 세부 정보 창에서 엔드포인트를 복사해 워크벤치의 Hostname에 붙여넣는다.
Port도 똑같이 맞추고
Username과 Password에 각각 RDS 인스턴스 생성시 설정한 값을 입력해준다
그리고 Connection Name 도 입력해줘야 한다. Connetion name은 워크벤치 Home에 뜰 해당 DB의 이름이다.
OK를 클릭하면 아래 화면으로 이동한다.
다시 홈으로 가면
DB가 잘 연결됐음을 확인할 수 있다.
Connection Name을 입력하지 않으면 Home에 뜨지 않고, 다시 접속하려면 다시 Connetion등록해줘야 한다.
여기까지가 1단계...
배포에 필요한 RDS 빌려오기 를 마쳤다.
다음 포스팅에서는 EC2를 활용한 최적화와 배포 등을 다루어볼 예정