
이번 시간엔 클라우드 플랫폼 중 하나인 아마존 웹 서비스(AWS) 를 이용한 간단한 spring boot 프로젝트를
배포해보는 시간을 가져보겠다.
일단 배포할 프로젝트는 docker 테스트 시 쓰였던 프로젝트를 그대로 활용하겠다.
https://github.com/TAEWOOKK/docker
GitHub - TAEWOOKK/docker: 도커를 이용해서 배포가 되는 스프링 프로젝트 기본 툴
도커를 이용해서 배포가 되는 스프링 프로젝트 기본 툴. Contribute to TAEWOOKK/docker development by creating an account on GitHub.
github.com
@RestController
public class MainController {
@GetMapping("/")
public String Main() {
return "Hello World2"; }
}
문자를 출력해주는 간단한 프로젝트이다.
일단 .jar 파일이 필요하기 때문에 bootJar 를 통해 .jar 파일로 빌드해 주겠다.

인텔리제이 기준 우측 Gradle - build - bootJar 를 클릭해주면

빌드가 성공적으로 되게 되고

.jar 파일이 성공적으로 생성된 걸 확인 할 수있다.
이제 AWS 에서 배포 환경을 만들어보자.
https://ap-northeast-2.console.aws.amazon.com/ec2/home?region=ap-northeast-2#Home:
https://ap-northeast-2.console.aws.amazon.com/ec2/home?region=ap-northeast-2#Home:
ap-northeast-2.console.aws.amazon.com
만약 AWS에 회원가입 하지 않았다면 진행해주도록 하자.

필자의 경우 인스턴스가 이미 하나가 실행 중이므로 이런창이 뜨나

여기서 우측 상단의 인스턴스 시작을 클릭해서 새로운 인스턴스를 만들어주자.

인스턴스 이름은 test
OS 의 경우 windows 서버를 택해주도록 하겠다.

인스턴스 유형은 프리티어가 가능한 t2.micro 를 해주겠다.
허나 프로젝트나 실제 배포를 위한 서버에 t2.micro 는 너무 속도가 느리기때문에
유료로 다른 인스턴스 유형을 선택하기도 한다.

키 페어의 경우 이렇게 새롭게 생성해주면 키 파일이 다운로드 받아진다.
이 파일의 경우 생성한 인스턴스에 접속하기 위해 꼭 필요한 파일이므로 안전한 곳에 보관해두도록 한다.
보안그룹의 경우

이렇게 새로 생성해주도록 한다.

스토리지의 경우 우리컴퓨터의 c: 드라이브의 용량을 결정짓는거라 생각하면 된다.
기본값으로 설정해놓자.
이렇게 인스턴스를 성공적으로 생성했다.

이제 인스턴스 에 연결해보자 인스턴스 연결 - RDP 클라이언트 에 들어가면

여기서 원격 데스크톱 파일 다운로드를 클릭해서 windows 서버에 접속 할 수 있다.
허나 접속할려 하면

이렇게 암호를 입력하라고 뜨게 된다.
여기서 암호는 아까 보관했던 키페어 파일을 이용해서 바로 위 이미지의 하단에 암호가져오기 를 이용해서
가져올 수 있다.

이 창에서 키 파일을 업로드 하고 우측 하단의 암호 해독 버튼을 누르면

이렇게 암호가 생성된다.
이제 인스턴스에 접속해 보자.

이렇게 새로운 인스턴스가 성공적으로 생성된 걸 확인 할 수 있다.
이제 .jar 를 실행시켜주기 위해 자바를 설치해보도록 하자.
서버 컴퓨터가 아닌 기존 컴퓨터에 자바installer 를 설치해서 서버 컴퓨터로 옮기는 방식으로 하겠다.
https://www.oracle.com/kr/java/technologies/downloads/#jdk21-windows
Download the Latest Java LTS Free
Subscribe to Java SE and get the most comprehensive Java support available, with 24/7 global access to the experts.
www.oracle.com
여기서 x64 Installer 을 설치 후 다운로드 한 파일을 ctrl-c 서버컴퓨터 바탕화면에 ctrl-v 를 해주면

이렇게 옮겨지는 걸 확인 할 수 있다.

다 옮겨졌으면 자바를 설치해 주도록 하자.
설치가 완료되면 명령 프롬포트 창을 열어서
java -version

입력해주면 자바가 성공적으로 설치 된걸 확인 할 수 있다.
처음에 만든 .jar 파일을 옮겨주도록 하자.

필자의 경우 .jar 파일을 여기다가 옮겨주었는데
이유는 cmd 를 켜면 처음 경로가 여기로 되어있기 때문이다.
.jar 파일을 실행하기 위해선 해당 jar 파일이 있는 경로에서 실행시켜주어야 한다.
이제 jar 파일을 실행해 보자.
java -jar docker_test.jar
java -jar {jar파일 이름.jar}

이렇게 성공적으로 프로젝트가 실행된걸 확인 할 수 있다.
프로젝트를 확인 하기 전에 우리는 보안 그룹에서 8081 포트에 대해 인바운드 규칙을 추가해줘야 8081 포트를 접근할 수 있다.

ec2 - 보안그룹 - 내가 선택한 보안그룹 - 인바운드 규칙 편집 - 8081 포트 추가
이렇게 해주고

퍼블릭ip 주소 : 8081 포트로 접속할 경우

성공적으로 프로젝트가 실행된 걸 확인 할 수 있다.
이렇게 스프링 부트 프로젝트를 시험삼아 배포해보았다.
이제 여기에 rds 로 DB 를 연결해도 되고,
도메인을 구입해 도메인을 연결 시켜서 ip 주소가 아닌 도메인을 치고 들어오게 할 수 있다.
더 나아가 SSL 인증서를 받아 ACM 과 로드 밸런서를 이용해 https 접속을 하게 할 수도 있다.
허나 그 모든것도 이렇게 서버를 배포하는 과정을 모르고선 시작할 수 없다.
사이트를 배포하고 운영하는걸 목표로 한다면 이런 과정을 한번씩 해보는 것을 추천한다.
다음 시간엔 위에 말한 과정을 설명해 보도록 하겠다.