2012-06-14 9 views
6

EC2 proporciona un mecanismo escalable a pedido muy conveniente para ejecutar procesos distribuibles (paralelos) y S3 proporciona un servicio de almacenamiento confiable.Cómo establecer una conexión rápida y confiable de S3 a EC2

Estaba tratando de emplear nodos EC2 para un proceso de análisis ETL &, este proceso necesita una gran cantidad de datos (100GB - 1TB) ingeridos muy rápidamente (y varias veces en un día) y recursos informáticos adecuados para estar disponibles para una corta duración.

El diseño encima de las necesidades

  1. Un gran ancho de banda de conexión/rápida entre S3 y EC2.
  2. S3 -> La conexión EC2 también debe ser confiable ya que la programación de los datos de arranque, bombeo, ejecución y terminación debe realizarse lo antes posible no solo para ahorrar costos, sino también porque los SLA están involucrados.

Pero aún

  1. El único medio de la extracción de datos del estado S3 parece ser a través de http y por lo tanto se ve limitada por los anchos de banda de descarga de los nodos EC2.
  2. Además, la ingestión de datos se realiza a través de Internet y, por lo tanto, puede no ser lo suficientemente confiable para fines estrictos de programación que requieren un almacenamiento intermedio adecuado entre trabajos.

En una configuración de centro de datos privada, se puede configurar una línea dedicada más rápida (digamos 10 Gbps) entre el almacenamiento y los nodos físicos.

¿Hay alguna alternativa posible/opciones de servicios en caso de aws que pueden abordar los requisitos anteriores.

Respuesta

5

Depende, enormemente, en todo tipo de cosas: cuánta actividad de red están haciendo las otras instancias EC2 en el mismo servidor físico, el nodo S3 particular al que está accediendo en cualquier momento, si está en el mismo región como su punto final S3, etc.

Puede establecer un punto de referencia, pero incluso así variará mucho. Obtuve varios megabytes por segundo a veces y un par de cientos de kilobytes en otros momentos.

+0

Amazon havent publicado nada sobre esto en su sitio web, ¿hay alguna otra fuente para obtener esta información? ¿Hay un modelo de fijación de precios diferente que permita flexibilidad para elegir velocidades de transferencia. – sandeepkunkunuru

+1

No existe tal información porque ** varía **.La única forma de aumentar la velocidad de red de AWS es mediante el uso de las instancias de clúster, que obtienen conexiones de 10 Gigabits entre servidores, o mediante el uso de instancias dedicadas costosas de AWS (http://aws.amazon.com/dedicated-instances/) para controlar los efectos. de otras personas en tus servidores. – ceejayoz

2

Al menos encontré esto recientemente (aunque quizás esté disponible por algún tiempo). Cloudberry ofrece una manera realmente rápida de transferir datos de S3 a EC2. La velocidad oscila entre 40MBPS y 50MBPS. Este es el proceso. descarga cb s/w de http://www.cloudberrylab.com/free-amazon-s3-explorer-cloudfront-IAM.aspx. Conéctate a S3. una vez que se ven los archivos, haga clic derecho en el archivo para copiar y seleccionar el weburl. Esto mostrará el weburl para el archivo. Copiar la URL completa y en AWS VM uso wget para obtener el contenido de URL (wget [url copiado]

Todavía estoy en busca de herramientas para copiar datos de VM a S3. S3cmd es lento y se rompe con demasiada frecuencia.

+0

No estoy seguro de que responda la pregunta, pero posiblemente sea útil para alguien, supongo. – rainkinz

+0

esto es interesante ... lo que está diciendo es que acceder a los archivos S3 a través de sus URL directamente es mucho más rápido (y confiable) que el uso de S3cmd. Esto posiblemente tenga muy poco que ver con el cloudberry per se, pero solo la naturaleza del acceso nativo/api frente a REST/htttp y el hecho de que las velocidades de descarga y carga de los nodos EC2 y S3 no son malas la mayor parte del tiempo. – sandeepkunkunuru

+0

actualmente s3cmd no tiene ninguna interfaz nativa (es una herramienta independiente de código abierto independiente). De hecho, el único protocolo parece ser http, en cuyo caso, es difícil entender las diferencias entre las herramientas, p. wget, curl, aws sdk, s3cmd, etc., excepto por la posibilidad de que una herramienta no funcione o tenga errores. – sandeepkunkunuru

3

Creo que hay una respuesta mejor ahora.

No es un servicio independiente Data pipeline, que proporciona una transferencia de datos fiable entre S3 y EC2

Cuestiones relacionadas