이전에 만들었던 프로젝트를 AWS 와 연결하여 배포해보았다.
1. AWS RDS
① RDS 를 구매한다.
다음과 같은 설정으로 데이터베이스를 생성한다.
② RDS 포트를 열어준다.
생성한 데이터베이스에서 보안그룹을 클릭하면 두번째 사진과 같은 화면이 나온다. 그 화면에서 인바운드 규칙을 수정해주면 된다.
③ 스프링부트 프로젝트와 RDS 를 연결한다.
우측에 [Database] - [+] - [Data Source] - [MySQL] 를 선택한다.
선택하면 이런 화면이 뜨는데 RDS에서 설정한 것들의 값을 넣으면 된다. Host 는 RDS 데이터베이스의 엔드포인트이다. User와 Password 는 데이터베이스를 만들 때 설정한 마스터 이름과 마스터 비밀번호이다. Database는 데이터베이스를 만들 때 설정한 데이터베이스 이름이다.
MySQL과 연결할 수 있도록 application.properties 를 수정한다.
spring.datasource.url=jdbc:mysql://나의엔드포인트:3306/myselectshop
spring.datasource.username=나의USERNAME
spring.datasource.password=나의패스워드
spring.jpa.hibernate.ddl-auto=update
2. AWS EC2
① EC2를 구매한다.
인스턴스는 다음과 같이 설정한다.
인스턴스를 시작하기 위해 키 페어를 생성한다. 나중에 EC2에 접속하기 위해서는 키 페어가 꼭!! 필요하므로 키 페어를 다운로드 해서 저장해두어야 한다.
② EC2 포트를 열어준다.
위에서 RDS 포트를 열어준 것처럼 EC2도 마찬가지로 인바운드 규칙을 편집해 80, 8080 포트를 열어준다.
그 다음 터미널을 통해 EC2에 접속한다. 다음과 같이 명령어를 입력하면 EC2에 접속할 수 있다.
sudo chmod 400 받은키페어를끌어다놓기
ssh -i 받은키페어를끌어다놓기 ubuntu@AWS에적힌내아이피
3. 프로젝트 배포하기
① 배포 파일 빌드하기
우측에서 [Gradle] - [Tasks] - [build] - [build] 를 "더블클릭" 하면 배포 파일이 빌드된다.
빌드가 완료되었다면 다음과 같이 jar 파일이 생성된다.
② Open JDK 를 설치한다.
아까 EC2에 접속한 상태에서 다음 명령어를 입력하여 jdk를 설치한다.
sudo apt-get update
sudo apt-get install openjdk-8-jdk
java -version
다음과 같은 화면이 나온다면 잘 설치된 것이다! 설치가 되면 Filezilla를 이용해서 배포 파일을 업로드한다.
③ 스프링부트 프로젝트 작동시킨다.
EC2에 접속한 상태에서 다음 명령어를 입력하면 스프링부트 프로젝트가 작동된다.
java -jar JAR파일명.jar
작동이 된 후 웹사이트에 접속하면 다음과 같은 화면이 뜬다. 화면이 뜬다면 연결에 성공한 것이다!
[ + 번외: OG태그 작업하기 ]
링크를 공유할 때 보여지는 정보를 다음과 같이 수정할 수 있다. index.html 파일에서 head 부분에 다음 코드를 삽입하면 된다.
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport"
content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<!-- 코드 추가한 부분 -->
<meta property="og:title" content="poppy만의 셀렉샵">
<meta property="og:description" content="관심상품을 선택하고, 최저가 알림을 확인해보세요!">
<meta property="og:image" content="images/og_selectshop.png">
<link rel="stylesheet" href="style.css">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
<script src="basic.js"></script>
<title>나만의 셀렉샵</title>
</head>
이 코드를 추가하고 링크를 공유하면 다음과 같이 공유되는 것을 볼 수 있다.
'Back-end > Spring' 카테고리의 다른 글
[SpringBoot] 7주차 스터디 ① (스프링 시큐리티) (0) | 2021.10.02 |
---|---|
[SpringBoot] 6주차 스터디(객체 지향, DI) (0) | 2021.09.23 |
[SpringBoot] 4주차 스터디 ② (나만의 셀렉샵 만들기, 네이버 쇼핑 API) (0) | 2021.09.09 |
[SpringBoot] 4주차 스터디 ① (나만의 셀렉샵 만들기, 네이버 쇼핑 API) (0) | 2021.09.09 |
[SpringBoot] 3주차 스터디 (메모장 만들기, Spring JPA) (0) | 2021.09.02 |