Superando el alojamiento estático: Implementación de un formulario de contacto Node.js API en AWS EC2

Implementa un formulario de contacto en Node.js en AWS EC2 para tener un método efectivo de comunicación con tus clientes. Aprende cómo hacerlo de manera sencilla y eficiente.

20 dic 2025 • 5 min read • Q2BSTUDIO Team

Implementación de formulario de contacto Node.js en AWS EC2

Cuando se habla de alojar portfolios, la recomendación habitual es usar hosting estático en plataformas como Amazon S3, Vercel, Netlify o CloudFront. Y con razón, esa suele ser la solución arquitectónica más adecuada para sitios estáticos. Sin embargo, en mi camino de aprendizaje en la nube quise ir un paso más allá para entender qué abstraen exactamente esos servicios gestionados. En lugar de quedarme en hosting estático, construí y desplegué un servicio backend en AWS EC2 para gestionar el formulario de contacto de mi portfolio. Este artículo describe qué construí, por qué elegí EC2 y qué aprendí durante el proceso.

Por qué EC2 para un formulario de contacto

Para ser claros, EC2 no es la herramienta más eficiente para alojar un portfolio estático. Los servicios gestionados existen por una razón y suelen ofrecer mejor escalabilidad, seguridad y simplicidad para ese tipo de casos. Pero EC2 es ideal para aprender en profundidad. Quería comprender cómo se ejecutan las aplicaciones en servidores reales, cómo se despliegan servicios backend, cómo fluye el tráfico en un sistema y cómo se gestiona la disponibilidad en la práctica. Buscaba experiencia práctica con servidores Linux, gestión de procesos persistentes, configuración de proxies inversos y manejo de solicitudes HTTP reales. Ese objetivo didáctico fue lo que convirtió a EC2 en la elección correcta para este proyecto.

Qué construí

Desarrollé una pequeña API en Node.js y Express con dos endpoints sencillos. Uno atiende comprobaciones de salud mediante GET /api/health y el otro, POST /api/contact, recibe las enví­as del formulario de contacto del portfolio. En lugar de depender de servicios de formularios de terceros, el frontend envía los datos directamente a esta API, lo que me da control total sobre el flujo de solicitudes y el comportamiento del servidor. Este enfoque también refleja escenarios típicos en proyectos de software a medida donde requerimos control y personalización del backend.

Arquitectura a alto nivel

De forma simplificada la arquitectura es la siguiente: un usuario interactúa con mi portfolio en el navegador, la petición viaja por Internet hasta una instancia AWS EC2, Nginx recibe el tráfico entrante y reenvía las solicitudes de API a la aplicación Node.js que escucha en el puerto 3000 y es gestionada por PM2. Esta configuración reproduce cómo muchas arquitecturas productivas enrutan tráfico y gestionan procesos, incluso en entornos de mayor escala.

Pasos principales del despliegue

Primero configuré el grupo de seguridad de EC2. El acceso SSH por el puerto 22 quedó restringido a mi IP mientras que el tráfico HTTP por el puerto 80 quedó permitido desde cualquier origen para que la API fuera pública. Luego lancé la instancia EC2 con una AMI de Ubuntu y un tipo de instancia elegible para el free tier. Tras iniciar la instancia me conecté por SSH con un par de claves, lo que me recordó que los servidores no son recursos de desplegar y olvidar; el control de acceso y la seguridad importan desde el primer minuto.

Una vez dentro instalé Node.js LTS y npm para que el backend pudiera ejecutarse en la nube tal como lo hacía localmente. Copié el proyecto al servidor, instalé dependencias con npm install y verifiqué la API ejecutando node server.js directamente. Como es sabido, ejecutar la aplicación así solo funciona mientras la sesión SSH está activa, por eso introduje PM2. PM2 ejecuta la aplicación en segundo plano, la reinicia si falla, la mantiene viva tras desconexiones SSH y asegura que se reinicie al reiniciar el servidor, convirtiendo un proceso frágil en un servicio persistente.

Como la aplicación escucha en el puerto 3000 no quería exponerla directamente al público. Instalé Nginx y lo configuré como proxy inverso, de forma que todo el tráfico público llega por el puerto 80 y las rutas /api/* se reenví­an internamente a la aplicación Node.js. Esta etapa me acercó a patrones reales de enrutamiento y comportamiento de proxies, incluyendo la resolución de un problema clásico con barras finales en la configuración de proxy pass.

Pruebas de extremo a extremo

Con todo conectado probé el flujo de extremo a extremo. Usé curl desde el servidor, inspeccioné las solicitudes en la pestaña Network del navegador y envié el formulario de contacto desde el portfolio en vivo. Ver respuestas 200 OK consistentes desde un backend en la nube se siente muy distinto a probar localmente y da una sensación tangible de que el sistema está en producción.

Lo que aprendí

El proyecto me permitió entender cómo se ejecutan los servicios backend en servidores cloud, por qué gestores de procesos como PM2 son fundamentales y cómo Nginx encaja en despliegues reales. También quedó clara la diferencia entre ejecutar código y operar un servicio que debe permanecer online. Gané confianza administrando Linux, AWS EC2, backends Node.js, Nginx y flujos de trabajo de estilo productivo. Además reforzó por qué existen los servicios gestionados y cuánta complejidad eliminan silenciosamente. Si estás comenzando en la nube y quieres ver qué ocurre bajo el capó, recomiendo intentar un proyecto similar.

Sobre Q2BSTUDIO

En Q2BSTUDIO somos una empresa de desarrollo de software especializada en aplicaciones a medida y software a medida para empresas de todos los tamaños. Ofrecemos soluciones que combinan desarrollo a medida con capacidades avanzadas en inteligencia artificial, ciberseguridad, servicios cloud aws y azure y servicios inteligencia de negocio. Si buscas asesoría para migraciones cloud, despliegues en EC2 o arquitecturas gestionadas te podemos ayudar con experiencia y enfoque práctico. Conocemos los retos de producción y acompañamos desde el prototipo hasta la puesta en marcha y operación continua.

Ofrecemos servicios que abarcan desde desarrollo de aplicaciones multiplataforma hasta proyectos de automatización y agentes IA a medida. Si tu objetivo es transformar datos en decisiones con herramientas como Power BI o quieres implantar IA para empresas integrando modelos y agentes IA en tus procesos, en Q2BSTUDIO tenemos equipos dedicados. Descubre nuestras soluciones de software y aplicaciones a medida o conoce nuestros servicios cloud AWS y Azure para acelerar tu proyecto en la nube.

Palabras clave relevantes para encontrar nuestros servicios: aplicaciones a medida, software a medida, inteligencia artificial, ciberseguridad, servicios cloud aws y azure, servicios inteligencia de negocio, ia para empresas, agentes IA, power bi. Si te interesa que implementemos un backend seguro y escalable para tu web o un sistema completo de datos e IA, ponte en contacto y construiremos la solución a medida que tu negocio necesita.

A BREAK?

Play for a moment before you go

OUR SERVICES

How we can help you

Artificial intelligence

AI agents, chatbots, and intelligent assistants that automate tasks and serve your customers 24/7 to improve the efficiency of your business.

More info

Software Development

Web, mobile, and desktop applications, intranets, e-commerce, SaaS, and management platforms designed for your company's specific needs.

More info

Cloud services

Migration, infrastructure, managed hosting, high availability, and security on Microsoft Azure and Amazon Web Services to help your business scale without limits.

More info

Cybersecurity and pentesting

Security audits, penetration testing and protection of applications, data and infrastructure on-premise and cloud, with ethical hacking and regulatory compliance.

More info

Business Intelligence

Dashboards and data analysis with Power BI: we integrate your sources, design dashboards and KPIs and turn your data into decisions.

More info

Process automation

We automate repetitive tasks and connect your applications with n8n, Power Automate, Make, and RPA, eliminating manual work and increasing productivity.

More info

Training for Companies

We train your teams in technology with criteria: web development, databases, Git, best practices and security, automation with n8n, artificial intelligence for companies and creation of AI solutions with Azure AI Foundry.

More info

Code Auditing

We audit the code that you, your team or an AI create: we tell you what is good and what to improve, we secure it and make it ready for production, web or app.

More info

AI Image Generation

We create for you the images that your business needs with artificial intelligence: product, networks, advertising, illustration and avatars. You tell us what you want and we deliver it ready to use.

More info

AI Video Generation

We create videos with artificial intelligence for you: promotional, networking, virtual presenters, dubbing and animations. You tell us the idea and we will deliver it assembled and ready to publish.

More info

AI Conversational Avatars

We create conversational avatars with AI – digital humans with a face and voice – that serve your customers and teams with the knowledge of your company, on your website, interactive monitors, WhatsApp or Teams.

More info

Online Marketing and AI

Google Ads, Meta Ads, LinkedIn Ads and AI Engine Positioning (GEO/AEO): we attract customers and make your brand appear where they search for you, also on ChatGPT, Gemini and Perplexity.

More info

Do you have a project in mind?

Tell us your vision and we'll turn it into a software solution. Whatever the scope, we make your idea real.

Live Chat