logging - descargar - Agregar a un archivo de registro en S3(o cualquier otro servicio de AWS)
subir archivos aws (5)
AWS SimpleDB haría lo que quiera:
http://aws.amazon.com/simpledb/usecases_logging/
Como Amazon SimpleDB le permite descargar completamente el trabajo requerido para ejecutar una base de datos de producción, muchos desarrolladores lo encuentran un almacén de datos ideal y de bajo contacto para registrar información sobre condiciones o eventos, actualizaciones de estado, actividades recurrentes, procesos de flujo de trabajo o dispositivo y aplicación estados. Amazon SimpleDB le permite "establecer y olvidar" de forma rentable estos registros de datos y usarlos para diversos fines, tales como:
Monitoreo o seguimiento de la medición Tendencia del análisis de negocios Auditoría Cumplimiento de documentos o reglamentación Los ejemplos de la aplicación incluyen:
Almacenamiento de registros de servidor centralmente para reducir el espacio que consumen en cada servidor en ejecución. Registro de métricas operativas o resultados de pruebas de rendimiento continuas para análisis posteriores Auditoría de entradas de acceso o cambios de configuración para aplicaciones o dispositivos de red Captura y monitoreo de condiciones ambientales (temperatura, niveles de presión, humedad , etc.) en diversas ubicaciones y alertas de programación para condiciones particulares Registro y seguimiento de la información de geolocalización sobre objetos o estado del proceso para actividades en un flujo de trabajo. Varios atributos de Amazon SimpleDB lo convierten en un atractivo almacén de datos para registros de datos:
Central, con alta disponibilidad: si sus registros de datos estaban previamente atrapados localmente en múltiples dispositivos / objetos, aplicaciones o silos de proceso, disfrutará de la ventaja de poder acceder a sus datos centralmente en un lugar de la nube. Además, Amazon SimpleDB replica de manera automática y geo-redundante sus datos para garantizar una alta disponibilidad. Esto significa que, a diferencia de una solución centralizada en el lugar, no está creando un único punto de falla con Amazon SimpleDB, y sus datos estarán allí cuando los necesite. Todos los datos se pueden almacenar mediante solicitudes de servicios web con una solución y luego se puede acceder desde cualquier dispositivo. Administración cero: usted almacena sus elementos de datos con solicitudes simples de servicios web y Amazon Web Services se encarga del resto. Al configurarlo y olvidarse de la naturaleza del servicio, significa que no está dedicando tiempo a la administración de la base de datos para almacenar y mantener los registros de datos.
Rentable: Amazon SimpleDB cobra precios económicos para almacenar y consultar sus registros de datos. Dado que solo está pagando por los recursos que consume, no necesita hacer su propia planificación de capacidad o preocuparse por la carga de la base de datos. El servicio simplemente responde al volumen de solicitud que aparece y sale, y le cobra solo por los recursos reales consumidos. Para obtener más información sobre Amazon Si
Necesito crear un archivo de registro en AWS S3 (o cualquier otro servicio de AWS que pueda ayudar aquí). AFAIU no hay forma de agregar una línea a un archivo de registro existente en S3. Esto significa que tendría que recuperar y reenviar todo el registro cada vez que llega un nuevo mensaje, o que necesitaré crear un nuevo objeto por mensaje. La última opción es complicada al recuperar datos.
Tengo muchos mensajes de registro y es importante no perderlos, así que no es una opción almacenarlos en la memoria de mi servidor y enviarlos a S3 de vez en cuando.
Qué servicio de AWS sería mi mejor opción (también en términos de ahorro de costos).
AWS no tiene una buena solución en este momento para el registro, pero hay algunos otros servicios en la nube en el mercado que recopilan y organizan registros, incluidos papertrailapp.com y loggly.com .
La forma más sencilla de hacerlo es iniciar sesión en el disco y luego rotar y enviar los registros en un intervalo que funcione para usted.
Esto puede ser un poco más complejo si se trata de instancias puntuales o instancias respaldadas por instancias.
Lo que estás buscando se llama EBS ( Elastic Block Store ).
Puede conectar una unidad EBS a cualquier servidor e iniciar sesión allí. Si su servidor muere, el disco de EBS seguirá presente y podrá ver los datos más tarde.
Mejor aún, solo cree un servidor syslog central (con una unidad EBS) y haga que todos sus servidores de aplicaciones (sin estado) envíen allí sus registros.
Cuando su unidad EBS se llena, archive el día / semana / etc en los registros S3. Esto le permite almacenar archivos bastante grandes en S3 (e incluso comprimir si lo desea).
Lo que estás buscando es posible con S3. S3 no necesita tener el archivo completo para comenzar a almacenar datos. Puede usar la carga de varias partes para almacenar fragmentos (bloques de 5mb) a la vez. Una vez que haya terminado, por ejemplo, un día, puede enviar el bloque final y cerrar la carga de varias partes. y comienza a iniciar sesión al día siguiente.
S3 permite hasta 10,000 partes. Por lo tanto, al elegir un tamaño de 5MiB, podrá subir archivos dinámicos de hasta 50GiB. Debería ser suficiente para la mayoría de los casos de uso.
Inicie S3 Multipart Upload. Reúna datos en un búfer hasta que ese búfer alcance el límite de tamaño de porción inferior de S3 (5MB). Genera suma de comprobación MD5 mientras construyes el buffer. Suba ese búfer como una Parte, almacene el ETag. Una vez que llegue a EOF de sus datos, cargue el último fragmento (que puede ser más pequeño que 5MiB). Finalice la carga de partes múltiples.
Esta es una solución mucho mejor, ya que no le cuesta ni la instancia de EC2 ni los costos de almacenamiento de EBS.