클라우드 컴퓨팅(영어: cloud computing)은 사용자의 직접적인 활발한 관리 없이 특히, 데이터 스토리지(클라우드 스토리지)와 컴퓨팅 파워와 같은 컴퓨터 시스템 리소스를 필요 시 바로 제공(on-demand availability)하는 것을 말한다. 일반적으로는 인터넷 기반 컴퓨팅의 일종으로 정보를 자신의 컴퓨터가 아닌 클라우드에 연결된 다른 컴퓨터로 처리하는 기술을 의미한다.
위키백과 - 클라우딩 컴퓨팅
기존에는 흔히 말하는 전산실에 서버를 설치해 인터넷을 연결하고 컴퓨터를 사용했다. 만약 서버가 받을 수 있는 수용 능력의 한계에 도달한다면 서버를 추가하거나, 해당 서버를 업그레이드하는 방법 등이 있다. 하지만 이러한 방법은 몇 가지 문제점이 존재한다.
데이터센터가 등장하고 유휴 자원(노는 서버)를 대여하는 서비스가 등장했다. 즉, 서버의 자원과 공간, 네트워크 환경 제공을 빌려 사용하는 클라우드 컴퓨팅이 시작됐다. 여기에 가상화 기술이 발전해 기존의 온프레미스 방식과 다른 장점과 단점이 존재한다.
아마존 웹 서비스(영어: Amazon Web Services; AWS)는 아마존닷컴의 클라우드 컴퓨팅 사업부다.
아마존 웹 서비스는 다른 웹 사이트나 클라이언트측 응용 프로그램에 대해 온라인 서비스를 제공하고 있다. 이러한 서비스의 상당수는 최종 사용자에 직접 공개되는 것이 아니고, 다른 개발자가 사용 가능한 기능을 제공하는 플랫폼을 제공하는 PaaS이다.
위키백과 - AWS
AWS에는 여러 서비스가 존재하는데, 그 중
의 활용법을 배웠다.
원격으로 제어할 수 있는 가상의 컴퓨터를 한 대 빌리는 것이다.
고사양 게임을 하고싶은데,
모니터, 키보드, 마우스, 고가의 본체 + 배송 시간 까지 오래 걸려서 게임을 하냐 또는 PC방에서 후불요금제 내고 게임하냐의 차이다.
EC2에서는 AMI라는 다양한 템플릿을 제공하고 있어서 필요에 따라 손쉽게 운영체제를 선택하고 구성할 수 있습니다. 운영체제뿐만이 아니라 CPU와 RAM, 용량까지도 손쉽게 구성할 수 있습니다.
AMI는 소프트웨어 구성이 기재된 템플릿이다.
S3는 AWS의 클라우드 스토리지 서비스이다. S3는 버킷이 사용자들이 정적 웹 사이트를 배포할 수 있는 공간을 제공한다.
RDS는 AWS의 관계형 데이터베이스 서비스이다. RDS에는 다양한 데이터베이스 관리 엔진이 있다.
EC2 인스턴스에 mysql과 같은 데이터베이스 엔진을 설치해서 데이터베이스를 관리해도 괜찮다. 하지만 RDS를 사용한다면 데이터베이스 유지보수와 관련된 일들을 RDS가 자동으로 관리하기 때문에 편리하다. 사용자는 초기 설정만 해두면 데이터베이스에 저장된 데이터를 관리하는 일 밖에 없기 때문에 편의성을 느낄 수 있다.
프로세스 매니지먼트 도구이다. 서버를 npm run start로 구동하지 않고 백그라운드에서 구동될 수 있게끔 도와준다.
$ npm install pm2 -g
$ pm2 start app.js
$ pm2 ls
$ pm2 log
$ pm2 stop
$ pm2 delete app.js
$ 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