TIL_040_210420

James·2021년 4월 21일
0

TILs

목록 보기
40/40

배포(Deployment)란?

개발한 서비스를 사용자가 이용 가능하게 하는 과정

AWS를 이용한 배포

1. 서버 배포

  • 클라우드 가상서버인 EC2(Elastic Compute Cloud) 콘솔에서 인스턴스를 생성
  • 인스턴스 생성 시 OS 선택
  • 인스턴스 내에서 자동으로 만들어준 DNS주소로 들어가면 그것이 서버 실행화면을 나타냄 (서버 활성화 여부를 바로 알 수 있음)
  • pm2(process manager)를 설치해서 이용하면 background에서 서버를 실행할 수 있어 서버 실행을 명령한 컴퓨터 전원이 나가도 서버가 계속해서 활성화 상태를 유지할 수 있음

2. 클라이언트 배포

  • 클라우드 확장가능 스토리지인 S3(Simple Storage Service) 콘솔에서 버킷(Bucket) 생성
  • 버킷은 객체를 담을 수 있는 공간이고 객체 안에는 빌드 파일(npm run build 로 생성된 파일들)을 업로드
  • 버킷 속성에서 웹사이트 엔드포인트 주소를 열면 클라이언트 화면을 볼 수 있음

3. 데이터베이스 연결

  • RDS(Relational Database Service) 콘솔에서 데이터베이스 생성

3.1. 가상서버 설치한 EC2에 데이터베이스를 설치하지 않고 왜 RDS를 사용하는가?

  • DB 설치, 관리, 확장을 AWS에서 대신해 주고 혹시 모를 DB손상 등에 대비한 백업 로직을 제공
  • 따로 EC2에서 설치하고 관리 하는 것보다 더 편리한 기능들을 많이 제공하기 때문(더 간편하고 안전함)

4. 도메인 연결

  • Route53 (DNS Service) 콘솔에서 새로운 도메인을 구입하거나 다른 곳에서 구매해온 도메인을 S3의 버킷의 엔드포인트와 연결

5. https 프로토콜 사용

  • S3에서 기본적으로 제공하는 엔드포인트는 http 프로토콜을 사용
  • 클라이언트에서 https 프로토콜을 사용하려면 CloudFront 라는 CDN(Contents Delivery Network) 서비스에서 제공하는 "Redirect HTTP to HTTPS" 동작과 Certificate Manager에서 SSL 인증서를 발급받아 해당 CloudFront ID과 연결시켜주면 됨(Route 53을 매개체로 이용)
  • 서버에서 https 프로토콜을 사용하려면 Certificate Manager에서 ACM 인증서를 발급받아 도메인과 연결하고, EC2의 메뉴 중 로드밸런싱에서 Application Load Balancer 생성해서 Route 53의 도메인과 연결해주고 https 443(port no.)로 리디렉션 설정해주면 됨
profile
웹개발자 James 입니다.

0개의 댓글