Despliegue de una app Golang Dockerizada en AWS App Runner

Guía práctica para desplegar una app Go en contenedores con AWS App Runner y MongoDB en EC2, con ECR, OIDC y conectividad VPC segura.

7 sept 2025 • 5 min de lectura • Equipo Q2BSTUDIO

Inteligencia-Artificial-

AWS App Runner es un servicio totalmente gestionado de AWS para ejecutar aplicaciones en contenedores y APIs sin preocuparse por la infraestructura. En esta guía práctica te mostramos cómo desplegar una app de Golang dockerizada, que utiliza MongoDB alojado en una instancia EC2, y publicarla con App Runner. Además, añadimos recomendaciones de arquitectura, seguridad y buenas prácticas en la nube. En Q2BSTUDIO desarrollamos aplicaciones a medida y software a medida, integramos inteligencia artificial, reforzamos la ciberseguridad y optimizamos entornos cloud con servicios cloud aws y azure para que tu negocio escale con fiabilidad y control. Si quieres apoyo experto, podemos acompañarte de principio a fin con un enfoque end to end.

Resumen de la solución: construir y publicar la imagen Docker en Amazon ECR mediante GitHub Actions autenticado con OIDC, preparar MongoDB en EC2 con autenticación, y crear el servicio de App Runner conectado por VPC para que la aplicación acceda a la base de datos por red privada.

Repositorio del proyecto: clona el código de ejemplo de tareas en GitHub en tu equipo local desde el repositorio tasky. El proyecto ya incluye un Dockerfile para compilar la imagen de la app de Golang.

Pipeline de GitHub Actions y publicación en ECR: define un workflow que al hacer push en la rama principal haga lo siguiente: 1 checkout del repositorio 2 asunción de credenciales temporales de AWS con OIDC 3 login en ECR 4 build y push de la imagen con la etiqueta latest a tu repositorio de ECR. Variables típicas a parametrizar: región de AWS, nombre del repositorio en ECR, id de cuenta y nombre del rol que asumirá GitHub Actions.

Autenticación OIDC en AWS para GitHub Actions: AWS recomienda OIDC frente a claves de acceso de larga duración. Pasos clave: 1 crear el proveedor OIDC de GitHub con la URL token.actions.githubusercontent.com, el cliente sts.amazonaws.com y el huella certificada pública correspondiente 2 crear el rol de IAM para GitHub Actions con política de confianza que permita sts AssumeRoleWithWebIdentity desde el proveedor OIDC y restrinja el subject al repositorio y rama concretos 3 adjuntar una política que permita autenticar en ECR y realizar acciones de push y pull. Con esto, el runner obtiene credenciales temporales seguras sin exponer secretos.

Verificación en ECR: tras hacer push a la rama configurada, el workflow construirá y publicará la imagen en tu repositorio ECR. Comprueba en la consola de ECR que la imagen con etiqueta latest aparece correctamente.

Instalación de MongoDB en EC2: lanza una instancia Ubuntu t3.micro. En el grupo de seguridad, habilita el puerto TCP 27017 únicamente desde el conector de VPC de App Runner o desde rangos privados de tu VPC. Evita abrir 0.0.0.0 salvo en pruebas muy controladas. Instala MongoDB 7 realizando estos pasos en la terminal de la instancia: 1 importar la clave pública de MongoDB 2 añadir el repositorio de MongoDB para tu versión de Ubuntu 3 ejecutar apt update e instalar el paquete mongodb-org 4 iniciar y habilitar el servicio mongod con systemctl y verificar el estado.

Creación de usuario administrador y autenticación: con mongosh, cambia a la base admin y crea un usuario administrador con una contraseña robusta y roles userAdminAnyDatabase y readWriteAnyDatabase. A continuación habilita la autenticación en el archivo de configuración mongod.conf añadiendo security con authorization en enabled. Reinicia el servicio mongod. Para el acceso de red, ajusta net bindIp para permitir tráfico desde la red privada de tu VPC. Lo más seguro es mantener la base de datos accesible solo por IPs privadas y controladas por grupos de seguridad.

Buenas prácticas de seguridad: usa contraseñas fuertes y rotación, restringe 27017 a orígenes mínimos, desactiva el acceso público, y segmenta redes. Para entornos corporativos, considera VPC endpoints, salto mediante bastion, cifrado en tránsito y reposo, y auditoría de logs. Si necesitas apoyo en ciberseguridad y pentesting, nuestro equipo puede ayudarte a fortalecer cada capa.

Creación del servicio en AWS App Runner: 1 crea el servicio desde imagen de contenedor en ECR 2 define variables de entorno, por ejemplo MONGODB_URI con el host privado de la instancia EC2, puerto 27017, usuario y contraseña del admin o del usuario de aplicación, y el puerto de escucha de la app de Golang expuesto en 8080 3 en Networking selecciona Custom VPC para crear o usar un VPC Connector que permita a App Runner salir hacia las subredes privadas donde reside la EC2 con MongoDB 4 revisa y lanza el despliegue. Cuando el estado pase a Running, copia el dominio por defecto de App Runner y visita la aplicación en el navegador.

Pruebas funcionales: regístrate en la app y crea tareas. Los datos deben persistir en MongoDB. Verifica que el escalado automático de App Runner responde a la carga y que los logs de la aplicación y del servicio no muestran errores de conexión a la base de datos.

Optimización y costes: App Runner gestiona escalado y actualizaciones con mínimos ajustes, ideal para equipos que desean centrarse en desarrollo de aplicaciones a medida. Controla el tamaño de la imagen Docker, activa health checks, y configura límites de CPU y memoria acordes. Para MongoDB, considera moverla a un servicio gestionado compatible si necesitas mayor disponibilidad o réplicas, o bien automatizar despliegues con Terraform para reproducibilidad.

Limpieza de recursos: elimina la instancia EC2 si ya no la necesitas, borra el servicio de App Runner y si procede la imagen en ECR para evitar costes. Revisa el VPC Connector y otros artefactos creados durante la prueba.

Cómo te ayuda Q2BSTUDIO: diseñamos y operamos plataformas cloud resilientes con servicios cloud aws y azure, desarrollamos aplicaciones a medida y software a medida, integramos inteligencia artificial e incluso agentes IA en tus flujos de negocio y reforzamos la ciberseguridad con un enfoque integral. Descubre cómo aceleramos tus proyectos en la nube visitando nuestro servicio de servicios cloud aws y azure o consulta cómo construimos productos robustos y escalables en desarrollo de aplicaciones a medida. También trabajamos con inteligencia de negocio y power bi, servicios inteligencia de negocio, y frameworks de ia para empresas para transformar datos en decisiones.

Conclusión: con App Runner, ECR y un conector VPC, puedes llevar una app de Golang en contenedor a producción de forma rápida y segura, conectándola a MongoDB en EC2 por red privada. Esta arquitectura simplifica el despliegue continuo con GitHub Actions y OIDC, y sienta las bases para crecer con observabilidad, ciberseguridad y automatización.

¿UNA PAUSA?

Juega un momento antes de irte

NUESTROS SERVICIOS

Cómo podemos ayudarte

Inteligencia artificial

Agentes de IA, chatbots y asistentes inteligentes que automatizan tareas y atienden a tus clientes 24/7 para mejorar la eficiencia de tu negocio.

Más info

Desarrollo de software

Aplicaciones web, móviles y de escritorio, intranets, e-commerce, SaaS y plataformas de gestión diseñadas para las necesidades concretas de tu empresa.

Más info

Servicios cloud

Migración, infraestructura, hosting gestionado, alta disponibilidad y seguridad en Microsoft Azure y Amazon Web Services para que tu negocio escale sin límites.

Más info

Ciberseguridad y pentesting

Auditorías de seguridad, test de intrusión (pentesting) y protección de aplicaciones, datos e infraestructura on-premise y cloud, con hacking ético y cumplimiento normativo.

Más info

Business Intelligence

Cuadros de mando y análisis de datos con Power BI: integramos tus fuentes, diseñamos dashboards y KPIs y convertimos tus datos en decisiones.

Más info

Automatización de procesos

Automatizamos tareas repetitivas y conectamos tus aplicaciones con n8n, Power Automate, Make y RPA, eliminando trabajo manual y aumentando la productividad.

Más info

Formación para empresas

Formamos a tus equipos en tecnología con criterio: desarrollo web, bases de datos, Git, buenas prácticas y seguridad, automatización con n8n, inteligencia artificial para empresas y creación de soluciones de IA con Azure AI Foundry.

Más info

Auditoría de código

Auditamos el código que creas tú, tu equipo o una IA: te decimos qué está bien y qué mejorar, lo securizamos y lo dejamos listo para producción, web o app.

Más info

Generación de imágenes con IA

Creamos por ti las imágenes que necesita tu negocio con inteligencia artificial: producto, redes, publicidad, ilustración y avatares. Tú nos dices qué quieres y te lo entregamos listo para usar.

Más info

Generación de vídeos con IA

Creamos por ti vídeos con inteligencia artificial: promocionales, para redes, presentadores virtuales, doblaje y animaciones. Nos cuentas la idea y te lo entregamos montado y listo para publicar.

Más info

Avatares conversacionales con IA

Creamos avatares conversacionales con IA —humanos digitales con cara y voz— que atienden a tus clientes y equipos con el conocimiento de tu empresa, en tu web, monitores interactivos, WhatsApp o Teams.

Más info

Marketing Online e IA

Google Ads, Meta Ads, LinkedIn Ads y posicionamiento en motores de IA (GEO/AEO): captamos clientes y hacemos que tu marca aparezca donde te buscan, también en ChatGPT, Gemini y Perplexity.

Más info

¿Tienes un proyecto en mente?

Cuéntanos tu visión y la convertimos en una solución de software. Sea cual sea el alcance, hacemos realidad tu idea.

Live Chat