아마존 웹 서비스(Amazon Web Service)는 줄여서 AWS라고 부른다.


클라우드(Cloud) & 아마존 웹 서비스(AWS)

- 인프라 제공하는 역할을 하고, 웹 서비스를 해야하는 개발자들은 이 인프라를 임대하여 사용한다.

- 즉, 서버의 구매, 구축, 운영을 대행해주는 서비스이다.(웹 호스팅과 유사함)

- 탄력적인 인프라 운영(사용자의 폭주 시 서버의 성능, 갯수를 유동적으로 빠르게 변경이 가능하다)

- 사용한만큼 과금하는 방식이다.

  

EC2 

- Elastic Compute Cloud

- 쉽게말해 1대의 독립적인 컴퓨터를 임대한다고 생각하면 된다. 평범한 컴퓨터처럼 사용할 수 있다.

- 다만 물리적인 컴퓨터가 아니라 가상의 컴퓨터이다.

- Linux, Window 운영체제 제공한다.

- 웹서버 또는 애플리케이션 서버로 사용된다.


S3

- Simple Storage Service

- 파일 서버라고 할 수 있다.(이미지나 동영상을 갖고 있다가 제공)

- EC2에도 할 수 있지만, S3의 경우 특정 변경없이 무제한 저장이 가능하기 때문에 주로 사용된다.

- 스케일은 아마존 인프라가 담당하기때문에 편리하다.

- 1바이트 ~ 5테라 바이트의 단일 파일을 저장하는 것이 가능하다.


RDS

- Relational Database Service

- MySQL, Oracle, MsSQL 등등이 존재한다.

- DB를 쉽게 운영할 수 있게해주는 서비스이다.

- 백업, 리플리케이션과 같은 것을 아마존 인프라가 자동으로 제공한다.


EDB

- Elastic Load Balancing

- EC2로 유입되는 트래픽을 여러대의 EC2로 분산하는 기능을 한다.

- 장애가 발생한 EC2를 감지해서 자동으로 배제하는 기능을 한다.

- Auto Scaling 기능을 이용해서 EC2를 자동으로 생성 및 삭제를 한다.


위와 같은 서비스들을 조합해서 웹 서비스를 만들면 되는것이다.

AWS를 제어하는 방법에는 세 가지가 존재한다.


첫 번째. AWS Management Console

두 번째. CLI

세 번째. SDK


(1)AWS Management Console

웹에서 접속하기 때문에 언제 어디서든 접속이 가능하며 다른 것들에 비해 쉽고 사용하기 편하다.

하지만, 일부 기능의 경우 CLI를 통해서만 제공되기떄문에 상호보완적인 관계라 할 수 있다.


(2)CLI

Command Line Interface의 약자로 명령어를 이용해서 서비스를 제어한다.

아이콘과 같은 GUI 환경이 컴퓨터 세계를 장악했지만, 코딩으로 해야하는 부분이 존재한다.


(3)SDK

Software Development Kit의 약자로 각 언어(Java, Python, PHP ..)별로 AWS를 프로그래밍으로 제어할 수 있는  API 묶음이다. 이를 이용해서 AWS 인프라를 제어할 수 있는 명령어라고 할 수 있다. 

Posted by sungho88
,