로컬에서 Gradle Build Tool 및 SpringBoot Framwork 를 사용하여 만든 웹 사이트를 AWS Ec2 인스턴스에 배포하여 실제로 서비스 되게 만들어 봅니다. 로컬에서 Gradle을 활용한 Springboot 프로젝트를 생성하는 방법은 아래 두개의 게시글을 참고하세요.
[참고]
1. git repository에 로컬에서 개발한 프로젝트 push하기
- 자신의 git 계정에 새로운 레파지토리를 생성 후 로컬 프로젝트 폴더에 git init로 repository와 연동합니다.
- .gitignore에 [build][.gradle][.idea] 추가합니다.
- commit & push 후 잘 되었는지 git repository에서 확인합니다.
2. AWS EC2 ssh key 생성 후 git 에 등록하기
- aws ec2 인스턴스 터미널로 접속 후 ssh-keygen -t rsa -C "your_git_email" 명렁어로 ssh key를 생성합니다.
- ec2-user를 사용할 경우 생성된 위치는 /home/etc/ec2-user/.ssh/id_rsa.pub 입니다.
- cat 명령어를 사용하여 키를 확인한 후에 git > your Profile > SSH and GPG Keys 탭으로 진입합니다.
- new ssh key 버튼을 클릭하여 aws의 본인 계정에서 만든 id_rsa.pub 값을 입력합니다.
- 잘 입력됬는지 확인합니다.
3. EC2 인스턴스에서 git clone 명령어로 프로젝트를 다운받습니다.
- 본인은 pwd기준 /home/ec2-user 에서 진행하였습니다.
- git clone "your git repository SSH Clone"
- 잘 클론 되었는지 ls 명령어로 확인합니다.
4. gradlew 명령어를 사용하여 build합니다.
- clone으로 다운받은 본인의 프로젝트로 진입하여 gradlew를 사용한 build를 진행합니다.
- ec2 free tier를 사용할 경우, 메모리가 부족하여 build가 실패합니다. 때문에 스왑메모리를 할당해줘야 합니다.
- 스왑 메모리 할당 이후 "./gradlew build"
// dd명령어를 사용한 리눅스 파일시스템에 스왑 파일을 생성하기.
$ sudo dd if=/dev/zero of=/swapfile bs=64M count=16
// 스왑 파일에 대한 읽고쓰기 권한 부여
$ sudo chmod 600 /swapfile
// 스왑 영역을 설정
$ sudo mkswap /swapfile
// 스왑 영역을 추가해주기
$ sudo swapon /swapfile
// 재부팅시 스왑 설정을 알려주기 위한 파일시스템 정보 변경
// 진입 이후 최 하단에 아래 "/swapfile swap swap defaults 0 0" 추가
$ sudo vi /etc/fstab
// 설정된 스왑 확인
$ free -h
5. build된 war파일을 실행하기
- gradlew를 사용하여 build된 .war(혹은.jar)파일은 ./build/libs/ 디렉토리에 위치하게 됩니다.
- java -jar 명령을 사용하여 빌드된 파일을 실행합니다.
$ java -jar ./build/libs/yourBUildFile.war
6. ec2 인스턴스 도메인으로 접속하여 사이트가 잘 구동 되는지 확인합니다.
- 본인은 ec2인스턴스 route53에서 도메인을 등록하였기에 도메인으로 접근.
'AWS' 카테고리의 다른 글
AWS CodeDeploy 배포 에러 해결하기 (0) | 2023.01.03 |
---|---|
[쉽게 따라하는 AWS] 09. AWS EC2 인스턴스 도메인 적용하기 (0) | 2022.07.14 |
AWS에서 도메인을 다른 도메인으로 리디렉션 하는방법에 대한 고찰 (0) | 2022.03.18 |
[쉽게 따라하는 AWS] 08. AWS EC2 RDS 연결, EC2에서 RDS 접근하기 (5) | 2020.04.29 |
[쉽게 따라하는 AWS] 07. AWS RDS 생성하기 (0) | 2020.04.28 |