1. EC2 란?
- 아마존 웹 서비스(AWS)에서 제공하는 클라우드 컴퓨팅 서비스
- 클라우드 컴퓨팅은 인터넷(클라우드)을 통해 서버, 스토리지, 데이터베이스 등의 컴퓨팅 서비스를 제공 → AWS에서 원격으로 제어할 수 있는 가상의 컴퓨터를 한 대 빌리는 것
- 후불제 PC방과 같이 사용한 만큼 비용을 지불하기 때문에 탄력적인 이라는 의미의 Elastic이라는 단어가 붙어있다. Elastic은 비용적인 부분 뿐만이 아니라 필요에 따라 성능, 용량을 자유롭게 조절할 수 있다는 의미도 가지고 있다
- 이외 아래 URL 참고
- https://velog.io/@server30sopt/AWS-EC2-%EA%B0%9C%EB%85%90-%EC%A0%95%EB%A6%AC
2. AWS 에 EC2 : 인스턴스 생성
1) 인스턴스 시작
* 애플리케이션 및 OS 이미지
- 이름 : myWebServer01 ---- 추후에 02 03..
- QuickStart : Amazon Linux | Amazon Linux 2023 AMI (프리티어)
- 아티텍처: 62 비트
* 인스턴스 유형
- 인스턴스 유형 : t2.micro
* 키 페어 (로그인)
- 키 페어 생성 : 이름 입력 | RSA | .pem
-> 생성 시 파일 다운로드 됨 , 위치 경로 잘 기억해두기
* 네트워크 설정
- 방화벽(보안그룹) : 보안그룹 생성
- SSH 트래픽 허용 | 내IP (제한 걸어두는 것)
- 인터넷에서 HTTPS 트래픽 허용
- 인터넷에서 HTTP 트래픽 허용
* 스토리지 구성
- 1x 30 GIB gp3 루트 볼룸
* 고급 선택 정보는 수정하지 않음
--> 인스턴스 시작!
2) 탄력적 IP 주소 할당
+ EC2 -> 네트워크 및 보안 -> 탄력적 IP 생성하기 : 기본 셋팅으로
+ 인스턴스 연결하기 : 자동으로 뜨는 것 으로
완료되면 생성된 인스턴스에 탄력적 IP 가 뜸
3) PuTTU 다운로드 : 파일 업로드할때 쓰는 파일 -> 2개 다운로드
다운로드 링크: https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html
- putty.exe (the SSH and Telnet client itself) 64-bit x86
- puttygen.exe (a RSA and DSA key generation utility) 64-bit x86
- 위 키페어와 동일한 폴더에 저장하기
+ puttygen.exe 파일 실행
- import key -> pem 파일 불러오기
- save publick key 클릭 후 pem 과 같은 이름으로 저장하기 (단, 확장명은 ppk)
+ putty.exe 파일 실행하기
- Connection -> SHH -> Auth -> Credential 에 Private KEey 에 ppk 연결
- EC2 에서 퍼블릭 IPv4 주소 복사해와서 Basic Options dp 넣고 Saved Session 생성 후 Open
- 꼭 해당 key 에다가 ip 주소 및 키페어 파일 저장! 하기
4) 검은 창 login as 에 ec2-user 입력 아래와 같이 뜨면 성공! => 리눅스 언어 사용
* 리눅스 명령어
ls -l = ll : 현재 위치에 존재하는 파일리스트
ll -al: 숨어있는 모든 파일
is --help :도움말 창 키키
cd / : 최상위 폴더로 이동
rm : 삭제
-- 권한없을 시 sudo rm
cd~ 또는 cd : home/ec2-user
ll local* :목록 중 local~ 찾아줘
cat localtime : local 타임의 내용을 보여줘
3. 셋팅하기
1) 시간 변경하기 UTC -> KST
(1) 기존 시간 파일 삭제: cd / etc 에서 localtime 삭제 | sudo rm localtime
(2) 파일생성: sudo ln -s /usr/share/zoneinfo/Asia/Seoul localtime
(3) 파일이 잘 생성됐는지 조회하기: 만든 위치에서 ll local* 후 date 입력 하여 kst 인지 확인!!
2) java 다운로드
- 자바 버전 검색: dnf list java*
- 그중 버전 선택 후 다운로드 실행:
sudo dnf install java-11-amazon-corretto-devel.x86_64 --> yes - 잘 다운로드 됐는지 확인: dnf list java-11*
| java --version | javac -version 으로 버전확인
3) 톰캣 다운로드
- 위치지정 : cd/home/ec2-user
- 다운로드 파일 :톰캣 버전 9 tar.gw 의 주소 복사 ->리눅스이기에 tar
- 파일 넣기 : get http~~~tar.gz
- 압축 풀기 (x 압축 해제, v 과정보기 ,f 파일지정: tar -xvf apache~~tar.gz
- 확인했을 때 파랑색으로 풀려있으면 성공
4) 위치 변경하기
- 변경 요청하기: sudo mv apeche~ /usr/local/
- 위치변경 확하기: usr/local/apache~
- 보안 변경하기: AWS 인바운드 규칙 편집 EC2 -> 보안 그룹 -> launch-wizard-1 ~ -> 인바운드 규칙 편집 -> 규칙 추가
- 사용자지정 TCP | IPv4 anywhere | 8080 -> 저장
- 톰캣 파일 실행하기
- 퍼블릭 주소 확인하기: AWS 에서 EC2인스턴스 퍼블릭 주소 + :8080
4. 배포하기
--> jar는 아래 링크 참고
https://kimcoder.tistory.com/394
[Spring Boot] 프로젝트 AWS에 배포하기
이번 포스팅에서는 여러분들이 작업한 Spring 프로젝트를 AWS에 배포해서, 로컬 컴퓨터가 꺼져있더라도 언제 어디서든 웹 애플리케이션에 접근할 수 있도록 하는 방법을 순서대로 설명할 것이다.
kimcoder.tistory.com
(1) Spring 에서 기존 만들었던 프로젝트 Run 하여 확인
(2) Gradle Tasks 에서 적용할 프로젝트 로딩 : build > Run Gradle Task 클릭하면 workspace에 bulid 폴더가 생성됨
(3) bulid 폴더 > libx > 에 war 파일 두개 있는지 확인 (키로 진행 시 해당 파일에 pem 과 ppk 파일 넣어주기)
(4) plain 파일의 이름을 ROOT.war 으로 변경 (안해도 됨) ㅣㅣ
+ 다시 검은 창에서
(5) vim/usr/local/apache-tomcat-9.0.74/conf/server.xml 로 톰캣 파일 열기
- Insert 모드로(I클릭) Host 수정 | Context 삽입 --- esc 후 :wq (저장하고 나가기) <--> :q 그냥 나가기 , :q! 강제나가기
* nano/usr/local/apache-tomcat-9.0.74/conf/server.xml 로도 톰캣 파일 열 수 있음 나가기는 컨트롤+x
(7) /home/ec2-user 에 myweb 과 root 폴더 만들기(-p는 여러개 만들때) : mkdir -p myweb/root
(8) 가지고 올 폴더에 war 파일 가지고 오기 : wget https://github.com/~~/ROOT.war
(9) ROOT.war 압축 풀기 : jar -xvf ROOT.war
(10) ROOT.war 압축 파일은 삭제 : rm ROOT.war
(11) v파일 실행: /usr/local/apache-tomcat-9.0.74/bin/startup.s
(12) 리얼타임으로 보기: tail -f /usr/local/apache-tomcat-9.0.74/logs/catalina.out
(13) 퍼블릭주소:8080 으로 확인 ! 잘 되면 성공!!
* 종료방법 bin 위치에서 shutdown
$ cd /usr/local/apache-tomcat-9.0.74/bin
$ ./shutdown.sh
'Spring' 카테고리의 다른 글
[Spring] 데이터 소스를 통한 프로젝트 만들기 (0) | 2023.05.04 |
---|---|
[Spring] MyBatis Query 연동, 구축, 맵핑, 쿼리날리기 (0) | 2023.04.25 |
[Spring] DB -스프링 웹 MVC 개념 (0) | 2023.04.24 |
[Spring] Web Page 만들기 (4) 회원가입 페이지 (DB 셋팅방법) (0) | 2023.04.13 |
[Spring] Web Page 만들기 (1) 회원가입 페이지 (0) | 2023.04.07 |