Skip to content

Trade-Ham/Trade-Ham-Cloud

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 

Repository files navigation

Trade-Ham-Cloud


EC2에 실제 서비스 배포해보기

준비물

  • EC2 인스턴스
    • .pem 파일(ec2 접속키)
  • 프리티어 RDS
  • .jar 파일

0. EC2 생성하기

  • 인스턴스 생성 방법
  • Amazon Linux로 설치하기 - 이걸로 진행할거임
  • 생성된 인스턴스에서 보안그룹에 8080 추가해주기
  • 생성된 인스턴스 퍼블릭 IP 적어두기

1. RDS 생성

  • AWS 접속
  • 서비스 검색 - RDS
  • 데이터 베이스 생성하기
    1. 데이터베이스 생성 방식 선택 - 표준 생성
    2. 엔진 옵션 - MySQL
    3. 엔진 버전 - MySQL 8.0.32 (다른 방법은 작동)
    4. 템플릿 - 프리티어
    5. 설정
      • DB 인스턴스 식별자 - <원하는이름(이게 RDS 베이스 주소가 됨)>
      • 자격 증명 설정
        • 마스터 사용자 이름 - <원하는거 ID>
        • 자격 증명 관리 - 자체 관리
        • 마스터 암호 - <원하는 Password>
        • 마스터 암호 확인 - <원하는 Password>
    6. 인스턴스 구성 - 설정x
    7. 스토리지 - 설정x
    8. 연결
      • 컴퓨팅 리소스 - 리소스 연결 안함
      • 네트워크 유형 - IPv4 (그대로)
      • Virtual Private Cloud(VPC) - Default(그대로)
      • DB 서브넷 그룹 - Default(그대로)
      • 퍼블릭 액세스 - 예
      • VPC 보안 그룹(방화벽) - 새로 생성 - 이름 아무거나
      • 가용영역 - 기본 설정 없음
    9. 데이터베이스 인증 - 암호 인증(그대로)
    10. 데이터베이스 생성 버튼 눌러 바로 생성하기
  • 데이터 베이스 생성되면 엔드포인트 복사해두기
  • 접속 테스트(택 1)
    • MySQLWorkbench를 통해 접속 테스트
    • mysql -h <rds-endpoint> -P <port> -u <username>
    • 접속 잘 된다면 정상적으로 생성되고 접속을 확인함

2. EC2에 접속하고 도커 설치

  1. EC2 접속
    • ssh -i <sshkey.pem> ec2-user@<생성한 인스턴스 퍼블릭 IP>
  2. Docker 설치
    • Amazon Linux는 CentOS 기반이므로 명령어는 다 yum
    • sudo yum update -y
    • sudo yum install -y docker
    • sudo systemctl start docker
    • sudo systemctl enable docker
    • sudo yum install git -y
    • sudo docker 를 쳤을때 이것저것 나오면 정상
  3. 도커 파일 작성 및 내용 수정하기
    • FROM openjdk:21-jdk-slim AS build : 자바 버젼 다르다면 바꾸기
    • RUN git clone -b dev https://github.com/KTB-FarmMate/FramMate-API-Server : 해당하는 깃허브 링크 및 브랜치로 바꾸기
    • .env 파일로 환경 변수 작성
      	ARG MYSQL_HOST
    	ARG MYSQL_PORT
    	ARG DB_NAME
    	ARG MYSQL_USERNAME
    	ARG MYSQL_PASSWORD
    	
    	ENV MYSQL_HOST=${MYSQL_HOST}
    	ENV MYSQL_PORT=${MYSQL_PORT}
    	ENV DB_NAME=${DB_NAME}
    	ENV MYSQL_USERNAME=${MYSQL_USERNAME}
    	ENV MYSQL_PASSWORD=${MYSQL_PASSWORD}
    
  4. 도커 파일 생성하기
    • sudo vi Dockerfile 하고 깃허브 Dockerfile 내용 참고
  5. 도커 이미지 빌드하기
folder
├── Dockerfile
├── github 클론 폴더
└── .env

이 형태에서 시작

  • sudo docker build --env-file .env -t <이미지명>:<태그명> .
  • 이미지 빌드가 다 되었다면 sudo docker images 로 생성한 이미지를 확인
  1. 도커 컨테이너 실행하기
    • sudo docker run -d -p 8080:8080 --name <원하는 컨테이너명> <이미지명>:<태그명>
    • 정상적으로 실행했다면 sudo docker ps 를 했을때 실행중인 컨테이너가 보일 것임
    • 안보인다면?
      • sudo docker ps -a를 해서 꺼져있는 컨테이너 ID를 확인하고
      • sudo docker logs <컨테이너 ID>로 문제를 확인
  2. 애플리케이션에 요청 날려보기
    • <퍼블릭 주소 IP>:8080 주소 형태로 요청 날리면 될것임

About

클라우드 관련 자료 정리

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published