관리 메뉴

Dev Blog

14. Deployment & Cloud Computing 본문

카테고리 없음

14. Deployment & Cloud Computing

Nomad Kim 2021. 1. 26. 16:59

Achievement Goals

  1. Cloud와 Deployment의 의미를 각 각 알고, 내 코드를 남에게 배포할 수 있다.
  2. 최소 AWS 서비스 블럭 에서 3개 이상의 서비스를 활용 하고, 설명 할 수 있다.(S3, EC2, RDS)
  3. ssh를 무엇을 위해 활용 하는지 알고, 다른 컴퓨터에 원격 접속 한다는 것의 의미를 설명할 수 있다.
  4. 보안을 위하여 github에 올리지 말아야 할 코드를 gitignore로 따로 분류 할 수 있다.

프리티어에서 요구하는 조건을 지키면 무료.

 

Cloud

 

Deployment

다른 컴퓨터에 코드를 올려서 구동시킬 수 있는 것.

 

AWS 서비스 블럭

  • S3
  • EC2
  • RDS

ssh

원격 접속.

gitignore

 

 


Environments and Deployment

 

Problem

Why run our code on another computer? Deployment

Process to Deployment

 

staging: 일종의 준 배포

 

How can we guarantee our code will work in each of these environment?

설정해줘야할 환경 설정들.

 

주의할 점

 

Truth

 


 

1. SPA serve strategy

 

Amazon S3

Amazon Simple Storage Service

 

*static한 클라이언트 파일(html, css, js) 을 *build 하여 유저들이 (앱스토어에서 다운 받는 것처럼) 다운 받을 수 있도록 하는 서비스. 파일을 저장할 수 있는(파일 서브) 클라우드 서비스로 스태틱 파일 저장도 가능하다. 파일을 담을 수 있는 버킷이라 보면 된다.

(node + express 활용하여 static file serve할 수도 있다.)

 

*static file

static 파일이란 직접 값에 변화를 주지 않는 이상 변하지 않는 파일을 의미하는데 js, css, image, font 등과 같이 개발자가 사전에 미리 서버에 저장 해둔 파일들을 말합니다.정적 파일.

 

*build

 

2. Server Application deploy strategy

 

Amazon EC2

Amazon Elastic Compute Cloud

 

서버 앱을 돌릴 수 있는 다른 컴퓨터를 임대하기 위한 서비스. 서버 특화된 컴퓨터. 아마존에서 컴퓨터를 하나 만들어서 제공하는 것으로 여기에 서버 앱을 올려서 구동을 하게 된다.

안전하고 크기 조정이 가능한 컴퓨팅 용량을 클라우드에서 제공하는 웹 서비스입니다.

 

 

AWS 가 가진 컴퓨터 EC2 는 이름과 주소를 가지고 있다.

예) 이름: EC2 주소: 13.xx.xx.xx(개인의 localhost처럼)

여기에 유저가 원격으로 접속할 수 있다.

 

Amazon RDS

Amazon Relational Database Service

 

데이터베이스를 제공하는 클라우드 서비스(셋업이 되어있고, 환경 설정을 UI 에서 할 수 있다.). 데이터 베이스 특화된 가상의 컴퓨터. 데이터베이스 또한 로컬에 있는 MySQL 을 사용하지 않는다.

전체 프로세스

SPA serve strategy + Server Application deploy strategy

 


 

Deploy Sprint Architecture

 

Bare minimum

 

 

1. S3

리액트 빌드 파일을 서브할 수 있는 버킷 셋업

 

2. EC2

클라이언트 앱을 받아간 유저가 EC2 접속하여 구동되고 있는 Node server의 API 를 받아감.

 

3. RDS

API를 받아갈때 필요한 데이터는 RDS 라는 Database Instance 에서 *query 해 감.

 

*query

파일의 내용 등을 알기 위해 몇 개의 코드(code)나 키(key)를 기초로 질의하는 것을 의미합니다. 데이터 베이스에 존재하는 자료를 사용자가 원하는 조건을 통해 검색하고, 검색된 결과를 자유로이 조회할 수 있는 기능 등을 지원하는 것.

 

Advanced

HTTPS 웹사이트 만들기.

1. Certificate manager

 

SSL 인증서를 받을 수 있는 서비스

 

2. Cloud font, ELB

 

SSL 인증서를 클라이언트와 서버 어플리케이션에 각각 적용시키기 위해 사용하는 서비스

Cloud font: CDN을 활용해서 클라이언트 파일을 전 세계에 빠르게 제공할 수 있는 서비스.

 

3. Route 53

나만의 도메인을 갖기 위함.

Nightmare

 

Code Build

 

Code Deploy

Comments