✍️ TILog_13

은유로그·2021년 11월 1일
0

🔥 Log

목록 보기
15/29

클라우드 컴퓨팅

클라우드 컴퓨팅(영어: cloud computing)은 사용자의 직접적인 활발한 관리 없이 특히, 데이터 스토리지(클라우드 스토리지)와 컴퓨팅 파워와 같은 컴퓨터 시스템 리소스를 필요 시 바로 제공(on-demand availability)하는 것을 말한다. 일반적으로는 인터넷 기반 컴퓨팅의 일종으로 정보를 자신의 컴퓨터가 아닌 클라우드에 연결된 다른 컴퓨터로 처리하는 기술을 의미한다.
위키백과 - 클라우딩 컴퓨팅

기존에는 흔히 말하는 전산실에 서버를 설치해 인터넷을 연결하고 컴퓨터를 사용했다. 만약 서버가 받을 수 있는 수용 능력의 한계에 도달한다면 서버를 추가하거나, 해당 서버를 업그레이드하는 방법 등이 있다. 하지만 이러한 방법은 몇 가지 문제점이 존재한다.

  1. 주기적인 관리 - 인력 투입 및 비용 증가
  2. 공간의 한계 - 데이터 센터 등장 ➡️ 유휴자원 등장

데이터센터가 등장하고 유휴 자원(노는 서버)를 대여하는 서비스가 등장했다. 즉, 서버의 자원과 공간, 네트워크 환경 제공을 빌려 사용하는 클라우드 컴퓨팅이 시작됐다. 여기에 가상화 기술이 발전해 기존의 온프레미스 방식과 다른 장점과 단점이 존재한다.

클라우드 컴퓨팅의 장점

  • 컴퓨팅 능력의 유연한 조절
  • 사용한 만큼의 요금 지불
  • 컴퓨터의 스냅샷을 이용한 즉시 이주(migration) 가능

클라우드 컴퓨팅의 단점

  • 클라우드 서비스에 문제 발생 시 내가 배포한 서비스에도 영향

클라우드 서비스의 형태

  • SaaS(Software as a Service): 클라우드 제공자가 당장 사용 가능한 소프트웨어를 제공하는 경우
    ex) gmail, github ...
  • PaaS(Platform as a Service): 클라우드 제공자가 데이터베이스, 개발 플랫폼까지 제공하는 경우
  • IaaS(Infrastructure as a Service): 클라우드 제공자가 가상 컴퓨터까지 제공하는 경우

AWS

아마존 웹 서비스(영어: Amazon Web Services; AWS)는 아마존닷컴의 클라우드 컴퓨팅 사업부다.
아마존 웹 서비스는 다른 웹 사이트나 클라이언트측 응용 프로그램에 대해 온라인 서비스를 제공하고 있다. 이러한 서비스의 상당수는 최종 사용자에 직접 공개되는 것이 아니고, 다른 개발자가 사용 가능한 기능을 제공하는 플랫폼을 제공하는 PaaS이다.
위키백과 - AWS

AWS에는 여러 서비스가 존재하는데, 그 중

  • 백엔드: EC2
  • 프론트엔드: S3
  • 데이터베이스: RDS

의 활용법을 배웠다.

EC2

원격으로 제어할 수 있는 가상의 컴퓨터를 한 대 빌리는 것이다.
고사양 게임을 하고싶은데,
모니터, 키보드, 마우스, 고가의 본체 + 배송 시간 까지 오래 걸려서 게임을 하냐 또는 PC방에서 후불요금제 내고 게임하냐의 차이다.

EC2에서는 AMI라는 다양한 템플릿을 제공하고 있어서 필요에 따라 손쉽게 운영체제를 선택하고 구성할 수 있습니다. 운영체제뿐만이 아니라 CPU와 RAM, 용량까지도 손쉽게 구성할 수 있습니다.
AMI는 소프트웨어 구성이 기재된 템플릿이다.

S3

S3는 AWS의 클라우드 스토리지 서비스이다. S3는 버킷이 사용자들이 정적 웹 사이트를 배포할 수 있는 공간을 제공한다.

  • 정적 웹 사이트 호스팅: 정적 파일은 서버의 개입 없이 생성된 파일을 뜻한다. 예)index.html, index.js
  • 버킷: S3에 저장되는 파일들이 담기는 바구니다. (파일을 저장하는 최상위 디렉터리)
    S3에서 버킷에 담기는 파일을 객체라고 한다.
  • URL 주소: http://버킷의 이름.S3.amazonaws.com/객체의 키

RDS

RDS는 AWS의 관계형 데이터베이스 서비스이다. RDS에는 다양한 데이터베이스 관리 엔진이 있다.

RDS를 사용해야하는 이유는 뭘까?

EC2 인스턴스에 mysql과 같은 데이터베이스 엔진을 설치해서 데이터베이스를 관리해도 괜찮다. 하지만 RDS를 사용한다면 데이터베이스 유지보수와 관련된 일들을 RDS가 자동으로 관리하기 때문에 편리하다. 사용자는 초기 설정만 해두면 데이터베이스에 저장된 데이터를 관리하는 일 밖에 없기 때문에 편의성을 느낄 수 있다.


PM2

프로세스 매니지먼트 도구이다. 서버를 npm run start로 구동하지 않고 백그라운드에서 구동될 수 있게끔 도와준다.

PM2 명령어

  • pm2 설치 $ npm install pm2 -g
  • app.js 실행 $ pm2 start app.js
  • 프로세스 목록 보기 $ pm2 ls
  • 프로세스 로그 보기 $ pm2 log
  • 프로세스 중지 $ pm2 stop
  • 프로세스 삭제 $ pm2 delete app.js

PM2에 관리자 권한 부여

  • $ sudo apt-get update
  • $ sudo apt-get install authbind
  • $ sudo touch /etc/authbind/byport/80
  • $ sudo chown ubuntu /etc/authbind/byport/80
  • $ sudo chmod 755 /etc/authbind/byport/80
  • $ sudo authbind --deep pm2 update
profile
๑•‿•๑

0개의 댓글