S3는 EC2 DIY 솔루션보다 저렴합니까(소형 파일의 경우)

S3는 EC2 DIY 솔루션보다 저렴합니까(소형 파일의 경우)

nginx/varnish/etc를 실행하는 EC2 인스턴스를 사용하는 것보다 S3를 통해 이미지와 스크립트를 호스팅하는 것이 정말 저렴합니까? ?

스프라이트나 기타 최적화를 사용하지 않으면 요청 비용이 주요 요인이 될 것 같습니다(그러나 저는 이제 막 AWS를 시작하고 있습니다). 아니면 제가 뭔가를 놓치고 있는 걸까요?

답변1

당신은 여기서 사과와 오렌지를 비교하려고 시도하고 있습니다. Amazon의 EC2(Elastic Compute Cloud) 및 S3(Simple Storage Service) 서비스는 완전히 다른 두 가지 목적을 제공합니다. S3는 중복 스토리지를 위한 것이며 그 자체로는 "서버"가 아닙니다. 예, Cloudfront와 함께 S3를 사용하여 S3를 CDN 형태로 사용할 수 있는 다른 웹 서버가 호스팅되어 있다면 주요 목적은 스토리지입니다. 반면에 EC2는 nginx, varnish, apache 등과 같은 데몬을 실행할 수 있는 VPS(가상 사설 서버)입니다. S3 자체로는 이 작업을 수행할 수 없습니다.

EC2용 AMI(Amazon 머신 이미지)를 자체적으로 생성하면 이를 S3에 저장하고 이와 관련된 저장 비용을 지불하게 됩니다. S3를 전혀 사용하지 않고도 EC2 인스턴스를 실행할 수 있습니다. 그러나 앞서 언급한 것처럼 EC2 인스턴스는 인스턴스가 더 이상 실행되지 않을 때 종료 이후 데이터를 저장하지 않습니다. 시작 및 종료 사이에 데이터를 유지하려면 S3에 데이터를 저장하거나 데이터를 유지할 수 있는 EBS(Elastic Block Store)를 사용해야 합니다.

대역폭 인바운드, 아웃바운드, 특정 지역 내, 스토리지 용량, I/O 요청 등에 대해 다양한 가격 책정 계층이 있습니다. 이는 복잡해지며 이를 파악하는 데 도움이 되는 여러 계산기가 있습니다. 향후 사용 비용을 추정하는 데 도움이 되도록 사용 내역 CSV 다운로드를 가져오는 공식을 사용하여 나만의 스프레드시트를 작성했습니다. 저는 9개월 넘게 EC2 내의 클라이언트에 대한 여러 서버 인스턴스를 관리해 왔습니다. 계산하기 가장 쉬운 비용은 인스턴스당 간단한 시간당 요금이므로 인스턴스 런타임이라는 것을 알았습니다. 그 이후에는 EBS 볼륨과 S3 스토리지 용량을 쉽게 계산할 수 있지만 I/O 요청과 대역폭은 때때로 놀라울 수 있습니다.

내 S3 스토리지 비용은 일반적으로 매우 사소하며(보통 $2/월 미만) 인스턴스의 초기 시작과 함께 애플리케이션 서버가 액세스하는 여러 AMI와 일부 문서를 저장합니다. 내 인스턴스는 모니터링 및 점프박스 서버 역할도 하는 Amazon 외부의 VPS에서 유지 관리되는 Puppet 서버를 사용합니다. 평균적으로 약 7개의 인스턴스를 실행하면서 I/O 요청이 500만~800만 건에 달하고 평균 비용은 월 1달러 미만인 것으로 나타났습니다. 지난 6개월 동안 EBS 볼륨은 평균 약 10GB였으며 비용은 월 1달러가 조금 넘었습니다. 저는 MySQL 데이터베이스 파일 및 바이너리 로그와 함께 정적 콘텐츠에 EBS 볼륨을 사용합니다. 인바운드 데이터 전송은 20~24GB로 평균 월 $2.25 정도였으며, 아웃바운드는 241~326GB로 월 평균 $42 정도였습니다. 모든 인스턴스가 동일한 가용성 영역에 있지 않고 평균 ~ $2.45/월이므로 인스턴스 간의 지역 대역폭은 130MB-535GB 사이였습니다. 즉, 시간당 요금이 계산하기 가장 쉽다고 말했듯이 EC2 인스턴스 자체에 대해 월 $1700 이상을 실행합니다. 우리는 현재 예약 인스턴스와 온디맨드 인스턴스로 전환하려고 하며 예약 인스턴스를 얻는 데 드는 초기 비용(6~9,000달러)을 제외하면 이 비용을 월 약 600달러로 낮춰야 합니다.

답변2

S3를 사용하면 전송 및 저장 비용을 지불하게 됩니다. EC2를 사용하면 인스턴스가 실행되는 시간에 대해서도 비용을 지불하게 됩니다. 어느 쪽이든 전송 및 저장 비용을 지불하게 되므로 모든 경우에 파일 호스팅에 S3를 사용하는 것이 더 저렴할 것입니다. EC2는 저장 및 전송 외에도 인스턴스가 실행되는 시간에 대해 비용을 지불하기 때문에 항상 더 비쌉니다. 아마존은가격 계산기자신의 사용 사례와 필요한 예상 전송 및 저장 공간을 기반으로 숫자를 다루는 데 사용할 수 있습니다.

답변3

hte s3 데이터를 웹 서버로 가져오는 트래픽 양을 고려해야 합니다. EC2는 시간당 비용을 지불하지만 160GB의 로컬 스토리지가 제공되고, s3에서는 스토리지 및 대역폭 비용을 지불합니다.

일반적으로 웹 서버의 경우 ec2 인스턴스가 s3보다 저렴하거나 동일할 것이라고 말하고 싶습니다. 하지만 가격 계산기를 살펴보고 확인해보세요.

답변4

S3는 기본적으로 분산 네트워크 파일 시스템을 제공하므로 EC2 노드를 사용하여 이를 구축해 보세요.

MongoDB/GridFS는 강력한 비교가 될 것입니다.

S3에는 때때로 읽기/쓰기 시간 초과가 있을 수 있으며 자체 캐시 계층을 구축하는 것도 도움이 될 수 있습니다.

관련 정보