들어가기 전

EC2 Ubuntu환경에서 Spring Boot를 배포를 하려면 EC2 인스턴스를 생성해야 됩니다. EC2 인스턴스 생성에 대해 궁금하신 분은 아래에서 확인해주시기 바랍니다.

 

[AWS] AWS EC2 인스턴스 생성

 

[AWS] AWS EC2 인스턴스 생성

들어가기 전 AWS EC2 인스턴스를 생성하는 과정에 대해 알아보겠습니다. ◎ 순서 1. 인스턴스 생성 2. 탄력적 IP 주소 할당 3. 보안 그룹 생성 EC2 인스턴스 생성 인스턴스를 클릭을 해줍니다.  인스

hoestory.tistory.com

 

 

EC2 Ubuntu환경에서 Spring Boot 배포

 

1. EC2 인스턴스를 생성하는 과정에서 키 페어를 만들어 로컬에 키 페어가 다운로드되었을 겁니다. 터미널을 켜서 다운로드된 경로로 가서 키 페어가 존재하는지 확인합니다.

 

cd Downloads // 키 페어가 다운로드 된 경로로 이동

ls test.pem // 키 이름 존재하는지 확인
-> 결과 test.pem

 

2. 키 페어가 존재하면 키 파일에 대한 권한을 변경하겠습니다.

 

chmod 400 test.pem

 

3. SSH 접속

 

1) 퍼블릭 DNS 또는 퍼블릭 IP를 사용해서 인스턴스에 접속할 수 있습니다.

 

# 퍼블릭 DNS로 접속
ssh -i "test.pem" ubuntu@{해당 인스턴스의 퍼블릭 DNS}

# 퍼블릭 IP로 접속
ssh -i "test.pem" ubuntu@{해당 인스턴스의 퍼블릭 IP}

 

2) 호스트 등록해서 간편하게 접속할 수 있습니다.

 

1)의 방식의 할 경우 키 페어 이름이랑 퍼블릭 DNS 또는 퍼블릭 IP 주소를 계속 작성해줘야 됩니다. 그래서 호스트로 등록해서 간편하게 접속할 수 있는 방법에 대해 알아보겠습니다.

 

 

// 키 페어 파일을 ~/.ssh/로 복사

cp test.pem ~/.ssh/

// 키 페어 파일의 권한을 변경합니다.

chmod 600 test.pem

 

위와 같이 키 페어 파일의 권한까지 변경을 해주었으면 ~/. ssh/config라는 파일을 생성을 하여 

Host, User, HostName, IdentityFile을 작성을 해야 됩니다.

 

vi ~/.ssh/config

Host {원하는 호스트 이름}
User {유저 이름}
HostName {탄력적 IP}
IdentityFile {키 페어 파일 위치}

 

Host : Host명은 "ssh 호스트명" 하여  간편하게 접속할 때 사용할 이름으로 사용해주시면 됩니다.

 

User : 애플리케이션 및 OS 이미지를 우분트를 선택하였을 경우 ubuntu를 적어주시면 되고 그 외에는 ec2-user를 적으면 됩니다.

 

HostName : 인스턴스 생성할 때 탄력적 IP를 할당해 주었습니다. 할당 해준 탄력적 IP주소를 적어주시면 됩니다.

 

IdentityFile : 키 페어가 있는 경로를 적어주시면 됩니다.

 

// Host를 test로 지정했다고 가정

ssh test

 

 

1) 방법 또는 2) 방법을 사용하면 EC2 서버에 접속할 수 있습니다.

 

 

4. ec2 서버에 자바 설치하기

 

ec2 서버에 접속하고 java -version을 확인합니다. 없으면 아래와 같이 설치를 해줍니다.

필자는 openjdk-11를 설치했습니다.

 

// ec2 서버

 sudo apt-get update
 sudo apt-get install openjdk-11-jdk

 

# 로컬에 있는 프로젝트 파일로 이동
./gradlew clean build

# 빌드 성공 후 {빌드 후 생기는 파일명}.jar 파일 생성됩니다.
# 빌드 파일을 ec2서버에 복사를 합니다.
#
scp ./build/libs/{빌드 후 생기는 파일명}.jar {호스트 이름}:/home/ubuntu

 

호스트 이름 : ~/. ssh/config에 적은 Host 명을 적어주시면 됩니다.

 

 

5. EC2 인스턴스에서 실행

# EC2 인스턴스
nohup java -jar {빌드 후 생기는 파일}.jar &

 

마무리

 

EC2 인스턴스 생성 후 자바 11 버전을 EC2에 다운로드 후 Spring Boot를 배포해 봤습니다.

다음 포스팅에서는 EC2에서 Docker, docker-compose를 다운로드하여 docker에 MySQL을 구축해보겠습니다.