범위: 11장 AWS에 배포하기

 

 

다른 PC에서 내가 만든 서비스를 접속하게 할 수 있는 방법

1. 서버용 PC를 구매해서 배포

    - 공간, 설치, 유지보수가 매우 복잡함

2. AWS와 같은 클라우드 컴퓨팅 서비스를 이용하여 배포

    - 공간, 설치, 유지보수가 편리함

    - but 서비스 사용이 복잡한 관계로 공부를 더 해야한다. 

 

AWS(Amazon Web Services)

- 아마존에서 제공는 클라우드 컴퓨팅 플랫폼을 구성하는 원격 컴퓨팅 서비스(웹 서비스라고도 함) 모음

- 컴퓨팅 서비스, 네트워크 서비스, 데이터베이스 서비스, 스토리지 서비스 등 다양한 서비스를 제공한다.

 

AWS에서 배포하기 위해 설정할 것들.

- AWS 상에서 서버를 구성(= AWS 안에서 가상 PC를 마련하는 것)하고, 그 외 많은 서비스를 직접 생성

- EC2(Elastic Compute Cloud): 가상의 PC, 즉 서버 한 대를 임대하는 서비스. 프로그램의 사용자가 많아지면 여러대의 EC2를 사용한다.

- 오토 스케일링 그룹: 사용자가 많을 때, 적을 때 모두 많은 EC2를 사용하면 낭비가 생김. 오토 스케일링 그룹이 사용자의 요청 횟수에 따라 EC2를 늘리거나 줄여서 조절해준다.

- 로드 밸런서: 요청들이 한 경로로에만 들어오면 부하가 생길 수 있다. 로드 밸런서가 요청을 분산시켜준다. 로드 밸런서를 만들 때 요청을 어디에 분산시킬지 그룹을 정해야하는데 이는 대상 그룹(target group)이라고 한다.

- 데이터 저장소: DB도 클라우드에 올려야한다. AWS에서는 RDS, Redshift, DocumentDB, ElasticCache 등이 있다. 

- 이외에도 많은 서비스를 설정해야 서버를 구축할 수 있다. => 일래스틱 빈스토크가 출시되어 조금 더 편하게 설정할 수 있다.

- 일래스틱 빈스토크: 위의 내용들을 한 번에 설정하는 서비스. 서버 업로드용 코드만 작성해도 서버를 쉽게 올릴 수 있고, 그 외의 기능들은 메뉴 안에 직접 구성하거나 설정 파일로 자동 처리할 수 있다.