No tengo claro qué beneficios obtengo de EBS frente a la tienda de instancias para mis instancias en Amazon EC2. En todo caso, parece que EBS es mucho más útil (detener, iniciar, persistir + mejor velocidad) con una diferencia de costo relativamente pequeña ... Además, ¿hay alguna métrica sobre si más personas están usando EBS ahora que está disponible, considerando que todavía es relativamente nuevo?
amazon-ec2
amazon-web-services
amazon-ebs
Holamundo
fuente
fuente
Respuestas:
La conclusión es que casi siempre debe usar instancias respaldadas por EBS.
Este es el por qué
Soy un gran usuario de Amazon y cambié todas mis instancias a almacenamiento respaldado por EBS tan pronto como la tecnología salió de la versión beta. He estado muy contento con el resultado.
EBS aún puede fallar, no una bala de plata
Tenga en cuenta que cualquier pieza de infraestructura basada en la nube puede fallar en cualquier momento. Planifique su infraestructura en consecuencia. Si bien las instancias respaldadas por EBS proporcionan cierto nivel de durabilidad en comparación con las instancias de almacenamiento efímeras, pueden fallar y lo hacen. Tenga un AMI desde el que pueda lanzar nuevas instancias según sea necesario en cualquier zona de disponibilidad, hacer una copia de seguridad de sus datos importantes (por ejemplo, bases de datos) y, si su presupuesto lo permite, ejecutar múltiples instancias de servidores para el equilibrio de carga y la redundancia (idealmente en múltiples zonas de disponibilidad )
Cuando no a
En algunos momentos, puede ser más barato lograr un IO más rápido en instancias de Instance Store. Hubo un tiempo en que ciertamente era cierto. Ahora hay muchas opciones para el almacenamiento de EBS, atendiendo a muchas necesidades. Las opciones y sus precios evolucionan constantemente a medida que la tecnología cambia. Si tiene una cantidad significativa de instancias que son realmente desechables (no afectan mucho a su negocio si simplemente desaparecen), haga los cálculos de costo versus rendimiento. Las instancias respaldadas por EBS también pueden morir en cualquier momento, pero mi experiencia práctica es que EBS es más duradero.
fuente
El 99% de nuestra configuración de AWS es reciclable. Entonces, para mí, realmente no importa si termino una instancia, nunca se pierde nada. Por ejemplo, mi aplicación se implementa automáticamente en una instancia de SVN, nuestros registros se escriben en un servidor central de syslog.
El único beneficio del almacenamiento de instancias que veo son los ahorros de costos. De lo contrario, las instancias respaldadas por EBS ganan. Eric mencionó todas las ventajas.
[16/07/2012] Hoy formularía esta respuesta de manera muy diferente.
No he tenido ninguna buena experiencia con instancias respaldadas por EBS en el último año más o menos. Los últimos tiempos de inactividad en AWS también destruyeron EBS.
Supongo que un servicio como RDS también usa algún tipo de EBS y eso parece funcionar en su mayor parte. En los casos en que nos las arreglamos, nos hemos librado de EBS siempre que sea posible.
Deshacerse de una extensión donde movimos un clúster de base de datos nuevamente a hierro (= hardware real). La única pieza restante en nuestra infraestructura es un servidor de base de datos donde dividimos múltiples volúmenes EBS en un RAID de software y copia de seguridad dos veces al día. Cualquier cosa que se pierda entre las copias de seguridad, podemos vivir con ella.
EBS es una tecnología algo inestable ya que es esencialmente un volumen de red: un volumen conectado a su servidor desde un control remoto. No estoy negando el trabajo realizado con él: es un producto increíble ya que el almacenamiento persistente esencialmente ilimitado está a solo una llamada de API. Pero no es adecuado para escenarios donde el rendimiento de E / S es clave.
Y además de cómo se comporta el almacenamiento en red, toda la red se comparte en instancias EC2. Cuanto más pequeña sea una instancia (por ejemplo, t1.micro, m1.small), peor será porque las interfaces de red en el sistema host real se comparten entre varias máquinas virtuales (= su instancia EC2) que se ejecutan encima de ella.
Cuanto mayor sea la instancia, mejor , por supuesto. Mejor aquí significa dentro de lo razonable .
Cuando se requiere persistencia, siempre recomendaría a las personas que usen algo como S3 para centralizar entre instancias. S3 es un servicio muy estable. Luego, automatice la configuración de su instancia hasta el punto en que pueda iniciar un nuevo servidor y se prepare solo. Entonces no hay necesidad de tener almacenamiento de red que dure más que la instancia.
Así que, en general, no veo ningún beneficio para las instancias respaldadas por EBS. Prefiero agregar un minuto a bootstrap, luego correr con un SPOF potencial.
fuente
Nos gusta la tienda de instancias. Nos obliga a hacer que nuestras instancias sean completamente reciclables, y podemos automatizar fácilmente el proceso de construcción de un servidor desde cero en una AMI determinada. Esto también significa que podemos intercambiar fácilmente AMI. Además, EBS todavía tiene problemas de rendimiento de vez en cuando.
fuente
Eric prácticamente lo clavó. Nosotros ( Bitnami ) somos un proveedor popular de AMI gratuitas para aplicaciones populares y marcos de desarrollo (PHP, Joomla, Drupal, se entiende). Puedo decirle que las AMI respaldadas por EBS son significativamente más populares que las respaldadas por S3. En general, creo que las instancias respaldadas por s3 se usan para trabajos distribuidos y de tiempo limitado (por ejemplo, procesamiento de datos a gran escala) en los que si una máquina falla, otra simplemente gira. Los AMIS respaldados por EBS tienden a usarse para tareas de servidor 'tradicionales', como servidores web o de base de datos que mantienen el estado localmente y, por lo tanto, requieren que los datos estén disponibles en caso de bloqueo.
Un aspecto que no vi mencionado es el hecho de que puede tomar instantáneas de una instancia respaldada por EBS mientras se ejecuta, lo que le permite tener copias de seguridad muy rentables de su infraestructura (las instantáneas están basadas en bloques y son incrementales)
fuente
He tenido exactamente la misma experiencia que Eric en mi última posición. Ahora en mi nuevo trabajo, estoy pasando por el mismo proceso que realicé en mi último trabajo ... reconstruyendo todas sus AMI para instancias respaldadas por EBS, y posiblemente como máquinas de 32 bits (más barato), pero no puedo usar la misma AMI en 32 y 64 máquinas).
Las instancias respaldadas por EBS se inician lo suficientemente rápido como para que pueda comenzar a utilizar la API de Amazon AutoScaling, que le permite usar las métricas de CloudWatch para activar el lanzamiento de instancias adicionales y registrarlas en el ELB (Elastic Load Balancer), y también cerrarlas cuando ya no es requerido.
Este tipo de escalado automático dinámico es de lo que se trata AWS, donde los ahorros reales en infraestructura de TI pueden entrar en juego. Es prácticamente imposible realizar el autoescalado correctamente con las antiguas instancias respaldadas por s3 "InstanceStore".
fuente
Estoy empezando a usar EC2 yo mismo, así que no soy un experto, pero la propia documentación de Amazon dice:
El énfasis es mío.
Hago más análisis de datos que el alojamiento web, por lo que la persistencia no me importa tanto como a un sitio web. Dada la distinción hecha por Amazon, no asumiría que EBS es adecuado para todos.
Trataré de recordar pesar nuevamente después de haber usado ambos.
fuente
EBS es como el disco virtual de una VM:
El almacenamiento de instancias es:
Aquí es donde usar cada uno:
fuente
La mayoría de las personas optan por usar la instancia respaldada por EBS, ya que tiene estado. Es más seguro porque todo lo que tiene instalado e instalado en él sobrevivirá a la parada / parada o cualquier falla de la instancia.
El almacén de instancias no tiene estado, lo pierde con todos los datos en el interior en caso de una situación de falla de instancia. Sin embargo, es gratis y más rápido porque el volumen de la instancia está vinculado al servidor físico donde se ejecuta la VM.
fuente
Para alguien nuevo en todo esto y si accidentalmente aterrizó aquí
A partir de ahora, todas las AMI en la sección de inicio rápido están respaldadas por EBS
También hay una buena explicación en el documento oficial de la diferencia entre EBS y la tienda de instancias
y esta imagen lo resume bastante
fuente
Si ejecuta varias instancias y asigna un servicio programado de AWS Instance como una de sus prioridades para evitar cargos inesperados , recomendaría no utilizar el almacén de instancias .
Además, para este tipo de esquema tampoco es beneficioso utilizar EBS Backed en Elastic Beanstalk, ya que está diseñado para garantizar que todos los recursos que necesita se sigan ejecutando . Siempre hará un relanzamiento automático de cualquier servicio que detenga. Revisando todo lo demás , del total de cargos por usar el VPC , EBS y ELB que se agregaron a EC2-Classic , el EC2-VPC con ELB es principalmente la mejor opción donde, a diferencia del EC2-Classic , una instancia detenida retiene su Elastic asociado Direcciones IPy el volumen EBS se almacena automáticamente.
Como conclusión , tomando la parte principal de su pregunta:
La respuesta es sí, pero si su instancia está basada en EBS, se puede detener. Permanecerá en su cuenta, no se le cobrará por ello . Se le cobrará solo el volumen, pero EBS se cobrará por hora . También puede considerar que, entre todos los tipos disponibles , tiene flexibilidad para cambiar el tamaño del volumen de EBS .
Además de los beneficios que ya enumeró Eric , también debe tener en cuenta que, en términos de costo, S3 puede o no ser más barato que EBS . Estoy de acuerdo en que la diferencia de costo es relativamente pequeña si sigue ejecutando ambos tipos de instancia dentro de la misma plataforma y arquitectura de la aplicación todo el tiempo.
Sin embargo, si hay un escenario para ejecutar la aplicación en un servicio de menor costo, tirar de todas las tareas no controlada y que el papel de la VPC / EBS a través de una tubería o lambda en un ejemplo corto de tiempo <1 hora al día, lo que imposible hacer cuando use una tienda de instancias , entonces será una historia diferente.
fuente