리눅스

AWS 나도 한번 배포해보자! (SPRING)

류창 2022. 10. 18. 23:50
반응형

 

 

 

바로 본론으로 들어가자

 

https://aws.amazon.com/ko/free/?trk=d66b5e73-988d-4ff9-aa68-e067ce087ab2&sc_channel=ps&s_kwcid=AL!4422!3!563761819873!p!!g!!aws&ef_id=Cj0KCQjwnbmaBhD-ARIsAGTPcfU23T-WQDXbwboolrbIUYQ0Gu2F3DUCFG7xg0_a9rxeYJbbBOt7Kk8aAvFQEALw_wcB:G:s&s_kwcid=AL!4422!3!563761819873!p!!g!!aws&all-free-tier.sort-by=item.additionalFields.SortRank&all-free-tier.sort-order=asc&awsf.Free%20Tier%20Types=*all&awsf.Free%20Tier%20Categories=*all 

 

무료 클라우드 컴퓨팅 서비스 - AWS 프리 티어

Q: AWS 프리 티어란 무엇입니까? AWS 프리 티어는 고객에게 서비스별로 지정된 한도 내에서 무료로 AWS 서비스를 살펴보고 사용해 볼 수 있는 기능을 제공합니다. 프리 티어는 12개월 프리 티어, 상

aws.amazon.com

 

회원가입 준비물: 신용카드와 이메일

 

AWS 회원가입을 진행하다보면  이름과  지역,  그리고 신용카드 등록인데, 

 

말그대로 신용카드를 등록하기때문에  AWS를 잘 사용하셔야 나중에 요금 폭탄 을 안맞을수 있습니다.

 

회원가입 과정은 꽤나 친절하고 쉬우니 스킵!!

 

무료티어도 기간이 지나거나, 제한을 넘게 사용하시면 청구서가 나가기때문에 무조건! 꼭 확인하시길바랍니다.

 

아마존 EC2  , RDS 이용시간이 750시간이다.

 

월별 750시간이니,   딱 프로젝트 1개만 실행시킨다면 31*24시간이니 계속 틀어놔도 괜찮다!

<하지만 12개월이니 꼭 기간 확인하시고 사용하자>

 

 

 

진짜 본격적으로 내 프로젝트 한번 배포해보자!

 

AWS EC2 접속해보자

 

새로시작하면 인스턴스 하나 시작 누릅시다

 

 

이름은  넣어주셔도 되고 안넣어주셔도 되지만,  언제든 고칠수있으니  선택사항입니다.

 

 

필수로 설정해야할건   가상서버를 선택하는과정인데,  본인이 편하게 다룰수있는 리눅스환경을 선택하면 좋을것같습니다.

 

필자는  우분투 환경을 선택했습니다.

 

 

처음 인스턴스를 생성하면 키 페어를 생성해야한다. 

 

이 키 페어는  보안을 위한 하나의 암호키이며,   키페어를 생성후 다운로드 받고  노출이 안되게 잘 관리하셔야한다.

 

 

여기까지하면,  인스턴스 생성이 완료했다.

 

인스턴스 클릭하고 연결하자

 

 

이런 화면이 뜨면 성공이다.

 

 

------------------------------------------------------------------------------------------------------------------------------------------

 

 

 

그 다음 스텝으로  가상서버 환경을 세팅하자

 

프로젝트만있다고  그냥 배포를 할수있는게 아니라, 

가상서버에도  내 컴퓨터처럼  본인이 올리려고하는 프로젝트에 맞는 프레임워크(JAVA, Python,C++ ...) 를 설치하셔야한다.

 

 

 

본인은 자바 스프링 프로젝트를 올리려고하니, 

 

JDK를 설치할것이다.

 

https://ko.linuxcapable.com/how-to-install-java-17-lts-jdk-17-on-ubuntu-20-04/

 

에 Oracle Java 17 LTS(JDK 17)를 설치합니다. Ubuntu 20.04 - Linux 가능

JDK 17(Java 17) 설치 방법 알아보기 Ubuntu 20.04 가이드의 전체 단계 및 예제와 함께 다양한 설치 방법이 포함된 LTS.

ko.linuxcapable.com

 

 

1. 루트 권한자로 이동

 

1
$ sudo su root
cs

 

2.  자바 JDK 17 설치하기

 

참고로, 본인 프로젝트에 맞는 JDK를 사용합시다.  11버전이면 jdk 11를 17버전이면 jdk 17를!

 

1
2
3
4
5
6
7
sudo apt update && sudo apt upgrade -y
 
sudo add-apt-repository ppa:linuxuprising/java -y
 
sudo apt update
 
sudo apt-get install oracle-java17-installer oracle-java17-set-default
cs

 

이 코드를 순서대로 입력하자

 

 

설치하면 요런게 뜰건데,  방향키로 저 OK로 위치시키고 엔터 누릅시다

 

 

 

선택사항 - Redis 서버 설치

본인은 프로젝트에 Redis서버를 사용하기때문에  Redis를 설치한다.

 

굳이 Redis 서버를 사용안하시는 분은 이 과정은 넘어가시면 되겠다.

 

$ sudo apt-get install redis-server

 

이 코드를 치면 된다.

 

 

3. 보안그룹 설정하기

 

인바운드 규칙을 추가하자

 

규칙을 추가를 안하시면  접근자체가 불가능 하기때문에,  반드시 해주셔야합니다.

 

포트번호 6379는 Redis-Server가 쓰는 포트라, 사용 안하시면 안하셔도됩니다.

 

 

----------------------------------------------------------------------------------------------------------------------------------------------

 

 

 

Git 에 저장된 내 프로젝트 올리기

 

 

 

자신의 프로젝트의 http 주소를 복사하자

 

 

복사하기전에  꼭  먼저 빌드해보고 jar 실행 해봐서  코드에 문제가없는지 확인하세요!!  

 

 

git clone  {복사한 주소}

 

 

 

 

클론을 한뒤,  cd {복사한 프로젝트명} 을 입력해서 폴더 이동을 한뒤,

 

Gradle일경우,   chmod 777 ./gradlew를 입력한다.

 

chmod 777 은 모든권한을 부여하는작업이므로  build하기위해 거쳐야하는 작업이다.

 

 

부여한뒤,  ./gradelw build 커맨드를통해  프로젝트를 만들자

 

 

 

자 그 다음에  cd build   , cd  libs  를 입력하자

 

프로젝트/build/libs 를 이동하자

 

 

여기서 생성된 snapshot을 실행한다.

 

java -jar {jar파일}

 

 

 

마지막줄 Started 를 출력이되면 성공!

 

 

 

실행을 잘 되는지 확인해 보려면,   인스턴스의  퍼블릭 IP:8080  을 주소에 쳐서 들어가보자.

 

 

추가 :

 

만약 퍼블릭 IP:8080  이렇게  8080포트를 치는게 불편하다면,

jar 실행하기전에 다음 코드를 실행시키자.

 

iptables -A PREROUTING -t nat -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 8080

 

이 코드는 80 포트를  8080포트로 Redirect시키는 코드다. 

 

반응형