본문 바로가기
Java

웹개발의 봄, 스프링 5주차 (최저가셀렉샵) [스파르타코딩클럽]

by 돈민찌 2021. 8. 19.
반응형

5주차는 지금까지 만든 나만의 셀렉샵 사이트와 스프링부트 서버를 아마존 AWS와 가비아 도메인을 통해 배포하는 내용이었다.

1. 아마존 RDS 구매하고 MySQL 세팅하기
2. html 웹페이지 메타 OG 태그 작업하기
3. 아마존 서버 EC2 구매하기
4. 도메인 구매 및 연결, EC2 셋팅하고 배포하기

AWS EC2란? 아마존 엘라스틱 컴퓨트 클라우드(Amazon Elastic Compute Cloud, EC2)는 아마존닷컴의 클라우드 컴퓨팅 플랫폼 아마존 웹 서비스의 중앙부를 이루며, 사용자가 가상 컴퓨터를 임대 받아 그 위에 자신만의 컴퓨터 애플리케이션들을 실행할 수 있게 합니다. EC2는 사용자가 아마존 머신 이미지(AMI)로 부팅하여 아마존이 “인스턴스”라 부르는 가상 머신을, 원하는 소프트웨어를 포함하여 구성할 수 있게 하는 웹 서비스를 제공함으로써 스케일링이 가능한 애플리케이션 배치(deployment)를 장려합니다. 사용자는 필요하면 서버 인스턴스를 만들고 시작하고 종료할 수 있으며, 실행 중인 서버에 대해 시간 당 지불하기 때문에 “엘라스틱”(elastic, 탄력적인)이라는 용어를 사용하게 됩니다.

AWS RDS란? 인프라 및 데이터베이스 업데이트를 관리해주는 것 뿐만 아니라 까다로운 관계형 데이터베이스의 설치, 운영 그리고 관리를 지원하는 "관계형 데이터베이스 서비스"입니다. Amazon RDS는 현재 MySQL, Oracle, SQL Server, PostgreSQL, MariaDB, Aurora(MySQL과 호환)을 비롯한 총 6가지 데이터베이스 엔진을 지원하고 있습니다. RDS는 EC2 인스턴스를 기반으로 운영하는 서비스 입니다. EC2에 사용 중인 db파일을 업로드하고 원격으로 사용하는 방법이 있지만, 비용 면에서는 DB를 직접 설치하는게 유리할 수 있지만 관리 편의성과 시간 절약, 지속적인 업데이트를 생각하면 확실히 RDS가 더 유용한 서비스입니다.

AWS RDS 구매하기

  1. AWS 대시보드에 접속해 RDS를 검색한다.
  2. 데이터베이스 생성을 클릭한다.
  3. "표준 생성", "MySQL"을 순서대로 클릭한다.
  4. 템플릿에서 "프리티어" 클릭한다.
  5. DB 인스턴스 "식별자 이름"을 정한다.
  6. 마스터 "사용자 이름"과  "암호"를 정한다. (꼭 기억하기!)
  7. "DB인스턴스크기"와 "스토리지"탭은 디폴트값 그대로 둔다.
  8. "연결" 탭에서 "추가 연결 구성"을 클릭한다.
  9. "퍼블릭엑세스기능" 활성화, "VPC 보안그룹" 생성.
  10. "초기데이터베이스 이름"을 정한다. "데이터베이스생성" 클릭
  11. 5번에서 정한 "식별자 이름" 클릭 > 9번에서 정한 "VPC 보안그룹"이름 클릭
  12. "보안 그룹 ID"의 값 클릭 > 인바운드 규칙 편집 클릭(inboud rule edit)
  13. "소스"는 위치무관(Anywhere pv4) 클릭하고 "규칙저장" 클릭

인텔리J에서 RDS MySQL 연결하기

  1. RDS 대시보드에 접속해 "식별자 이름" 클릭
  2. 연결&보안 탭의 엔드포인트 값 복사하기.
  3. 인텔리제이의 DataBase 탭을 클릭해 MySQL 추가 클릭
  4. Host에 엔드포인트 값 붙여넣기, 마스터 사용자 이름과 암호 입력
  5. 테스트 커넥션을 클릭하고 성공하면 OK 클릭
  6.  application.properties에, 아래 코드블럭 내용 입력
spring.datasource.url=jdbc:mysql://나의엔드포인트:3306/myselectshop
spring.datasource.username=나의마스터사용자명
spring.datasource.password=나의패스워드
spring.jpa.hibernate.ddl-auto=update​

 

아직도 코딩 안배웠어? 5만원 깎아줄께 형아만 믿어

 

AWS EC2 구매하기

  1. AWS EC2 구매 접속
  2. Launch Instance 클릭
  3. Ubuntu 18.04 LTS 선택
  4. Review and Launch 클릭
  5. Launch 클릭
  6. Create a new key pair 클릭
  7. Download Key Pair 클릭
  8. Launch Instance 클릭

EC2 접속하기 & 서버 가동

  1. git bash 실행, 아래 코드블럭 입력, Enter > "Y" 입력, Enter 
  2. ssh -i <다운로드받은키페어PATH> ubuntu@<EC2Pv4IP> <>는 지우고! 예: ssh -i /path/my-key-pair.pem ubuntu@13.125.250.20​
  3. 인텔리제이 Gradle 탭에서 Tasks>build>build 더블클릭
  4. git bash 이용, OpenJDK 설치하기
    sudo apt-get update
    sudo apt-get install openjdk-8-jdk
    java -version​
  5. FileZilla 이용해서 서버 버튼 클릭해 New Site 생성,
  6. Protocol: SFTP, Host: 인스턴스IP, Port:22, User: "ubuntu", Key Pair: 아까받은키페어 입력 "OK"
  7. EC2 관리 콘솔로 들어가, 보안그룹명 클릭, Edit Inbound Rules 클릭, 80포트와 8080포트 개방 (사용자 지정 TCP)
  8. 원격 서버가 계속 동작하게 하기 위해 다음 코드 입력
    nohup java -jar JAR파일명.jar &​
  9. 서버를 종료하고자 할 때는 다음 코드 입력
    # 아래 명령어로 미리 pid 값(프로세스 번호)을 본다
    ps -ef | grep java
    (=> 실행되고 있는 프로세스 중에 java가 포함된 프로세스 검색!)
    # 아래 명령어로 특정 프로세스를 죽인다
    kill -9 [종료하고자 하는 java 파일 pid값]​

 

도메인 연결하기: <가비아 기준>

  1. 서비스 관리 탭에서 원하는 도메인의 관리툴 버튼 클릭
  2. 도메인 연결 클릭
  3. DNS 설정 클릭, 타입:A, 호스트: @ 값:IP주소, 입력 확인
  4. 짧으면 10분 길면 30분 후 해당 도메인 접속해보기 -끝!-

결과물

😻꼬리의 사료냠냠 셀렉샵😻

 

꼬리네 사료냠냠 셀렉샵

관심상품을 선택하고, 최저가 알림을 확인해보세요!

catminzzi.shop

예시로 만들어주신 html/css는 모바일에서 보기에 최적화되어 있지 않아

약간 CSS 손봤습니다. 마음에 드네요. 스프링 재미있었다..!!!!

웹사이트 접속 화면
모바일 접속 화면

반응형

댓글