부트캠프 기록/Section4

[Cloud] aws를 이용한 서버 배포

bbangduck 2022. 12. 2. 21:39

AWS 용어

Cloud Computing

  • 기존 서버 방식의 한계로 클라우드 서버가 등장
    • 필요할 때마다 컴퓨팅 능력을 유연하게 조절
    • 사용한 만큼의 요금만 지급
    • 다른 컴퓨터로 즉시 이주(마이그레이션) 가능
  • 제공 서비스 범위에 따른 클라우드 종류
    • SaaS, PaaS, IaaS 

 

 

Deploy

  • 절대경로 대신 상대경로 사용
  • 환경에 따라 포트를 분기할 수 있도록 환경변수를 설정
  • 도커와 같은 개발 환경 자체를 통일시키는 솔루션 사용

 

EC2

  • Elastic Compute Cloud
  • 컴퓨터를 한 대 빌리는 것
  • AMI를 통해 다양한 운영체제 선택 가능(CPU, RAM, 용량도)

 

 

RDS

  • Relational Database Service
  • 데이터베이스 유지 보수와 관련된 일들을 전적으로 자동관리
  • 오라클, 아마존 Aurora, MySQL, PostgreSQL 등 다양한 데이터베이스 엔진 선택 가능

 

S3

  • Simple Storage Service
  • 뛰어난 접근성
  • 높은 확장성
  • 높은 내구성

 

  • 다양한 스토리지 클래스
    • S3 Standard 
    • Standard-IA
    • S3 Glacier Deep Archive

 

  • 정적 웹 사이트 호스팅 가능 (서버의 개입 없이 생성된 파일)

 

  • 버킷, 객체(버킷에 담기는 파일)
    • 버킷은 리전당 하나

 

서버 배포 

프로세스 확인 

lsof -PiTCP -sTCP:LISTEN

 

 

빌드작업

./gradlew build

 

 

ec2 인스턴스에서 서버 실행하기

java -jar build/libs/DeployServer-0.0.1-SNAPSHOT.jar

 

 

실행 권한 부여

chmod 755 restart.sh

 

 

쉘스크립트 작성해서 사용해보기

./restart