사전 준비
- Spring Boot 프로젝트 기준으로, build가 성공적으로 완료된 jar파일이 필요합니다.
- 홈페이지 우측 상단에서 지역을 '서울'로 맞춰주세요. (설정하지 않으면 연결 후에 503 Gateway Time-out 에러가 뜰 수 있습니다.)
Amazon EC2(Elastic Compute Cloud)는 AWS cloud에서 컴퓨팅 용량을 제공합니다. EC2 인스턴스를 시작하면, EC2는 자동으로 Linux, Ubuntu와 같은 운영 체제와 AMI(Amazon Machine Image)에 포함된 추가 소프트웨어를 설치해 빠르게 애플리케이션을 개발하고 배포할 수 있습니다.
1) 상단에 EC2를 검색해, EC2 서비스로 들어갑니다.
2) 인스턴스 시작을 눌러 인스턴스를 생성하고, 시작하기 버튼을 누릅니다.
3) 새 키 페어를 생성하고 '인스턴스 시작' 버튼을 누릅니다.
1) 탄력적 IP 주소를 할당받습니다.
2) 작업 - 탄력적 IP 주소 연결 - 인스턴스 선택 - 방금 만든 인스턴스 선택
1) Route 53 서비스로 들어갑니다.
2) 호스팅 영역 - 호스팅 영역 생성 - 도메인 이름 입력 후, 호스팅 영역 생성 버튼을 누릅니다.
3) 만들어진 호스팅 영역 인스턴스를 클릭해 상세 페이지로 이동합니다.
4) 레코드 생성 버튼을 누른 후, 아래의 내용을 입력하고 레코드 생성 버튼을 누릅니다.
(저는 루트 도메인과 www 서브 도메인으로 2개를 만들어주었습니다.)
1) PuTTY를 실행해, Connection - SSH - Auth에서 Private key file of authentication에 미리 변환시킨 .ppk 파일을 넣어줍니다.
2) Session에서 아래 내용으로 변경한 후, Open 버튼을 누릅니다.
3) login as : ubuntu
4) FileZilla와 같은 FTP 프로그램을 이용해 .jar 파일을 넣어주겠습니다.
5) PuTTY 콘솔 창에서 ls -al
을 입력하면 .jar 파일이 보입니다.
AWS EC2 보안그룹에서 포트 8080번을 추가로 열어두고, 자바 환경변수 설정 & 실행시켜보겠습니다.
sudo apt-get update
java -version
sudo apt -y install openjdk-11-jre-headless # 빌드된 프로젝트의 java 환경에 맞춰 설치
java -jar {jar 파일명}
실행 후, 도메인을 통해 접속하면 프로젝트 화면이 보입니다!
https://docs.aws.amazon.com/ko_kr/AWSEC2/latest/UserGuide/concepts.html
https://aws.amazon.com/ko/getting-started/hands-on/get-a-domain/