2023. 4. 7. 19:01ㆍAWS
인스턴스 생성
그럼 인스턴스 생성을 해볼게요~~
step1. AWS EC2에서 인스턴스 시작

step2. 이름은 본인이 원하는 이름으로 설정하고 본인이 원하는 운영체제를 선택한다.
작성자는 ubuntu를 사용하려고 한다. 프리티어 사용가능 표시 있는 버전을 사용할 것이다.
ip 한개 1년동안 무료 사용가능하다.
더 많은 운영체제는 돋보기 모양 "더 많은 AMI 찾아보기"를 클리하여 원하는 운영체제를 찾아서 선택!!!!

step3. 키패어 생성
인스턴스 유형을 건너뛰고 바로 새 키패어 생성을 할 것이다.
기존에 생성된 키 패어가 있을 경우, 그대로 사용해도 된다.
작성자는 새 키패어 생성할 것이다.

* 키패어 이름 작성하고 키패어 생성한다.
로컬에 저장하라고 창이 나올텐데 본인이 잘 찾을 수 있는 로컬저장소에 저장하면 된다.

step4. 네트워크 설정 및 인스턴스 시작
네트워트 설정은 추후에 다시 설정할 예정이라 작성자는 기본 셋팅을 적용하고
나머지 설정도 기본셋팅을 유지하고 인스턴스 시작을 한다.


step5. 다시 인스턴스 화면에 돌아가서 생성된 인스턴스 확인
인스턴스 잘 생성된 거 보이죠. GOOD GOOD GOOD~~~~~~~~~

p.s 무료 버전을 쓰고 있는 분 들은 서버 1개만 사용하세요. 동시에 2개 인스턴스 사용시 추가요금이 부과될 수 있어요.
상세한 내용은 AWS 고객센터에 문의하세요.
tip: 생성된 인스턴스를 마우스 오른쪽 클릭 하면 인스턴스 종료, 인스턴스 중지가 있다.
인스턴스 중지는 컴퓨터를 반환하는 기능으로 생각하고
인스턴스 종료는 컴퓨터를 끄는 기능이라고 생각하면 된다.
따라서 새성된 인스턴스를 사용하지 않을 경우, 인스턴스 중지를 눌러 서버 반환을 하면된다.
여기까지 인스턴스 생성완료*******************************************************************
보안그룹 설정 전 탄력적 IP 주소를 연결할 것이다.
step1. 왼쪽 메뉴창에서 네트워크 및 보안> 탄력적 IP 클릭합시다.


아직 탄력적IP주소 연결하지 않아 아무것도 보이지 않을 수 있다.
step2. 오렌지색 탄력적 IP 주소할당 버튼을 클릭 및 할당

step3. 탄력적IP주소 연결

1번 클릭, 2번 클릭 후 3번클릭 끝~~~~

여기까지 탄력적IP주소 할당완료*******************************************************************
이어서 보안크룹 설정 시작하기
step1. 보안그룹 이름 확인
인스턴스 정보란을 오른쪽으로 쭉~ 당기면 보안그룹 이름이 보인다.
인스턴스 처음 생성한 분들은 보안그룹이 1개 밖에 생성되어 있겠지만
인스턴스 처음 생성하신 분 아니라면 보안그룹이 여러개 생성되어 있을 수 있다.

step2. 보안그룹으로 이동




위처럼 인바운드 설정완료
step3. 인스턴스 마우스 오른쪽 키 >보안>보안그룹변경

보안 그룹 변경 화면에서 검색창 클릭하여 금방 설정한 보안그룹 선택하고 추가.기존 거 필요없으면 제거해주세요.
마지막으로 저장하면 보안그룹 설정 완료

여기까지 보안그룹 설정 완료*******************************************************************
지금부터 서버 연결시작 해볼게요~~
먼저 인스턴스 연결버튼을 눌러볼게요~~


보시다싶이 4번 퍼블릭 DNS를 사용할 예정임.
GIT BASH 에서 본인이 만든 인스턴스를 아래와 같이 연결한다.
키패어는 ssh -i 를 작성하고 로컬키패어 저장소에 가서 그냥 키패어를 GIT BASH 에 끌어오면 자동으로 저장소가 작성된다.
ssh -i 키패어 로컬저장소 ubuntu@퍼블릭 DNS
예:
ssh -i /d/Test/TEST.pem ubuntu@ec2-12-345-678-90.compute-1.ap-northeast-2.amazonaws.com
그리오 enter를 하면 연결된다.
안될 경우 잘못 코드 잘못 작성하지 않았는지 잘 확인한다.
코드 맞게 작성되었지만 연결 안될 경우, 인스턴스 재부팅을 한다.
재부팅 후 2~3분 후 다시 위 코드를 실행한다.

GIT BASH 에서 이렇게 나오면 실행성공한 것이다.
그리고 아래 코드를 한줄 한줄씩 작성하고 enter를 할 것이다. 기본셋팅을 하는 것이다.
작성자는 자바17을 사용하기때문에 17을 설치할 것이다.
기타 버전을 사용하려면 17을 사용하고자 하는 버전의 숫자로 바꾸고 설치하면 된다.
// apt 패키지 관리자를 사용하여 리눅스 운영체제에서 사용되는 소프트웨어 패키지들의 최신 버전 정보를 얻기 위한 명령어이다.
sudo apt-get update
// Ubuntu나 Debian과 같은 Debian 계열의 리눅스에서 Java 런타임 환경(JRE)을 설치하는 명령어이다.
sudo apt-get install default-jre
// Linux 환경에서 MySQL 데이터베이스 서버를 설치하는 명령어이다.
// MySQL 데이터베이스 서버는 기본적으로 3306 포트에서 실행된다.
sudo apt-get install mysql-server
// Linux 기반 시스템에서 Git 버전 관리 시스템을 설치하는 명령어이다.
sudo apt-get install git
// 자바 17을 설치
sudo apt-get install openjdk-17-jdk
// 선택: 기타 자바버전 설치(필요시 설치)
sudo apt-get install openjdk-8-jdk
// 자바버전 확인
java -version
이젠 기본셋팅을 완성하였으오니 이젠 repository를 서버에 배포할 것이다.
작성자는 github에 있는 repository를 클론하여 서버에 배포할 것이다.
하지만 인스턴스 연결용 git bash에서 바로 클론하는 것은 비추천한다.
작업중 서버가 쉽게 터질 수 있다. 서버 터지면 다시 인스턴스 재부팅하고 위 과정을 다시 실행하여야 한다.
로컬에 클론을 하여 모든 절차를 진행후 서버에 배포할 것이다.
먼저 새로운 git bash를 하나 열어서 본인이 repository를 클론할 저장소를 지정한다.
작성자는 파일탐색기에서 저장소를 찾아 그 로컬주소를 복사한다.
// repository를 클론 할 저장소로 이동. 가능하면 빈 파일에 자장하는 것을 추천한다.
cd D:\Test
그 다음 클론시작한다.
// main을 클론해오기
git clone <깃허브 repository https://주소 복사하여 가져오기>
예:
git clone -b https://github.com/Test/TestTest.git
// main 아닌 브런치를 클론해오기
git clone -b <브런치이름 전체> <깃허브 repository https://주소 복사하여 가져오기>
예:
git clone -b feature/test https://github.com/Test/TestTest.git
다음 클론한 파일으로 이동하고 application.properties 파일을 추가하고 빌드한다.
// 클론한 파일 이름 모를 경우, 파일 이름 확인을 한다.
ls
// 확인한 파일에 이동
cd Test
// 여기서 클론한 파일에 application.properties 파일이 있는지 확인한다.
// 없을 경우, 파일탐색기를 통해 해당 파일에 가서 파일을 추가하여야 한다.
// 기존에 사용하던 application.properties 파일을 복사하여 와도 된다.
//////////////////////////////////////////////////////////////////////////
// 빌드 파일과 관련된 모든 파일을 삭제
rm -rf build/
// 빌드하기
./gradlew build
// 이전 빌드에서 생성된 결과물을 모두 삭제하고, 새로운 빌드를 실행하여 최신 버전의 소스 코드로부터 실행 가능한 JAR 파일 등의 결과물을 생성
// 빌드하기보다 클린빌드를 사용하는 것을 추천하다.
./gradlew clean build
빌드 성공하면 파일 탐색기에서 클론한 파일>build>libs 에서 .jar 파일을 찾을 수 있다.

이러면 서버에 올릴 준비는 완성되었다.
작성자는 filezilla를 사용하여 서버에 올릴 것이다.


1. 이름은 원하는 이름으로 설정하면 된다.
2. SFTP를 사용할 예정이다.
3. 호스트: 인스턴스 퍼블릭 IPv4 주소

4. 포트: 22
5. 로그인 유형: 키파일
6. 사용자: ubuntu
7. 키파일 찾아보기: PEM파일로 바꾸지 않으면 키파일을 찾을 수 없어요.

8. 연결
연결성공하면 왼쪽 오른쪽편에 모두 파일이 보인다.

로컬에 있는 파일을 서버로 이동시킬것이다.
먼저 왼쪽에서 클론한 파일로 이동하고 build > libs 에 이동한다.
libs에서는 .jar파일 2개 보일 것이다. 하나는 plain.jar 파일이고 다른 하나는 그냥 .jar 파일이다.
.jar 파일만 오른쪽으로 이동시킬것이다.
작성자는 오른쪽에서 빈파일을 하나 만들어서 이동시킬것이다.
이동 성공하면 오른쪽에서 .jar파일이 보일것이다.
마지막으로 전에 서버에 연결한 GIT BASH로 이동한다.
여기서 .jar 파일이 있는 곳으로 이동하여
cd test
그 다음 .jar파일 실행한다.
java -jar 파일명.jar
요롷게 실행되는 것을 확인할 수 있다.

.jar파일이 실행되다가 멈출 경우, 작성한 코드가 문제가 있다는 뜻으로
로컬에서 클론한 파일을 삭제하고 파일질라에 있는 파일을 삭제하고
프로젝트 코드 수정하고 다시 클론하여 파일질러에 넣고 서버에 배포하는 과정을 반복하면 된다.
사이트에서 본인의 ip주소를 입력하면 서버 배포 성공한 것을 확인할 수 있다.
서버가 작동이 안 될 경우, 인스턴스를 재부팅하고 다시 연결을 하여야 한다.
오늘은 이만 인스턴스 만들고 서버 배포하는 것을 정리해보았다.
'AWS' 카테고리의 다른 글
| 가비아 도메인 구매 + ec2 연결 + https 연결 (1) | 2023.04.08 |
|---|---|
| EC2 서버 시간대와 DB 시간대가 다를 때(Windows용 해결됨) (0) | 2023.04.07 |