EFUB 백엔드 세션 6주차

xyzw·2023년 5월 2일
0

Spring

목록 보기
5/22

AWS EC2 & RDS

클라우드 컴퓨팅

  • 인터넷을 통해 가상화된 컴퓨터의 리소스(서버, 스토리지, 데이터베이스, 네트워크, 소프트웨어, 모니터링 등)를 제공하는 것
  • 리소스가 필요할 때(on-demand) 리소스를 사용한 만큼의 돈을 지불하고(usage-metered) 사용 -> 유동적으로 사양을 늘려야 하는 상황에 적합

IaaS

Infrastructure as a Service

  • IT 서비스 구성을 위한 인프라 제공
  • 서버, 스토리지 및 네트워킹 하드웨어, 가상화(하이퍼바이저) 계층을 포함하여
    애플리케이션과 서비스를 제공하는 데 필요한 모든 물리적 및 가상 핵심 인프라를 제공하고 호스팅

PaaS

Platform as a Service

  • 애플리케이션 및 서비스를 구축할 수 있는 플랫폼 제공
  • IaaS + 미들웨어, DBMS, 개발 툴, 비즈니스 인텔리전스 및 분석 툴 등 제공

Saas

Software as a Service

  • 클라이언트 조직의 최종 사용자에게 제공되는 완전한 소프트웨어 솔루션
  • 가장 포괄적인 형식의 클라우드 컴퓨팅 서비스
  • 모든 애플리케이션은 제공업체가 관리하며, 웹 브라우저를 통해 제공

AWS

Amazon Web Services
전세계 점유율 1위 클라우드

AWS 과금 요소

  • Compute: 독립 가상 서버 제공하는 경우가 대표적(ex. EC2)
  • Storage: 각 스토리지 서비스의 사용량에 따라
  • Data transfer: 트래픽을 구별하고, 서비스/구간을 분류하여 전송량에 비례해 과금

이외에도 다양한 과금 요소들이 존재


직접 경험한 것...

탄력적 IP

  • 탄력적 IP 주소가 EC2 인스턴스에 연결되어 있고,
  • 탄력적 IP 주소와 연결된 인스턴스가 실행 중이고,
  • 인스턴스에 연결된 탄력적 IP 주소가 하나만 있고,
  • 탄력적 IP 주소가 첨부된 네트워크 인터페이스에 연결되어 있을 때

탄력적 IP 주소에 대한 비용이 발생하지 않음

이중 하나라도 충족하지 않으면 시간당 요금이 부과됨
https://repost.aws/ko/knowledge-center/elastic-ip-charges

✅ 즉, 탄력적 IP를 생성한 후에 인스턴스에 연결하지 않거나, 이와 연결된 인스턴스를 중단하면 안 됨


실습 - RDS 접속 테스트

MySQL Workbench에서

EC2에서

  • ubuntu에서 MySQL 설치
sudo apt-get update
sudo apt-get install mysql-server
  • MySQL 명령어로 접속 시도
sudo mysql -u root -p 


IntelliJ에서


jar로 스프링부트 배포하는 법

bootJar 생성

  • IntelliJ에서 Gradle탭 > Task > build > bootJar 실행
  • build > libs 안에 생성된 jar 파일을 서버에 올리기

포그라운드 실행

java -jar 파일이름.jar

백그라운드 실행

nohup java -jar 파일이름.jar &

문제

  • java -jar 명령어를 실행했을 때 콘솔에 아무것도 뜨지 않은 채로 무한 로딩
  • ./gradlew build 명령어를 실행 시 아래와 같이 compile 단계에서 무한 로딩

인텔리제이에서는 프로젝트 실행에 문제가 없었는데, 서버에서는 실행되지 않음

0개의 댓글