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 • Equip 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?

Juga una estona abans de marxar

ELS NOSTRES SERVEIS

Com et podem ajudar

Intel·ligència artificial

Agents d'IA, chatbots i assistents intel·ligents que automatitzen tasques i atenen els teus clients 24/7 per millorar l'eficiència del teu negoci.

Més info

Desenvolupament de programari

Aplicacions web, mòbils i d'escriptori, intranets, e-commerce, SaaS i plataformes de gestió dissenyades per a les necessitats concretes de la teva empresa.

Més info

Serveis cloud

Migració, infraestructura, hosting gestionat, alta disponibilitat i seguretat en Microsoft Azure i Amazon Web Services perquè el teu negoci escali sense límits.

Més info

Ciberseguretat i pentesting

Auditories de seguretat, test d'intrusió (pentesting) i protecció d'aplicacions, dades i infraestructura on-premise i cloud, amb hacking ètic i compliment normatiu.

Més info

Business Intelligence

Quadres de comandament i anàlisi de dades amb Power BI: integrem les teves fonts, dissenyem dashboards i KPIs i convertim les teves dades en decisions.

Més info

Automatització de processos

Automatitzem tasques repetitives i connectem les teves aplicacions amb n8n, Power Automate, Make i RPA, eliminant treball manual i augmentant la productivitat.

Més info

Formació per a empreses

Formem els teus equips en tecnologia amb criteri: desenvolupament web, bases de dades, Git, bones pràctiques i seguretat, automatització amb n8n, intel·ligència artificial per a empreses i creació de solucions d'IA amb Azure AI Foundry.

Més info

Auditoria de codi

Auditem el codi que creguis tu, el teu equip o una IA: et diem què està bé i què millorar, el securitzem i el deixem llest per a producció, web o app.

Més info

Generació d'imatges amb IA

Creem per tu les imatges que necessita el teu negoci amb intel·ligència artificial: producte, xarxes, publicitat, il·lustració i avatars. Tu ens dius què vols i t'ho lliurem llest per fer servir.

Més info

Generació de vídeos amb IA

Creem per tu vídeos amb intel·ligència artificial: promocionals, per a xarxes, presentadors virtuals, doblatge i animacions. Ens comptes la idea i t'ho lliurem muntat i llest per publicar.

Més info

Avatars conversacionals amb IA

Creem avatars conversacionals amb IA —humans digitals amb cara i veu— que atenen els teus clients i equips amb el coneixement de la teva empresa, a la teva web, monitors interactius, WhatsApp o Teams.

Més info

Màrqueting Online i IA

Google Ads, Meta Ads, LinkedIn Ads i posicionament en motors d'IA (GEO/AEO): captem clients i fem que la teva marca aparegui on et busquen, també a ChatGPT, Gemini i Perplexity.

Més info

Tens un projecte en ment?

Explica'ns la teva visió i la convertim en una solució de programari. Sigui quin sigui l'abast, fem realitat la teva idea.