1. AWS EC2 가입 및 인스턴스 설정
배포 방법으로는 AWS의 클라우드 컴퓨팅 서비스인 EC2를 이용하기로 했다.
AWS에 우선 회원가입을 했다.
- AMI: Ubuntu Server 22.04 LTS (HVM), SSD Volume Type
- 인스턴스 유형: t2.micro
- 키페어 설정 : RSA, .pem
- 인바운드: 22(SSH), 80(HTTP), 443(HTTPS) 포트 열기
- 스토리지: 8GB gp2
2. git bash로 인스턴스 접속하기
chmod 400 voca-forest-key.pem
ssh -i voca-forest-key.pem ubuntu@[퍼블릭IP주소]
key pem 파일 권한을 바꿔주소,
인스턴스의 퍼블릭 IP주소로 접속한다.
IP주소 접속 할 때 처음 접속하는 거라 "정말 이 서버에 연결할 거야? 이 서버 신뢰할 거야?"라고 물어보는데, yes를 입력하자.
3. EC2 서버에 프로그램 설치
1) 자바 설치
sudo apt update
sudo apt install openjdk-17-jdk -y
java -version
2) MariaDB
sudo apt install mariadb-server -y
sudo systemctl start mariadb
sudo systemctl enable mariadb
sudo mysql_secure_installation //보안설정
sudo mysql_secure_installation 명령을 실행하면, MariaDB를 보안적으로 강화하기 위해 몇 가지 질문을 한다.
🎯unix_socket 인증: 비밀번호 없이, 리눅스 운영체제 사용자 인증을 통해 DB에 로그인하는 방식.
서버 안에서 리눅스 사용자(root/ubuntu 등)로 로그인한 상태라면, 비밀번호 없이 MariaDB에 들어갈 수 있게 한다.
보안 관련 질문 / 답변/ 설명
Remove anonymous users? | Y | 익명 사용자 삭제 (보안 강화) |
Disallow root login remotely? | Y | root 사용자가 원격 로그인 못하게 (보안 강화) |
Remove test database and access to it? | Y | 테스트 데이터베이스 삭제 (깔끔) |
Reload privilege tables now? | Y | 권한 변경 적용 |
3) Redis
sudo apt install redis-server -y
sudo systemctl start redis
sudo systemctl enable redis-server
enable 할 때는 꼭 'redis-server'라고 입력해야 함. 'redis'만 입력하면 별칭으로 인식해 동작하지 않음.
4) Jar Export 후 EC2 업로드
scp -i voca-forest-key.pem build/libs/voca-forest-0.0.1-SNAPSHOT.jar ubuntu@[퍼블릭IP주소]:~/
5) 실행
인스턴스 접속 상태에서 터미널에,
java -jar voca-forest-0.0.1-SNAPSHOT.jar
로 실행하면, 로그가 올라가다 에러가 난다.
DB 설정이 Local 그대로 올라가서 안 맞기 때문!!!
6) DB 및 Table 생성 및 초기 데이터 insert
sudo mysql -u root -p
MaridaDB 로그인 후,
DB를 생성하고, DDL문으로 필요한 테이블을 생성했다.
그리고 초기 데이터를 insert 했다.
DB 유저 생성하고 권한부여도 했다.
application-properties를 공통과 dev(로컬개발용), real(운영용)으로 나누고 새로 jar를 export 했다.
7) 인스턴스 콘솔 인바운드 규칙 추가.
- 유형: Custom TCP
- 포트 범위: 8080
- 소스: 0.0.0.0/0
위 내용으로 EC2 콘솔에서 인스턴스 인바운드 규칙을 추가하니,
"http://[EC2 퍼블릭 IP]:8080/" 으로 접속이 잘된다!!
4. 도메인 구매.
가비아에서 'voca-forest.site' 도메인을 1년에 2750원 주고 구매했다.
DNS에서 관리에서 레코드도 아래와 같이 설정.
A | @ | 15.164.220.159 | 3600 | DNS 설정 | |
CNAME | www | voca-forest.site. | 3600 | DNS 설정 |
운영 properties에 'server.port=80' 설정.
지피티의 도움을 받아가며 잘 설정했는데,
아무리 도메인을 입력하고 호출을 해도 안 되는 것.
DNS 서버 전파가 시간이 걸릴 수도 있다는데,, 1시간을 걸려도 안 됐다.
뭔가 이상하다 해서 가비아에서 도메인을 다시 살펴봤는데...
알고 보니 도메인에 오타를 낸 것이다 ㅠㅠ
당연히 한번 등록된 도메인 수정 불가.....
영광의 상처로 안고 계속 쓰기로 했다..
개발에서도 그렇고 오타가 많은 에너지를 빼앗는다. 주의하자.
'토이 프로젝트' 카테고리의 다른 글
[토이 프로젝트 개발일지] 15. 비밀번호 재설정 링크 이메일 발송 (0) | 2025.05.20 |
---|---|
[토이 프로젝트 개발일지] 12. 형상관리 (0) | 2025.05.07 |
[토이 프로젝트 개발일지] 11. 스프링 시큐리티 적용 (0) | 2025.05.04 |
[토이 프로젝트 개발일지] 10. 아이디/비밀번호 찾기 (0) | 2025.05.02 |
[토이 프로젝트 개발일지] 9. 아무 단어 뽑기 (0) | 2025.05.01 |