
원하는 프로젝트클릭하고 마우스 우클릭 Export 선택

browser를 클릭하고 파일을 저장할 디렉토리를 선택한다.
finish를 선택하고 선택한 디렉토리로 가면 war 파일이 생성된걸 확인 할 수 있다.
서울리전으로 선택
데이터 서버가 존재하는 지역을 말하는데 지리적으로 가까운 리적을 선택하는게 유리하다. 다른 지역의 리전이 선택 되어 있으면 생성했던 인스턴스가 보이지 않는다 그럴땐 리전을 확인해 보면 된다.
검색창에 EC2를 검색 후 클릭해준다.
인스턴스 시작을 클릭해준다.
서버이름, os를 선택해준다.
Ubuntu를 선택한 이유는 다른 os에 비해 가볍다는 이야기를 들었다!
인스턴스유형은 그대로 설정해준다.
새로운 키페어를 생성해준다. 키페어는 생성하면 키페어 파일이 다운로드 되는데 잃어버리지 말고 잘 보관해 둬야한다!!!
키페어 이름을 적고 키 페어 유형은 그대로 선택해준다.
프라이빗 키 파일 형식은 .pem을 선택한다.(PuTTY를 사용한다면 .ppk)
다음은 보안그룹이다.
기본적으로 '다음에서 SSH 트레픽 허용'이 체크되어 있다. 체크를 해제 해준다.
편집을 클릭해서 보안그룹을 추가해도 되지만 일단 이과정 에서는 넘어가고 추후 추가해줄 예정이다.
스토리지는 30으로 바꿔준다.(최대 용량 30)
모든설정이 끝나고 인스턴스 시작을 눌러준다.
왼쪽 메뉴바에서 인스턴스를 클릭하면 생성된 인스턴스 목록이 보여진다.
인스턴스를 사용하지 않을 때는 꼭 인스턴스 상태를 중지로 바꿔줘야 한다!!
주의!! 탄력적 IP를 사용하면 과금됩니다. 탄력적 IP없이 사용해도 무방합니다.
왼쪽의 메뉴바에서 탄력적 IP를 클릭하고 오른쪽 상단에서 탄력적 IP주소 할당을 클릭한다.
기본값으로 할당받아주면 된다. 할당을 클릭
생성한 탄력적 IP 주소를 선택하고 작업에서 탄력적 IP 주소 연결을 클릭한다.
생성한 인스턴스를 클릭 후 연결을 클릭하면 된다.

인스턴스 목록에서 내가 사용하기위해 생성한 인스턴스ID를 클릭한다.
아래 목록에서 보안을 선택
보안그룹 이름을 선택

인바운드 규칙 편집 -> 규칙추가 클릭
규칙 추가 버튼을 클릭해서 화면과 같이 만들어 준다 ssh는 내IP만 허용하도록 해준다.(소스가 IPv4라면 0.0.0.0/0 | IPv6라면 ::/0)

연결을 클릭해준다.
처음 연결 후 이런 화면이 나와 너무 당황 스러웠다. 뭔가 잘 못 한줄 알고 계속 삭제하고 새로 만들고를 반복 ㅜㅜ
해결책을 찾았다! 아래 참고한 블로그 링크이다 이대로 따라하면 해결된다!
[참고] https://dohyeon.tistory.com/97
정상적으로 접속 되었다!
$ sudo apt-get update

$ sudo apt-get install openjdk-11-jdk
jdk 11버전으로 프로젝트를 진행했기 때문에 11로 설치해준다.
설치전 업데이트를 진행 해준다.(이미 설치가 되었기 때문에 이미지는 생략)
$ java -version

설치 된것을 확인 할 수 있다.
$ update-alternatives --list java
설치된 경로를 먼저 찾아준다.
bin/java를 제외한 부분을 복사해준다.
$ vim ~/.bashrc
bashrc 파일을 열고 i를 입력하면 편집이 가능하다.
$ export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64
$ export PATH=${PATH}:${JAVA_HOME}/bin
환경변수를 등록해준다.(등록 후 나올때는 :wq(저장 후 종료)입력)
$ source ~/.bashrc
환경변수 설정 적용
$ echo $JAVA_HOME
환경변수 확인
https://tomcat.apache.org/download-90.cgi
위 링크로 들어가서 ( tomcat 9로 프로젝트 개발 진행함 )

tar.gz 를 오른쪽 마우스 클릭 후 링크 복사 해준다.
$ wget https://dlcdn.apache.org/tomcat/tomcat-9/v9.0.98/bin/apache-tomcat-9.0.98.tar.gz
톰캣을 다운받는다.
$ ls

다운로드가 완료되면 파일을 확인해본다.
$ tar -zvxf apache-tomcat-9.0.69.tar.gz
압축을 풀어준다.
파란색은 압축 해제된 파일, 빨간색을 톰캣을 다운받고난 직후 압축파일이다.
$ sudo ufw allow from any to any port 8080 proto tcp
외부에서 8080 포트 접근 허용을 위해 방화벽 포트를 열어 준다.
파일질라를 설치해준다.

상단 왼쪽의 아이콘을 클릭후 site Manager(사이트관리자)에서 왼쪽 아래 new site를 클릭하고 오른쪽에 표시된 부분에 아래와 같이 정보를 입력하고 확인을 눌러준다.
Protocol : SFTP - SSH File Transfer Protocol
Host : AWS 해당 인스턴스 퍼블릭 IPv4 DNS
Logon Type : Key file
User : ubuntu(인스턴스 생성시 선택한 os)
Key file : 인스턴스 생성시 다운로드된 ppk 키파일
filezilla에서 왼쪽이 내 컴퓨터이고 오른쪽이 aws에서 만든 인스턴스의 디렉토리 이다.
왼쪽에서 생성했던 war파일을 찾아 오른쪽에서 home/ubuntu/apache-tomcat-9.0.98/webapps 경로에 파일을 넣어주고 새로고침을 진행한다.
그럼 war파일과 같은이름의 폴더가 생성 된 것이 확인된다.
$ cd apache-tomcat-9.0.98/bin
apache-tomcat-9.0.98/bin 에서 톰캣 실행
$ ./startup.sh
톰캣 실행
$ ./shutdown.sh
톰캣 종료
tomcat을 실행 후 퍼블릭 IPv4 DNS 로 접속하면 화면이 뜨는 것을 확인할 수 있다.
참고한 사이트
- [AWS] 스프링부트(Spring Boot) AWS EC2 war 배포하기 (1) - 인스턴스 생성 및 설정
-[AWS] 스프링부트(Spring Boot) AWS EC2 war 배포하기 (2) - PuTTY를 이용한 Ubuntu java , tomcat 설치
[AWS] 스프링부트(Spring Boot) AWS EC2 war 배포하기 (3) - FileZilla를 이용한 Spring Boot war 파일 배포