티스토리 뷰
0. 준비 및 기본정보
* 기본정보
JAVA 11
Gradle Spring Boot
MYSQL
Windows 기준
* 준비
- AWS 가입하기
- MobaXterm 설치하기
-> AWS SSH 접속하기 위해서 사용되는 툴
+ Mac OS -> iTerm2 이용
- DataGrip 설치하기 (유료)
-> RDS 접속하기 위해서 사용되는 툴
- Clone할 데이터
-> AWS에 넣어 화면에 보여줄 Spring 프로젝트
1. [AWS][EC2] 인스턴스 세팅
1-1. 인스턴스 생성
웹 서버 이름 : 아무렇게나
애플리케이션 및 OS 이미지 : amazon Linux
키페어 : 새 키 페어 생성 (다운로드 형식 .pem)
네트워크 설정 : 인터넷에서 HTTPs 트래픽 허용, 인터넷에서 HTTP 트래픽 허용
※ 무료로 사용하고자 할때 꼭 프리티어인 t2.micro를 선택한다.
(전체 EC2 포함하여 한달 총 750시간 제공)
사용자가 1개의 EC2을 24시간*30일 사용할 경우 720시간이므로 문제없지만
사용자가 2개의 EC2을 24시간*30일 사용할 경우 1440시간이므로 과금이 발생된다.
1-2. 보안 - launch wizard 인바운드 규칙 9090포트 추가
1-E. 인스턴스 시작
인스턴스 요약 -> 퍼블릭 IPv4 주소
2. [MobaXterm] 세팅
2-1. AWS 접속하기
- Session -> SSH
- Basic SSH settings : 퍼블릭 IPv4 주소 (1. 에서 생성한 EC2 주소 참고)
- Advanced SSH settings : Use private key : 키페어.pem (1. 에서 생성한 키페어 참고)
2-2. MobXterm 로그인
- ec2-user 입력한다.
2-3. 자바11 설치하기
- 업데이트 : sudo yum update
- 자바 설치 : sudo yum install java-11-amazon-corretto -> y
- 자바 버전 : java -version
- 설치된 모든자바 확인: rpm -qa | grep java
- 설치된 자바 버전 삭제 : sudo yum remove 자바이름
2-4. 깃 설치 및 깃 클론하기
- 깃 설치 : sudo yum install git -> y
- 깃 클론 : git clone 깃허브 주소
2-5. 빌드할 파일 deploy.sh 스크립트 만들기
- vi deploy.sh
- 스크립트 입력 (맨 밑 참고 링크!)
- :wq
2-6. 실행 권한 부여
- chmod 755 파일명-0.0.1-SNAPSHOT.jar
- chmod 755 gradlew
- chmod 755 ./deploy.sh
2-7. Plain.jar 생성 막기
- build.gradle -> "jar { enabled = false }" 추가
2-8. 실행 : ./deploy.sh
- 필요한 jar파일을 다운받게 된다.
빌드 오류
* plain 으로 잡힐 경우
-> 파일 삭제 (프로젝트/libs, ~ 경로) : sudo rm 파일명-SNAPSHOT-plain.jar
-> 2-7 적용
* Socket 오류일 경우
-> 2-6 적용 // jar 파일 권한 부여
* 빌드 오류 일 경우
-> 2-6 적용 // gradlew 파일 권한 부여
3. [AWS][RDS] 데이터베이스 세팅
3-1. 데이터베이스 보안그룹 생성
보안 그룹이름 : 이름
설명 : 설명
인바운드 규칙 : MYSQL/Aurora AnyWhere-ipv4
아웃바운드 규칙 : 모든트래픽 0.0.0.0/0
3-1-1. 보안그룹 생성 완료
3-2. 데이터베이스 생성
엔진옵션 : MySql
템플릿 : 프리티어
※ 프리티어를 선택하지 않으면 과금이 나오게 된다.
DB 인스턴스 식별자 : 식별자명
마스터 이름 : 이름
마스터 암호 : 암호
퍼블릭 액세스 : "예"
보안그룹 -> 3-1.에 생성했던 보안규칙을 넣는다.
3-3. application.properties jdbc -> RDS 엔드포인트 주소:3306/스키마명
4. [DataGrip] 세팅
4-1. [AWS] RDS -> 엔드포인트 복사
4-2. NEW -> DATASOURCE -> MYSQL
HOST : 엔드포인트 (3-1. 에서 생성한 RDS 내역)
USER : 유저이름 (3-2. 마스터이름)
PW : 패스워드 (3-2. 마스터암호)
+ 커넥트 테스트하도록 한다.
4-3. SQL 데이터베이스 삽입
5. 접속 방법
http://주소:9090/
번외. nohub 확인방법
- tail nohub.out
다음으론 NginX 설치하여 5. 에서 포트번호를 없애는걸 다루도록 한다.
참고링크 : https://jojoldu.tistory.com/263?category=635883
5) 스프링부트로 웹 서비스 출시하기 - 5. EC2에 배포하기
이번 시간엔 지금까지 개발한 내용을 EC2에 배포 해보겠습니다. (모든 코드는 Github에 있습니다.) 5-1. EC2에 Git 설치 및 프로젝트 Clone 배포에 앞서 기반작업이 되는 Java와 Git을 EC2에 설치하겠습니다
jojoldu.tistory.com
'AWS & DOCKER' 카테고리의 다른 글
Docker / 다중 Docker 환경 : 로컬과 Colima에서 명령어 전환하기 (0) | 2025.01.10 |
---|---|
AWS / Git Pull 하여 Spring Boot 실행하는 sh파일 만들기 (0) | 2022.06.12 |
Docker / Springboot + Nginx 빌드 후 Container에 올리기 (0) | 2022.05.13 |
Docker / 나만의 명령어 (0) | 2022.05.12 |
AWS / NginX 설치하여 Spring boot URL 포트번호 없애기 (0) | 2022.05.06 |
- Total
- Today
- Yesterday
- aws build
- aws git pull
- mybatis
- Mapper namespcae
- linux 포트중복
- Mybatis vs JPA
- nginx
- spring boot sh파일
- aws
- docker 명령어
- mysql oracle
- aws spring boot
- Linux caches
- SQL Mapper
- aws git
- git gitignore
- colima
- docker --context
- gitignore 적용오류
- colima docker
- Docker
- vue project
- gitignore 적용안됨
- oracle db
- Spring Artifact
- vue npm
- 리눅스 메모리 캐시
- 메모리 삭제
- Spring Group
- docker context
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 | 29 |
30 | 31 |