얼마전에 아마존에 테스트 서버팜을 구성해야 될 일이 있어 아마존 서비스를 훓어보다 생각보다 광범위하고 꼼꼼한 서비스 종류에 놀란적이 있다.

그래서 현재 아마존 웹서비스(AWS: Amazon WebServices)에서 제공하고 있는 서비스들에 대해서 간단하게 정리해 보았다.


1. Compute
 
- EC2 (Elastic Compute Cloud)
클라우드 환경에서 서버를 할당 받아 사용할 수 있는 서비스, 서버 호스팅과 비슷한 개념이지만, 실제 물리적인 서버를 할당 받는 것이 아니라 클라우드 환경에서 가상 서버를 할당 받는 것이 다른 점.
 
- Auto Scaling
수요에 따라 EC2의 규모를 자동으로 조절 할 수 있는 서비스. 
예를 들어 web server의 cpu load가 50%가 넘어가면 새로운 web server를 추가하도록 세팅이 가능하다.
 
 
2. Networking
 
- DirectConnect
AWS와 직접 연결된 전용 네트워크 서비스 (AWS 네트워크와 직접 연결을 해주는 네트워크 사업자가 따로 있는듯)
 
- Route 53
DNS 서비스
 
- VPC (Virtual Private Cloud)
사설 네트워크 서비스
 
- Elastic Load Balancing
Load Balancing 서비스
 
 
3. Storage & Content Delivery
 
- Glacier
저비용 데이터 보관 및 백업 서비스. 자주 사용되지 않는 데이터를 보관 및 백업하는데 유용한 서비스 
 
- S3 (Simple Storage Service)
인터넷 스토리지 서비스. 웹에서 바로 접근 할 수도 있고, EC2에서 mount해서 사용할 수도 있다.
 
- EBS (Elastic Block Storage)
EC2 인스턴스에서 사용할 수 있는 블럭 레벨 스토리지. 용량, IOPS 설정등이 가능하다. 
* S3는 네트워크 스토리지, EBS는 서버에 추가할 수 있는 하드웨어 스토리지(SATA 하드 같은)로 이해하면 될듯.  
 
- CloudFront
콘텐츠 전송용 웹서비스. CDN과 비슷한 서비스로, 
EC2나 S3같은 서비스에서 사용시 가장 가까운 엣지로 자동 라우팅되서 콘텐츠 전송 속도를 향상할 수 있다.   
 
- Storage Gateway
aws의 스토리지와 로컬 스토리지를 연동해주는 서비스. 로컬에 있는 DAS, NAS, SAN 과 같은 장비와 S3를 연동해서 메인 데이터는 S3에 두고 접근빈도가 높은 데이터는 로컬 스토리지에 케싱하거나, 모든 데이터는 로컬 스토리지에 두고 일정 시간에 따라 주시적으로 데이터의 스냅샷을 S3에 저장하는 등의 서비스를 구축할 수 있다.
 
- Import / Export
대용량 데이터를 이동식 디바이스에 직접 import / export 해 주는 서비스. 외장 하드같은 디바이스를 Amazon에 우편으로 보낸 다음, 데이터를 Import 또는 Export 후 다시 돌려받는 방식. 
 
 
3. Database (BigData)
 
- RDS (Relational Database Service)
RDBMS 클라우드 서비스. MySQL, PostgreSQL, Oracle, SQL Server 지원. 
* EC2에 새로 Instance를 생성하고 직접 설치해서 사용할 수도 있지만 RDS를 사용할 경우 유지 보수 이슈를 획기적으로 줄일수 있다.(Amazon이 관리해주니까....) 하지만 서버에 직접 접근 권한이 없기 때문에 사용에 제한이 많기 때문에 서비스 종류나 기타 기업의 특성등을 잘 고려해서 선택해야 될 듯 하다. 
 
- DynamoDB
아마존에서 서비스하는 NoSQL 데이터 베이스 
 
-SDB (Simple Database )
비정규방식의 DB 서비스(??)
 
- Elastic Cache
Caching 서비스. Memcached, Redis 지원. 
 
- Redshift *Beta
빅데이터 분석 서비스 인듯. 
 
- EMR (Elastic MapReduce)
AWS상에서 서비스되고 있는 Hadoop 프레임워크 위에서 사용할 수 있는 MapReduce 서비스. 데이터의 종류나 양에 따라 Mapreduce에 필요한 리소스의 가변폭이 큰 경우 아주 유용할 듯.
하지만 사용하기 위해서는 반드시 Hadoop도 AWS상에 구축되어야 한다.
 
- Data Pipeline
서버 또는 스토리지간 주기적인 데이터 이동을 지원하는 서비스.
 
** MySQL, PostgreSQL, Oracle, SQL Server, Redis, Memcached를 제외한 다른 어플리케이션들은 직접 설치하거나 EC2에 새로운 인스턴스를 생성할때 Amazon Marketplace에서 패키징된 OS를 선택해야 함.
 
  
4. Deploy & Management
 
- CloudFormation:
클라우드 서비스를 생성 관리 할 수 있는 서비스. 
예를 들어 LAMP Formation 을 선택하고 생성하면 Linux + Apache + MySQL + PHP 환경에 맞는 클라우드 컴퓨팅 환경을 한번에 생성 할 수 있다.
 
- CloudWatch
클라우드 리소스 및 어플리케이션 모니터링 서비스 
 
- Elastic Beanstalk *Beta
웹 어플리케이션(php, Node.js, Python, Ruby, .Net등등)을 aws에 쉽게 배포할 수 있도록 도와주는 웹서비스
 
- OpsWorks
웹 어플리케이션을 Stack 구조 베이스로 생성 관리 할 수 있고, 어플리케이션을 배포할 수 있는 배포툴 서비스.
예를 들어, 웹서비스 Layer(PHP), HA Proxy Layer, DB Layer(MySQL) 등으로 Layer를 정의한 다음. 각 Layer에 서버를 몇대씩 할당할지 정할 수 있다.
OpsWorks를 사용하면 하나의 인스턴스를 셋팅하는데 들이는 노력으로 1,000대의 EC2 인스턴스에 한번에 어플리케이션 배포가 가능하다. 
 
- SWF (Simple Workflow Service) *Beta
서버단위의 Workflow를 설정 관리 할 수 있는 서비스(??)  
 
 
5. App Services
 
- CloudSearch *Beta
아마존의 서치엔진 서비스.
 
- Elastic Transcoder *Beta
동영상 트랜스코딩 서비스
 
- SES (Simple Email Server)
Email 서비스
 
- SNS (Simple Notification Service)
푸시 메세징 서비스
 
- SQS (Simple Queue Service)
메세지 큐 서비스 
 
 
6. 기타
 
- Mechanical Turk *Beta
무서운 서비스. 인간 지능(물리적인 지적 노동력) 사고 팔기 위한 마켓플레이스. 
쉽게 말해서 인력이 필요한 작업이 있을 경우(예를 들어 비디오 판독, 자막 제작 등등) 그에 대한 결과물의 형태, 보수, 자격 조건 등을 입력 후 마켓플레이스에 등록.
등록자가 제시한 자격 요건 테스트를 통과한 지원자들이 그 일을 해주고 보수를 받는 서비스 ..... 아마존이 노가다 인력 시장까지 진출하려고 한다. (투잡족에게는 좋은 알바소개소?)
 
- CloudHSM (Cloud Hardware Security Module)
보안키 보관 서비스 (??)
 
- Support
아마존의 기술 지원 서비스. 지원 범위가 커질 수록 가격도 올라간다.
 
- Product Advertising API
아마존 배너광고 관련 API


Posted by 얌노트