[AWS] EC2 Ubuntu환경에서 Spring Boot 배포
들어가기 전
EC2 Ubuntu환경에서 Spring Boot를 배포를 하려면 EC2 인스턴스를 생성해야 됩니다. EC2 인스턴스 생성에 대해 궁금하신 분은 아래에서 확인해주시기 바랍니다.
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을 구축해보겠습니다.
'DevOps > AWS' 카테고리의 다른 글
[AWS] RDS(MySQL)와 EC2(Spring Boot) 연동하는 방법 (0) | 2023.10.17 |
---|---|
[AWS] RDS 데이터베이스 생성 및 MySQL Workbench 연동 (2) | 2023.10.17 |
[AWS] EC2 프리티어에서 발생하는 메모리 문제 해결방법 (0) | 2023.09.25 |
[AWS] AWS EC2 인스턴스 생성 (0) | 2022.07.16 |
댓글
이 글 공유하기
다른 글
-
[AWS] RDS(MySQL)와 EC2(Spring Boot) 연동하는 방법
[AWS] RDS(MySQL)와 EC2(Spring Boot) 연동하는 방법
2023.10.17 -
[AWS] RDS 데이터베이스 생성 및 MySQL Workbench 연동
[AWS] RDS 데이터베이스 생성 및 MySQL Workbench 연동
2023.10.17 -
[AWS] EC2 프리티어에서 발생하는 메모리 문제 해결방법
[AWS] EC2 프리티어에서 발생하는 메모리 문제 해결방법
2023.09.25 -
[AWS] AWS EC2 인스턴스 생성
[AWS] AWS EC2 인스턴스 생성
2022.07.16