Categories: CienciaNoticias

Implementación de una plataforma de ciencia de datos en AWS: configuración de AWS Batch (Parte I)

Infraestructura de nube de ciencia de datos

Tu laptop no es suficiente, usemos la nube. Foto de CHUTTERSNAP en UnsplashEn esta serie de tutoriales, le mostraremos cómo implementar una plataforma de ciencia de datos con AWS y software de código abierto. Al final de la serie, podrás envíe trabajos computacionales a la infraestructura escalable de AWS con un solo comando.Arquitectura de la plataforma de ciencia de datos que implementaremos. Imagen del autor.Captura de pantalla de la consola de AWS Batch, que muestra nuestros trabajos recientes. Imagen del autor. Para implementar nuestra plataforma, utilizaremos varios servicios de AWS. Sin embargo, el central es AWS Batch. AWS Batch es un servicio administrado para trabajos computacionales. Se encarga de mantener una cola de trabajos, activar instancias EC2, ejecutar nuestro código y apagar las instancias. Se escala hacia arriba y hacia abajo dependiendo de cuántos trabajos enviemos. Es un servicio muy conveniente que nos permite ejecutar nuestro código de manera escalable y solicitar recursos personalizados para trabajos de cómputo intensivo (por ejemplo, instancias con muchas CPU y gran memoria) sin necesidad de mantener un clúster (sin necesidad de usar Kubernetes !). ¡Comencemos! El único requisito para este tutorial es tener instalada la interfaz de línea de comandos de AWS (y claves de acceso con suficientes permisos para usar la herramienta). Siga las instrucciones de instalación. Si tiene problemas, solicite ayuda en nuestro Slack. Verifique su instalación (asegúrese de que está ejecutando la versión 2):Producción:Luego autentíquese con sus claves de acceso: Necesitamos crear una VPC (Nube Privada Virtual) para las instancias EC2 que ejecutarán nuestras tareas, esta sección tiene todos los comandos que necesita para configurar la VPC. Tenga en cuenta que todas las cuentas de AWS vienen con una VPC. Si desea usar esa, asegúrese de tener las ID de subred y las ID de grupo de seguridad que desea usar y omita esta sección. Si necesita ayuda, no dude en preguntarnos cualquier cosa en Slack. Creemos una nueva VPC y recuperemos ID de VPC:Producción:Asignemos la ID a una variable para que podamos reutilizarla (reemplace la ID con la suya): Ahora, creemos una subred y obtengamos la ID de la subred:Producción:Y asigne la ID a una variable (reemplace la ID con la suya): Necesitamos modificar la configuración de la subred para que cada instancia tenga una IP pública: Ahora, configuremos el acceso a Internet:Producción:Asigne la ID de la puerta de enlace a la siguiente variable (reemplace la ID con la suya): Adjuntemos la puerta de enlace de Internet a nuestra VPC: esta documentación explica con más detalle los comandos anteriores. Tenga en cuenta que permitir el acceso a Internet a sus instancias simplifica la configuración de la red. Sin embargo, si no desea que las instancias EC2 tengan una IP pública, puede configurar una puerta de enlace NAT. Ahora terminemos de configurar la subred agregando una tabla de rutas:Producción:Asigne la ID de la tabla de rutas (reemplace la ID con la suya): agreguemos una ruta asociada con nuestra puerta de enlace de Internet:Producción:Y asociar la tabla a la subred:Producción:Finalmente, crea un grupo de seguridad en nuestra VPC:Producción:Y asigne el ID de seguridad (reemplace el ID con el suyo): Ahora necesitamos crear un rol para permitir que AWS Batch llame a ECS (otro servicio de AWS). Descargue el archivo de configuración:Producción:Crear rol:Producción:Crear perfil de instancia:Producción:Agregar función al perfil de instancia:Adjuntar política de función:Con la red y los permisos configurados, ¡ahora estamos listos para configurar el entorno informático!En AWS Batch, un entorno informático determina qué tipos de instancia usar para nuestros trabajos.Creamos un script simple para genera tu archivo de configuración:Producción:Ejecute el script y pase los ID de subred y grupo de seguridad:Producción:También puede editar el archivo my-compute-env.json y colocar sus ID de subred en la lista de subredes y sus ID de grupo de seguridad en la lista securityGroupIds. Si necesita más personalización para su entorno informático, únase a nuestro Slack y lo ayudaremos. Cree el entorno informático:Producción:Para enviar trabajos, necesitamos crear una cola de trabajos. La cola recibirá solicitudes de trabajo y las enrutará al entorno informático correspondiente. Nota: Espere unos segundos antes de ejecutar el siguiente comando, ya que el entorno informático puede tardar un poco en crearse. Descargar archivo:Producción:Crea una cola de trabajos:Producción:¡Probemos que todo funciona! Definimos un trabajo de ejemplo que espera unos segundos y finaliza:Producción:Enviemos un trabajo a la cola:Producción:Asegurémonos de que el trabajo se ejecute correctamente. Copie el jobId impreso al ejecutar el comando y páselo al siguiente comando:Producción:La primera vez que ejecute el comando anterior, lo más probable es que vea: EJECUTABLE, esto es normal. AWS Batch activa nuevas máquinas EC2 y las apaga una vez que finaliza su trabajo. Esto es excelente porque evitará máquinas inactivas que siguen facturando. Sin embargo, dado que las máquinas nuevas giran cada vez, esto introduce una sobrecarga de tiempo de inicio. Espere un minuto más o menos y vuelva a ejecutar el comando; debería ver INICIANDO, EJECUTANDO y CON ÉXITO en breve. Si el trabajo aún está atascado en el estado EJECUTABLE después de más de unos minutos, solicite ayuda en nuestra comunidad. En esta publicación de blog , configuramos AWS Batch para que podamos enviar trabajos computacionales a pedido. No es necesario mantener un clúster o activar y cerrar manualmente las instancias de EC2. Solo se le factura por los trabajos que envía. Además, AWS Batch es altamente escalable, por lo que puede enviar tantos trabajos como desee. En la siguiente publicación, le mostraremos cómo enviar un trabajo de contenedor personalizado a AWS Batch y configurar un depósito S3 para leer datos de entrada y escribe resultados. Si quieres ser el primero en saber cuando sale la segunda parte; siga con nosotros Gorjeo, LinkedIn o suscríbase a nuestro boletín informativo. No se factura el uso de AWS Batch aparte del uso de EC2. Sin embargo, si desea limpiar su entorno, siga estos pasos. Deshabilite la cola de AWS Batch y los entornos informáticos:Producción:Actualizar el entorno informático:Producción:Deberá esperar de 1 a 2 minutos para que la cola y el entorno informático aparezcan como DESHABILITADOS.Elimine la cola y el entorno informático:Elimine la VPC y sus componentes:Elimine la función de IAM:aws iam remove-role-from-instance -perfil –nombre-perfil-instancia \ ploomber-ecs-función-instancia \ –nombre-función ploomber-ecs-función-instancia
aws iam delete-instance-profile –instance-profile-name ploomber-ecs-instance-roleaws iam detach-role-policy –role-name ploomber-ecs-instance-role \
–policy-arn arn:aws:iam::aws:policy/service-role/AmazonEC2ContainerServiceforEC2Roleaws iam delete-role –role-name ploomber-ecs-instance-role¡Hola! Mi nombre es Eduardo y me gusta escribir sobre todo lo relacionado con la ciencia de datos. Si quieres estar al día con mi contenido. Sígueme en Medium o Gorjeo. ¡Gracias por leer!

aliintizar71

Recent Posts

Máquina de mano Lean, Green, Raspberry Pi

Los días felices de la PDA y Blackberry han quedado definitivamente atrás, pero el factor…

2 years ago

Cómo pronosticar series de tiempo usando autorregresión

Tutorial sobre cómo pronosticar usando un modelo autorregresivo en PythonFoto de Aron Visuals en UnsplashForecasting…

2 years ago

Aquí están todas las formas en que puede cargar su AirPods Pro

Si tienes un iPhone, los AirPods Pro son la opción obvia para escuchar música, ¡aunque…

2 years ago

Las principales noticias tecnológicas del lunes: la prohibición de clientes de terceros de Twitter parece no ser un accidente

Ilustración de Alex Castro / The Verge Plus nuevos rumores sobre el quinto Galaxy Fold.…

2 years ago

AirPods Max 2: aquí están las características más solicitadas

Se rumorea que los auriculares premium de próxima generación de Apple, los AirPods Max 2,…

2 years ago

El remake de Dead Space continúa luciendo terriblemente genial en el nuevo tráiler de la historia

El desarrollador Motive Studio y el editor EA han lanzado un nuevo tráiler de la…

2 years ago