paint-brush
Todo lo que necesita saber para repatriar de AWS S3 a MinIOpor@minio
8,691 lecturas
8,691 lecturas

Todo lo que necesita saber para repatriar de AWS S3 a MinIO

por MinIO12m2024/03/22
Read on Terminal Reader
Read this story w/o Javascript

Demasiado Largo; Para Leer

Profundicemos un poco más en los costos y ahorros asociados con la repatriación para que le resulte más fácil elaborar su propio análisis.

People Mentioned

Mention Thumbnail
featured image - Todo lo que necesita saber para repatriar de AWS S3 a MinIO
MinIO HackerNoon profile picture


La respuesta a nuestra publicación anterior, Cómo repatriar desde AWS S3 a MinIO Fue extraordinario: hemos recibido docenas de llamadas de empresas pidiéndonos asesoramiento sobre repatriación. Hemos agregado esas respuestas en esta nueva publicación, donde profundizamos un poco más en los costos y ahorros asociados con la repatriación para que le resulte más fácil elaborar su propio análisis. La migración de datos es una tarea desalentadora para muchos. En la práctica, apuntan a que los datos nuevos lleguen a MinIO y se toman su tiempo para migrar los datos antiguos desde la nube o dejarlos en su lugar y no crecer.

Resumen de repatriación

Para repatriar datos de AWS S3, seguirá estas pautas generales:


  1. Revisar los requisitos de datos: determine los depósitos y objetos específicos que deben repatriarse desde AWS S3. Asegúrese de comprender las necesidades empresariales y los requisitos de cumplimiento, segmento por segmento.


  2. Identifique el destino de repatriación: ya decidió repatriarse a MinIO, ahora puede optar por ejecutar MinIO en un centro de datos local o en otro proveedor de nube o instalación de colocación. Utilizando los requisitos del punto 1, seleccionará hardware o instancias para las necesidades previstas de almacenamiento, transferencia y disponibilidad.


  3. Transferencia de datos: planifique y ejecute la transferencia de datos desde AWS S3 a MinIO. Simplemente use la replicación por lotes integrada de MinIO o refleje usando el cliente MinIO (consulte Cómo repatriar desde AWS S3 a MinIO para detalles). Existen varios métodos adicionales que puede utilizar para la transferencia de datos, como utilizar AWS DataSync, AWS Snowball o Migración de datos TD SYNNEX o directamente utilizando las API de AWS.


  4. Acceso a datos y permisos: asegúrese de que se establezcan controles de acceso y permisos adecuados para los datos repatriados por depósito. Esto incluye políticas de IAM y de depósitos para administrar el acceso, la autenticación y la autorización de los usuarios para garantizar la seguridad de los datos.


  5. Bloqueos de objetos: es fundamental preservar las políticas de retención de bloqueo de objetos y retención legal después de la migración. El almacén de objetos de destino debe interpretar las reglas de la misma manera que Amazon S3. Si no está seguro, solicite el Evaluación de cumplimiento de Cohasset Associates en la implementación del almacén de objetos de destino.


  6. Gestión del ciclo de vida de los datos: definir e implementar una estrategia de gestión del ciclo de vida de los datos repatriados. Esto incluye definir políticas de retención, procedimientos de respaldo y recuperación, y prácticas de archivado de datos por depósito.


  7. Validación de datos: validar los datos transferidos para garantizar su integridad e integridad. Realice las comprobaciones y pruebas necesarias para garantizar que los datos se hayan transferido correctamente sin daños ni pérdidas. Después de la transferencia, el nombre del objeto, la ETag y los metadatos, la suma de verificación y la cantidad de objetos coinciden entre el origen y el destino.


  8. Actualice aplicaciones y flujos de trabajo: la buena noticia es que si sigue los principios nativos de la nube para crear sus aplicaciones, todo lo que tendrá que hacer es reconfigurarlas para el nuevo punto final MinIO. Sin embargo, si sus aplicaciones y flujos de trabajo fueron diseñados para funcionar con el ecosistema de AWS, realice las actualizaciones necesarias para dar cabida a los datos repatriados. Esto puede implicar actualizar configuraciones, reconfigurar integraciones o, en algunos casos, modificar el código.


  9. Supervisar y optimizar: supervise y optimice continuamente el entorno de datos repatriados para garantizar un rendimiento óptimo, rentabilidad y cumplimiento de las mejores prácticas de gestión de datos.

Pasos de repatriación

Hay muchos factores a considerar al presupuestar y planificar la repatriación de la nube. Afortunadamente, nuestros ingenieros han hecho esto con muchos clientes y hemos desarrollado un plan detallado para usted. Tenemos clientes que han repatriado de todo, desde un puñado de cargas de trabajo hasta cientos de petabytes.


La mayor tarea de planificación es pensar en las opciones en torno a las redes, el ancho de banda arrendado, el hardware del servidor, los costos de archivado de los datos no seleccionados para ser repatriados y el costo humano de administrar y mantener su propia infraestructura de nube. Calcule estos costos y planifique para ellos. Los costos de repatriación de la nube incluirán tarifas de salida de datos para trasladar los datos de la nube al centro de datos. Estas tarifas son intencionalmente lo suficientemente altas como para obligar a permanecer en la nube. Tome nota de estas altas tarifas de salida: respaldan el argumento económico para abandonar la nube pública porque, a medida que crece la cantidad de datos que administra, las tarifas de salida aumentan. Por lo tanto, si va a repatriarse, vale la pena tomar medidas lo antes posible.


Nos centraremos en los datos y metadatos que deben trasladarse: esto representa el ochenta por ciento del trabajo necesario para repatriarlos. Los metadatos incluyen propiedades y políticas del depósito (administración de acceso basada en clave de acceso/secreta, administración del ciclo de vida, cifrado, acceso público anónimo, bloqueo de objetos y control de versiones).


Centrémonos en los datos (objetos) por ahora. Para cada espacio de nombres que desee migrar, haga un inventario de los depósitos y objetos que desee mover. Es probable que su equipo de DevOps ya sepa qué depósitos contienen datos actuales importantes. También puedes usar Inventario de Amazon S3 . En un nivel alto, esto se verá así:


Espacio de nombres

Total de depósitos

Recuento total de objetos

Tamaño total del objeto (GB)

Carga total diaria (TB)

Descarga total diaria (TB)

ns-001

166

47.751.258

980.014,48

50.04

14.80

ns-002

44

24.320.810

615.033,35

23,84

675,81

ns-002

648

88.207.041

601.298,91

328.25

620.93

ns-001

240

68.394.231

128.042,16

62,48

12.45


El siguiente paso es enumerar, por espacio de nombres, cada depósito y sus propiedades para cada depósito que vaya a migrar. Tenga en cuenta las aplicaciones que almacenan y leen datos en ese depósito. Según el uso, clasifique cada depósito como datos de nivel activo, tibio o frío.


En una versión abreviada, esto se verá así


Nombre del depósito

Propiedades

Aplicaciones

Nivel caliente/tibio/frío

A

Copie y pegue JSON aquí

Chispa, Iceberg, Dremio

Caliente

B

Copie y pegue JSON aquí

Elástico

Cálido

C

Copie y pegue JSON aquí

Elástico (instantáneas)

Frío


En este momento, debe tomar algunas decisiones sobre la administración del ciclo de vida de los datos y preste mucha atención porque esta es una excelente manera de ahorrar dinero en las tarifas de AWS. Clasifique los objetos en cada depósito como calientes, tibios o fríos según la frecuencia con la que se accede a ellos. Un excelente lugar para ahorrar dinero es migrar los depósitos de nivel frío directamente a S3 Glacier; no hay razón para incurrir en tarifas de salida para descargar solo para cargar nuevamente.


Dependiendo de la cantidad de datos que estés repatriando, tienes algunas opciones para elegir cómo migrar. Le recomendamos que cargue y trabaje con datos nuevos en el nuevo clúster MinIO mientras copia datos activos y activos al nuevo clúster con el tiempo. La cantidad de tiempo y ancho de banda necesarios para copiar objetos dependerá, por supuesto, de la cantidad y el tamaño de los objetos que esté copiando.


Aquí es donde te será de gran ayuda calcular los datos totales que vas a repatriar desde AWS S3. Mire su inventario y totalice el tamaño de todos los cubos que están clasificados como calientes y tibios.


Datos totales de niveles activo y activo = 1.534.096,7 GB

Ancho de banda disponible = 10 Gbps

Tiempo mínimo de transferencia requerido (tamaño total del objeto / ancho de banda disponible) = 14,2 días


Calcule las tarifas de salida de datos en función del total anterior. Estoy usando Precio de lista , pero su organización puede calificar para un descuento de AWS. También estoy usando 10 Gbps como ancho de banda de conexión, pero es posible que tengas más o menos a tu disposición. Finalmente, estoy partiendo del supuesto de que un tercio de los datos de S3 simplemente se trasladarán a S3 Glacier Deep Archive.


Datos totales por niveles en S3 Glacier = 767 048,337 GB

Tarifas de transferencia de S3 a S3 Glacier ($0,05/1000 objetos) = $3773,11

Tarifa mensual de almacenamiento de S3 Glacier Deep Archive = $760


No olvide hacer un presupuesto para el uso de S3 Glacier Deep Archive en el futuro.


Total de datos a transferir = 1.534.096,7 GB

Primeros 10 TB a $0,09/GB = $900

Siguientes 40 TB a $0,085/GB = $3400

Siguientes 100 TB a $0,07/GB = $70 000

Más de 150 TB adicionales a $0,05/GB = $69 205

Tarifas totales de salida = $143,504


En aras de la simplicidad, el cálculo anterior no incluye ni la tarifa por operaciones por objeto ($0,40/1 millón) ni el costo de LISTA ($5/1 millón). Para proyectos de repatriación muy grandes, también podemos comprimir objetos antes de enviarlos a través de la red, ahorrándole parte del costo de las tarifas de salida.


Otra opción es utilizar AWS Snowball para transferir objetos. Los dispositivos Snowball tienen 80 TB cada uno, por lo que sabemos de antemano que necesitamos 20 de ellos para nuestro esfuerzo de repatriación. La tarifa por dispositivo incluye 10 días de uso, más 2 días de envío. Hay días adicionales disponibles por $30/dispositivo.


Tarifa de servicio de 20 dispositivos Snowball ($300 cada uno) = $6,000

Envío R/T (3-5 días a $400/dispositivo) = $8000

Salida de datos S3 ($0,02/GB) = $30 682

Tarifas totales de bola de nieve = $38,981.93


AWS le cobrará tarifas estándar de solicitud, almacenamiento y transferencia de datos por leer y escribir en los servicios de AWS, incluidos amazon s3 y Servicio de administración de claves de AWS (KMS) . Hay otras consideraciones cuando se trabaja con Clases de almacenamiento de Amazon S3 . Para los trabajos de exportación de S3, los datos transferidos a su dispositivo Snow Family desde S3 se facturan con cargos estándar de S3 para operaciones como LIST, GET y otras. También se le cobran tarifas estándar por Amazon CloudWatch Logs, Amazon CloudWatch Metrics y Amazon CloudWatch Events.


Ahora sabemos cuánto tiempo llevará migrar esta enorme cantidad de datos y su coste. Tome una decisión comercial sobre qué método satisface sus necesidades en función de la combinación de plazos y tarifas.


En este punto, también conocemos los requisitos del hardware necesario para ejecutar MinIO en las instalaciones o en una instalación de colocación. Tome el requisito anterior de 1,5 PB de almacenamiento, calcule el crecimiento de los datos y consulte nuestra Hardware y configuración recomendados página y Seleccionar el mejor hardware para su implementación MinIO .


El primer paso es recrear sus depósitos S3 en MinIO. Tendrá que hacer esto independientemente de cómo elija migrar objetos. Si bien tanto S3 como MinIO almacenan objetos mediante cifrado del lado del servidor, no tiene que preocuparse por migrar las claves de cifrado. Puede conectarse al KMS de su elección usando MinIO KES para gestionar claves de cifrado . De esta manera, se generarán automáticamente nuevas claves a medida que se creen inquilinos y depósitos cifrados en MinIO.


Tiene múltiples opciones para copiar objetos: Replicación por lotes y mc mirror . Mi entrada de blog anterior, Cómo repatriar desde AWS S3 a MinIO Incluyó instrucciones detalladas para ambos métodos. Puede copiar objetos directamente desde S3 a MinIO local, o usar un clúster MinIO temporal que se ejecuta en EC2 para consultar S3 y luego reflejarlo en MinIO local.


Normalmente, los clientes utilizan herramientas que escribimos combinadas con el hardware y los servicios de migración de datos de AWS Snowball o TD SYNNEX para mover mayores cantidades de datos (más de 1 PB).


MinIO se asoció recientemente con Western Digital y TD SYNNEX para presentar una alternativa a Snowball. Los clientes pueden programar ventanas para recibir el hardware de Western Digital y pagar lo que necesitan durante el período de alquiler. Más importante aún, el servicio no está vinculado a una nube específica, lo que significa que la empresa puede utilizar el servicio para mover datos dentro, fuera y a través de las nubes, todo utilizando el omnipresente protocolo S3. Detalles adicionales sobre el servicio se pueden encontrar en el Servicio de migración de datos página en el sitio de TD SYNNEX.


Los metadatos del depósito, incluidas las políticas y las propiedades del depósito, se pueden leer usando get-bucket Llamadas a la API de S3 y luego configurar en MinIO. Cuando se registre en MinIO SUBNET, nuestros ingenieros trabajarán con usted para migrar estas configuraciones desde AWS S3: administración de acceso basada en clave de acceso/clave secreta, políticas de administración del ciclo de vida, cifrado, acceso público anónimo, inmutabilidad y control de versiones. Una nota sobre el control de versiones: el ID de versión de AWS generalmente no se conserva cuando se migran los datos porque cada ID de versión es un UUID interno. En gran medida, esto no es un problema para los clientes porque los objetos normalmente se llaman por su nombre. Sin embargo, si se requiere el ID de la versión de AWS, tenemos una extensión que lo conservará en MinIO y lo ayudaremos a habilitarlo.


Preste especial atención a Políticas de IAM y depósitos . S3 no será la única parte de la infraestructura de AWS que deje atrás. Tendrá muchas cuentas de servicio para que las aplicaciones las utilicen al acceder a los depósitos de S3. Este sería un buen momento para enumerar y auditar todas sus cuentas de servicio. Luego podrás decidir si recrearlos o no en tu proveedor de identidad. Si elige automatizar, utilice Amazon Cognito para compartir información de IAM con IDP externos de OpenID Connect y AD/LDAP.


Preste especial atención a la gestión del ciclo de vida de los datos, como la retención de objetos, el bloqueo de objetos y el archivo/niveles. Ejecute una get-bucket-lifecycle-configuration en cada depósito para obtener una lista JSON legible por humanos de reglas de ciclo de vida. Puede recrear fácilmente la configuración de AWS S3 utilizando MinIO Console o MinIO Client (mc). Utilice comandos como get-object-legal-hold y get-object-lock-configuration para identificar objetos que requieren un tratamiento especial de seguridad y gobernanza.


Ya que hablamos del ciclo de vida, hablemos por un momento de la copia de seguridad y la recuperación ante desastres. ¿Quiere un clúster MinIO adicional al que replicar para realizar copias de seguridad y recuperación ante desastres?


Después de copiar los objetos de AWS S3 a MinIO, es importante validar la integridad de los datos. La forma más sencilla de hacer esto es utilizar el cliente MinIO para ejecutar mc diff en depósitos antiguos en S3 y depósitos nuevos en MinIO. Esto calculará la diferencia entre los depósitos y devolverá una lista de solo aquellos objetos que faltan o son diferentes. Este comando toma los argumentos de los depósitos de origen y de destino. Para su comodidad, es posible que desee crear alias para S3 y MinIO para que no tenga que seguir escribiendo direcciones y credenciales completas. Por ejemplo:


 mc diff s3/bucket1 minio/bucket1


La buena noticia es que todo lo que tiene que hacer es apuntar las aplicaciones existentes al nuevo punto final MinIO. Las configuraciones se pueden reescribir aplicación por aplicación durante un período de tiempo. La migración de datos en el almacenamiento de objetos es menos disruptiva que un sistema de archivos, simplemente cambie la URL para leer/escribir desde un nuevo clúster. Tenga en cuenta que si anteriormente dependía de los servicios de AWS para respaldar sus aplicaciones, estos no estarán presentes en su centro de datos, por lo que tendrá que reemplazarlos con su equivalente de código abierto y reescribir parte del código. Por ejemplo, Athena se puede reemplazar con Spark SQL, Apache Hive y Presto, Kinesis con Apache Kafka y AWS Glue con Apache Airflow.


Si su migración a S3 es parte de un esfuerzo mayor para mover una aplicación completa localmente, entonces es probable que haya utilizado Notificaciones de eventos S3 para llamar a los servicios posteriores cuando lleguen nuevos datos. Si este es el caso, no temas: MinIO es compatible notificación de eventos también. La migración más sencilla aquí sería implementar un webhook personalizado para recibir la notificación. Sin embargo, si necesita un destino que sea más duradero y resistente, utilice servicios de mensajería como Kafka o RabbitMQ. También admitimos el envío de eventos a bases de datos como PostgreSQL y MySQL.


Ahora que ha completado la repatriación, es hora de centrar su atención en la operación, el monitoreo y la optimización del almacenamiento. La buena noticia es que no se necesita optimización para MinIO: hemos integrado la optimización directamente en el software para que sepa que está obteniendo el mejor rendimiento para su hardware. Querrá comenzar a monitorear su nuevo clúster MinIO para evaluar la utilización y el rendimiento de los recursos de forma continua. MinIO expone métrica a través de un punto final de Prometheus que puede consumir en su plataforma de monitoreo y alerta de elección . Para obtener más información sobre el seguimiento, consulte Monitoreo y alertas de múltiples nubes con Prometheus y Grafana y Métricas con MinIO usando OpenTelemetry, Flask y Prometheus .


Con SUBRED , te respaldamos cuando se trata de Operaciones del día 2 con MinIO. Los suscriptores obtienen acceso a herramientas integradas de solución de problemas automatizadas para mantener sus clústeres funcionando sin problemas. También obtienen soporte ilimitado y directo al ingeniero en tiempo real a través de nuestro portal de soporte. También le ayudamos a preparar su inversión en almacenamiento de objetos para el futuro con una revisión anual de la arquitectura.

Migrar y guardar

No es ningún secreto que los días en los que se emitían cheques en blanco a los proveedores de la nube han quedado atrás. Actualmente, muchas empresas están evaluando su gasto en la nube para encontrar posibles ahorros. Ahora tiene todo lo que necesita para comenzar su migración de AWS S3 a MinIO, incluidos pasos técnicos concretos y un marco financiero.


Si le entusiasma la perspectiva de ahorrar costos de repatriación, comuníquese con nosotros en [email protected] .


También aparece aquí .