Achievement Goals
Cloud와 Deployment의 의미를 각 각 알고, 내 코드를 남에게 배포할 수 있다.
클라우드 컴퓨팅이 무엇인지 설명할 수 있다.
Deployment의 의미를 이해할 수 있다.
코드를 남에게 배포할 수 있다.
사용하는 서비스들의 특징과 사용해야 하는 이유를 이해할 수 있다.
RDS와 EC2에 설치된 데이터베이스의 차이를 이해할 수 있다.
S3의 높은 가용성과 안정성을 이해할 수 있다.
CloudFront의 콘텐츠 로딩시간 단축의 효과들을 이해할 수 있다. (advanced)
Route53을 이용해 요청을 쉽고 안전하게 원하는곳으로 보낼수 있음을 이해할 수 있다. (advanced)
커스텀 도메인을 이용해 요청을 원하는 곳으로 라우팅할 수 있다. (advanced)
DNS가 무엇인지 이해할 수 있다. (advanced)
커스텀 도메인을 이용해 인증서를 발급받고 SSL을 적용할 수 있다. (advanced)
가상화(Virtualization) 기술의 발전, 서버의 자원과 공간 및 네트워크 환경 제공. 필요할 때마다 컴퓨팅 능력을 유연하게 조절. 사용한 만큼의 요금만 지급하고 다른 컴퓨터로 바로 migration이 가능.
그러가 운영환경 자체가 클라우드 제공자에 종속되어 버리므로, 클라우드 서비스에 문제가 생기면 현재 배포하고 관리하는 환경에도 영향을 끼침.
다음과 같은 3가지의 클라우드 서비스 형태를 지님.
4가지 단계가 있음.

AWS 에서 원격으로 제어할 수 있는 가상의 컴퓨터를 한대 빌리는 것. 이를 인스턴스라 표현. 필요한 용도에 따라 다양한 운영체제 및 CPU, RAM, 용량도 손쉽게 구성 가능.
ssh -i "~/Desktop/AWS_Deploy_Practice.pem" ubuntu@ec2-52-79-237-229.ap-northeast-2.compute.amazonaws.com
** 주소 부분에 문자열 처리 주
AWS에서 제공하는 관계형 DB Service. EC2에 DB를 생성해서 유지 보수하는 것과는 다르게 AWS에서 전적으로 자동 관리해 줌. 그리고 DB 엔진 선택지를 제공.
MySQL 클라이언트를 통해 RDS의 DB 인스턴스에 연결하기 위해서 세가지 정보가 필요.
AWS에서 제공하는 클라우드 스토리지 서비스. 높은 확장성으로 인해 돈만 내면 무한히 확장 가능. 내구성도 뛰어남. 장기적인 보관 목적으로 스토리지를 사용 시, Glacier를 사용하는 것이 효율적.
버킷 : S3에 저장되는 파일들이 담기는 바구니.
정적 웹사이트는 다음과 같이 4단계에 걸쳐서 hosting할 수 있음.
node.js로 실행되는 프로그램 (혹은 프로세스) 관리자. window 작업관리자로 이해하자. 하기 명령어는 매우 유용하니 숙지해놓자.
불필요한 데이터를 없애고, 통합/압축하여 배포하기 최적화된 상태를 만들어 데이터의 용량이 줄어들고 웹 사이트 로딩 속도가 빨라짐.
authbind --deep pm2 start app.js