개발자 / 애플리케이션 / 클라우드

무료 아마존 웹 서비스, 100% 알뜰하게 사용하는 방법

Serdar Yegulalp  | InfoWorld 2013.04.12
아마존 웹 서비스(Amazon Web Services)의 무료 서비스인 '프리 티어'(free tier)는 디딤돌 정도로 생각하면 가장 적절하다. AWS와 EC2의 기본 메카니즘에 흠뻑 빠지게 하고 가상 머신 인스턴스와 스토리지, 데이터, 네트워킹을 다루는 아마존의 방식을 이해시키고 궁극적으로는 유료 AWS로 유인하려는 징검다리인 것이다. 또한 어떻게 AWS 사용을 관리하고 제한하는지도 배울 수 있는데 부주의하게 사용하면 '프리 티어'라고 해도 결국 비용을 지불해야 하는 상황에 직면할 수 있다.
 
따라서 여기서는 프리 티어의 무료 사용 조건을 자세하게 살펴보고 그 제한 범위 내에서 무엇이 가능한지 실용적인지도 상세하게 살펴본다. 아마도 거의 모든 AWS 사용자들은 아마존 클라우드가 제공하는 모든 혜택을 누리고 싶어할 것이다. 그렇다면 무료 서비스도 최대한 활용해야 할지 않을까. 프리 티어는 AWS를 시험해보고 몇몇 프로젝트를 시작해보고 심지어 기능적 애플리케이션까지 구축해보는 매우 훌륭한 방법이다.
 
한 가지 덧붙이면,  아마존의 프리 티어 관련 설명 중에는 “아마존은 이 무료 사용의 신규 등록을 언제라도 중단할 수 있다”라는 불길한 문장이 포함돼 있다. 이 문구는 아마존의 입장에서 보면 일종의 면피책이 될 수 있지만 만약 무료 계정을 사용해 볼 생각이 있다면 아마존이 중단하기 전에 지금 바로 실행하는 것이 좋을 것이다.
 
월 0달러로 무엇을 얻을 수 있나
AWS 무료 사용 티어(AWS Free Usage Tier)는 설정과 실행을 하기에 충분할 정도의 다양한 AWS 요소들을 제공한다. 유용한 무언가를 개발할 필요한 모든 것을 지원해 주지는 않지만 분명히 무언가 기능적인 성과물을 만들어낼 수 있다. 가장 대표적인 다음과 같은 것들이다.
 
서버 : 613MB의 RAM과 함께 구성된 EC2상에 리눅스나 윈도우 서버 마이크로 인스턴스를 월 750시간까지 실행할 수 있다. 이는 한달 내내 무료로 연속적으로 사용할 수 있다는 것을 의미한다.
 
아마존은 다량의 우분투 서버 12.04와 12.10, 마이크로소프트 윈도우 서버 2008과 2012, 그리고 아마존의 자체 아마존 리눅스 AMI(Amazon Linux AMI)등을 포함한 각기 다른 리눅스와 윈도우 시스템들을 실행할 수 있게 해주는 AMI(Amazon Machine Images) 카탈로그를 지원한다.

모든 AMI를 무료로 사용할 수 있는 것은 아니지만 실행 가능한 것들이 다수 포함돼 있다. AWS 마켓플레이스(AWS marketplace)에도 역시 AMI 인스턴스로 이용할 수 있는 다양한 서드파티 애플리케이션 어플라이언스들과 서버가 있지만 이를 모두 무료로 사용할 수는 없다.  
 
스토리지 : EC2 인스턴스는 스토리지 공간 없이는 별로 쓸모가 없다. 프리 티어는 기본적으로 30GB의 엘라스틱 블록 스토리지(Elastic Block Storage)와 5GB의 아마존 S3 스토리지, 200만 I/O, 그리고 1GB의 스냅샷 스토리지가 제공된다. I/O 사용량 한도에 주목해보자. 아마존은 I/O에 따라 과금하기 때문에 여기에서 문제가 복잡해질 수 있다.

프리 티어를 넘어서면 아마존은 월 100만 I/O마다 10센트씩 요금을 부과하는데 주어진 인스턴스에 의해 사용되는 I/O의 양은 이를 어떻게 사용하느냐에 따라 크게 달라질 수 있다. (잠시 후 이를 관리하는 팁을 살펴본다)
 
데이터베이스 : 아마존의 관계형 데이터베이스 서비스(Relational Database Services)에는 MySQL, 오라클(Oracle) BYOL, 혹은 마이크로소프트 SQL 서버 익스프레스(SQL Server Express) 등이 포함돼 있다. 사용자는 이 중 선택할 수 있으며 각각 월 750시간, 20GB의 스토리지, 1000만 I/O, 20GB의 백업 스토리지 등을 제공받는다.

NoSQL을 선호하는 이들의 경우 아마존은 이를 다이나모DB(DynamoDB) 형태로 제공하지만 프리 티어에는 단 100MB의 스토리지만 제공한다. 여기서도 또다시 I/O 추산이 복잡해지지만 저-트래픽, 데이터베이스-주도형 사이트를 테스트하기에는 충분하기 때문에 크게 문제가 되지는 않을 것이다.
 
데이터 전송 : 이 부분은 쉽다. 15GB의 외부 송출 대역폭이 모든 AWS 기능에 걸쳐 주어진다. 이해를 돕기 위해 예를 들면 월 5000명의 방문객이 오는 필자의 개인 사이트는 월 1.2GB의 대역폭을 소모한다. 비교적 간단하거나 개인적인 웹사이트의 경우 15GB는 충분하고도 남는 수준이다.
 
제약은 무엇인가
이제 나쁜 소식을 들려줄 차례다. 아마존은 프리 티어 사용에 엄격한 조건들을 덧붙였다. 앞서 설명한 사용량 외에도 다른 제한사항이 많다.
 
핵심 서비스는 단 12개월만 무료 : EC2, S3, RDS등을 포함한 대부분의 주요 AWS 서비스는 최초 등록 이후 12개월만 무료로 사용할 수 있다. 그 기간이 지나면 보통의 요금제와 마찬가지로 사용한 만큼 돈을 지불해야 한다.

다행인 것은 일부 서비스의 경우 12개월 이후에도 프리 티어로 사용할 수 있다는 것이다. 다이나모DB, 심플 워크플로(Simple Workflow), 심플 큐 서비스(Simple Queue Service), 심플 노티피케이션 서비스(Simple Notification Service), 아마존 엘라스틱 트랜스코더(Amazon Elastic Transcoder) 클라우드워치(CloudWatch) 등이 대표적이다.
 
CPU(와 대역폭) 감속을 예상하라 : 마이크로 인스턴스는 간헐적으로 수요가 폭증할 때를 대비해 최대 CPU에 맞춰 공급하도록 설계됐다. 아마존은 '연산 유닛'(compute unite)이라 부르는 전체의 연속적인 인스턴스는 공급하지 않는데 이를 위해서는 M1 스몰 인스턴스로 업그레이드해야 한다. 이를 통해 아마존의 표현대로라면 마이크로 인스턴스를 '추가적인 연산 사이클을 주기적으로 필요로 하는 낮은 스루풋 애플리케이션과 웹사이트에 적합'하게 만들어준다.
 
CPU가 가끔씩 100퍼센트까지 치솟게 만드는 애플리케이션을 실행한다면 문제는 없을 것이다. 그러나 장시간 CPU를 100퍼센트로 고정시키는 앱이라면 처음에는 100퍼센트로 실행되지만 차후 감속된다. 감속 머신의 내부 통계는 여전히 CPU가 100퍼센트로 실행되고 있다고 보고하기 때문에 이에 속으면 안 된다는 점을 명심하라.
  

아마존의 EC2 대시보드를 통해 사용량 통계를 모니터할 수 있지만 실행 기계 내부의 통계에서 더욱 세분화된 정보를 얻을 수 있다.
 
프리 티어의 윈도우 서버 인스턴스가 부족할 수 있다. 또 무엇을 계획하느냐에 따라 윈도우 서버 인스턴스에 할당된 메모리가 이를 실행하기에 불충분할 수도 있다. 정적 웹페이지를 유지하는 정도라면 문제될 것이 없다. 필자는 MySQL/아파치(Apache) 인스턴스를 그런 머신에 (AMPPS 웹 스택을 통해) 설치해 20%정도의 RAM을 남기고 실행할 수 있었다.
 
만약 AWS 호스트된 데이터베이스 인스턴스(RDS)를 통해 데이터베이스를 사용하고 있다면, 다행이도 이 데이터베이스는 전적으로 실행중인 머신과 분리되어 시작된다. 이 때문에 RDS로 인해 사용하는 실제 인스턴스상에 데이터베이스 서버를 실행해 훨씬 많은 메모리를 잡아먹게될 걱정을 할 필요가 없어진다.
 
기본 설정상 일관된 IP 주소를 쓸 수 없다 : 프리 티어는 AWS가 주소를 할당하는 방식이기 때문에 인스턴스는 고정 IP 주소나 일관된 사설 DNS 이름이 자동적으로 따라오지 않는다. 이 때문에 사용하는 인스턴스 재설정이 IP 주소 역시 재설정시켜 일종의 DNS 기술을 적용하지 않으면 외부 사용 목적의 무료 사이트 호스팅을 하기 어렵다.
 
다행히도 이런 문제는 해결하기 비교적 쉽다. 만약 누구나 지금 서비스하는 서버에 지속적으로 접속할 수 있도록 하려면 EC2 엘라스틱 IP 주소(EC2 Elastic IP Addresses)를 사용해 무료 인스턴스에 고정 IP를 제공할 수 있다. 단 주소를 보관한 채 실제로 이를 인스턴스와 연결하지 않는다면 소정의 요금이 부과될 것이다.
 

회사명 : 한국IDG | 제호: ITWorld | 주소 : 서울시 중구 세종대로 23, 4층 우)04512
| 등록번호 : 서울 아00743 등록발행일자 : 2009년 01월 19일

발행인 : 박형미 | 편집인 : 박재곤 | 청소년보호책임자 : 한정규
| 사업자 등록번호 : 214-87-22467 Tel : 02-558-6950

Copyright © 2024 International Data Group. All rights reserved.