클라우드 서비스중 가장 많은 이용률을 가지고 있는 대표적인 서비스 Amazon Web Service 에 대해 학습해보자.
Amazon Web Service.
AWS는 소위 클라우드 서비스라고도 한다.
클라우드 서비스는 서버 등의 인프라스트럭쳐를 필요한대로 on demand로 사용할 수 있는 서비스이다.
즉, 유저가 직접 서버를 구입하고 설치할 필요 없이 AWS상에서 클릭 몇번으로 서버를 구축하고 사용할 수 있다.
AWS가 제공하는 기능들은 굉장히 방대하고 다양하다. 그 중
EC2, Security Group, RDS, Load Balancer (ALB), Route 53, 53에 대해 알아보자!
1. EC2
Elastic Compute Cloud
AWS상에서 사용하는 Server.EC2 서버에 API를 배포하게 된다.
t2.nano (CPU 1, 0.5 GB memory) 부터 x1.32xlarge (CPI 128, 1952 GB) 까지 다양하게 제공함으로 필요한 사양의 EC2 인스턴스(instnace)를 선택해서 사용하면 된다.
2. Secuirty Group
EC2 인스턴스에 대한 네트워크 트래픽을 제어하는 가상 방화벽 역활을 한다.
즉 security group 설정을 해줘야 EC2 인스턴스에 HTTP와 SSH 접속이 가능하다.
3. RDS (Relational Database Service)
AWS의 database 서비스
RDS를 사용하면 사용자가 직접 서버를 생성해서 데이터 베이스를 설치하고 설정하고 관리 하지 않아도 된다.
그러면서 동시에 비용도 더 저렴하다. 사용자가 직접 데이터 베이스를 설치하고 운영하는 것보다 RDS를 사용하는것이 더 저렴함. 즉, RDS를 사용 하지 않을 이유가 거의 없다.
4. Load Balancer
로드발란서는 HTTP 요청들을 여러 서버에 분산할때 사용된다.
HTTP 요청이 많을때는 서버 하나만으로 모두 처리 하기 힘들기 때문에 서버 수를 늘리는것이 일반적이다. 그럼으로 여러 서버를 실행하고 로드발런서가 HTTP 요청들을 서버들에 분산 해주는 형태로 시스템이 구성된다.
5.Route 53
AWS의 DNS 서비스.
API 시스템을 실제 도메인과 연결 시키주는 기능을 제공한다.
6. AWS S3
AWS S3(Simple Storage Service)는 이름 그대로 파일을 쉽게 저장할 수 있는 공간을 제공하는 서비스.
파일을 저장 할 수 있을 뿐만이 아니라 파일마다 고유 주소를 부여해주기 때문에 S3에 저장한 파일을 웹상에서 쉽게 읽어들일수 있다.
주로 사이트상의 이미지들을 저장하고 사이트에서 읽어들여 렌더링 해주는데 사용한다.