AWS
AWS는 Amazon Web Service
AWS는 클라우드 서비스
클라우드 서비스
- 서버 등의 인프라스트럭쳐를 필요한대로 on demand로 사용할 수 있는 서비스
즉, 유저가 직접 서버를 구입하고 설치할 필요 없이 AWS상에서 클릭 몇번으로 서버를 구축하고 사용.
AWS 필수 개념
EC2 (Elastic Compute Cloud)
- AWS 상에서 사용하는 Server. EC2 서버에 API를 배포
- EC2는 다양한 사양 옵션을 제공한다. 필요한 사양의 EC2 인스턴스(instnace)를 선택해서 사용하면 된다 (사양이 좋을 수록 비싸다).
Secuirty Group
- EC2 인스턴스에 대한 네트워크 트래픽을 제어하는 가상 방화벽 역활
- 즉, security group 설정을 해줘야 EC2 인스턴스에 HTTP와 SSH 접속이 가능
RDS (Relational Database Service)
- AWS의 database 서비스
- RDS를 사용하면 사용자가 직접 서버를 생성해서 데이터 베이스를 설치하고 설정하고 관리 하지 않아도 된다.
- 비용도 더 저렴하다. 사용자가 직접 데이터 베이스를 설치하고 운영하는 것보다 RDS를 사용하는것이 더 저렴함.
Load Balancer
- 요청이 많을때 서버 하나만으로 처리 하기 힘들기 때문에 HTTP 요청들을 여러 서버에 분산할때 사용된다.
Route 53
- API 시스템을 실제 도메인과 연결 시키주는 기능을 제공
AWS S3 (Simple Storage Service)
-
파일을 쉽게 저장할 수 있는 공간을 제공하는 서비스.
-
파일마다 고유 주소를 부여해주기 때문에 S3에 저장한 파일을 웹상에서 쉽게 읽어 들일 수 있음
-
예) 사이트상의 이미지들을 저장하고 사이트에서 읽어들여 렌더링 해주는데 사용
전통적인 방식은 무엇이었을까요?
- Datacenter 렌트 비용을 지불해야한다 (월간 / 연간)
- Power supply, cooling, maintenance 비용을 지불
- 새로운 하드웨어 (서버)를 추가하거나 교체할 때 시간이 많이 소모
- 확장하는데 제한사항이 많다
- 현재 유지되고 있는 인프라를 24/7 모니터링 할 인원을 고용해야 한다.
- 천재지변에 대응하기 어렵다. (지진, 화재, power shutdown, 등)
클라우드는 무얼 해결해 주나요?
유동성
: 유동적으로 원하는 리소스의 타입과 사이즈를 쉽게 변경 가능
비용절감
: 내가 사용한만큼만 금액을 지불
확장성
: 쉽게 새로운 리소스를 추가할 수 있으므로 확장하는데 용이
고효율
: 글로벌하게 확장되어있는 인프라
민첩성
: 빠르게 개발하고, 테스트하여 사용
즉, 당신이 해야하는 일의 수천가지 수만가지를 줄여주며 가격성, 확장성, 테스트, 유동성 등 여러 부문에서 당신의 프로젝트 배포부분에서 도와준다.