¿Es S3 más barato que una solución EC2 DIY (para archivos pequeños)

¿Es S3 más barato que una solución EC2 DIY (para archivos pequeños)

¿Es realmente más barato alojar imágenes y scripts a través de S3 que con una instancia EC2 que ejecuta nginx/varnish/etc? ?

Me parece (pero recién estoy comenzando con AWS) que los costos de solicitud serán el factor principal si no usas sprites u otras optimizaciones... ¿o me estoy perdiendo algo?

Respuesta1

Estás intentando comparar manzanas y naranjas aquí. Los servicios EC2 (Elastic Compute Cloud) y S3 (Simple Storage Service) de Amazon tienen dos propósitos totalmente diferentes. S3 está destinado al almacenamiento redundante y no es un "servidor" per se. Sí, si tuviera un servidor web alojado en otro lugar donde pudiera usar S3 como una forma de CDN usando S3 junto con Cloudfront, pero el propósito principal es el almacenamiento. EC2, por otro lado, es un VPS (servidor privado virtual) que podría ejecutar demonios como nginx, barniz, apache, etc. S3 por sí solo no puede hacer esto por usted.

Si crea su propia AMI (Imagen de máquina de Amazon) para un EC2, la almacenará en S3 y pagará las tarifas de almacenamiento asociadas con eso. Una instancia EC2 se puede ejecutar sin ningún uso de S3. Sin embargo, como se mencionó, las instancias EC2 no almacenan datos después del cierre cuando la instancia ya no se está ejecutando. Para conservar los datos entre inicios y apagados, debe almacenarlos en S3 o utilizar un EBS (Elastic Block Store) que pueda conservar los datos por usted.

Hay diferentes niveles de precios en el ancho de banda entrante, saliente y dentro de una región determinada, así como en la capacidad de almacenamiento, solicitudes de E/S, etc. Esto se vuelve complicado y existen varias calculadoras para ayudarlo a resolverlo. Escribí mi propia hoja de cálculo con fórmulas que importo las descargas CSV de mi historial de uso para ayudar a estimar los costos de uso futuros. He estado administrando varias instancias de servidor para un cliente dentro de EC2 durante más de 9 meses. Descubrí que el costo más fácil de calcular es el tiempo de ejecución de la instancia, ya que es una tarifa por hora simple por instancia. Después de eso, el volumen de EBS y las capacidades de almacenamiento de S3 son fáciles de calcular, pero las solicitudes de E/S y el ancho de banda pueden resultar sorprendentes en ocasiones.

Mis costos de almacenamiento de S3 suelen ser bastante triviales (generalmente <$2/mes) y almaceno varias AMI y algunos documentos a los que acceden los servidores de aplicaciones, junto con la puesta en marcha inicial de las instancias. Mis instancias utilizan un servidor Puppet mantenido en un VPS fuera de Amazon que también sirve como mi servidor de monitoreo y jumpbox. Al ejecutar alrededor de 7 instancias en promedio, descubrí que mis solicitudes de E/S oscilaban entre 5 y 8 millones y costaban <$1/mes en promedio. Los últimos 6 meses he promediado alrededor de 10 GB en volúmenes de EBS y eso solo cuesta un poco más de $1/mes. Utilizo volúmenes de EBS para mi contenido estático junto con mis archivos de base de datos MySQL y registros binarios. La transferencia de datos entrantes ha oscilado entre 20 y 24 GB y tiene un promedio de ~ $ 2,25 al mes, mientras que la transferencia saliente ha oscilado entre 241 y 326 GB y un promedio de ~ $ 42 al mes. Mi ancho de banda regional entre instancias oscilaba entre 130 MB y 535 GB, ya que no todas mis instancias están en las mismas zonas de disponibilidad y tenía un promedio de ~ $ 2,45 al mes. Dicho todo esto, como dije, siendo la tarifa por hora la más fácil de calcular, manejamos más de $1700/mes para las instancias EC2. Actualmente estamos buscando pasar a instancias reservadas versus instancias bajo demanda y deberíamos reducir esa cifra a alrededor de $600/mes después del costo inicial ($6-9K) de obtener la instancia reservada.

Respuesta2

Con S3 pagas por la transferencia y el almacenamiento. Con EC2 también paga por el tiempo que las instancias se ejecutan. De cualquier manera, estás pagando por la transferencia y el almacenamiento, por lo que debería ser más económico en todos los casos usar S3 solo para el alojamiento de archivos. EC2 siempre debería ser más caro porque se paga por el tiempo que se ejecuta la instancia, además del almacenamiento y la transferencia. Amazon tiene uncalculadora de preciosque puede utilizar para jugar con los números según su propio caso de uso y la transferencia y el almacenamiento estimados necesarios.

Respuesta3

Debe tener en cuenta la cantidad de tráfico que atraerá los datos de s3 al servidor web. ec2 pagas por hora pero obtienes 160 GB de almacenamiento local, s3 pagas por almacenamiento y ancho de banda.

En general, diría que para un servidor web la instancia ec2 será más barata o igual a s3. Pero echa un vistazo a la calculadora de precios para comprobarlo.

Respuesta4

Dado que S3 esencialmente proporciona un sistema de archivos de red distribuido, intente usar nodos EC2 para construirlo.

MongoDB/GridFS sería una comparación convincente.

Se supone que S3 tiene tiempos de espera de lectura/escritura de vez en cuando y crear su propia capa de caché también podría ayudar.

información relacionada