- Arquitectura general
- Pasos prácticos para crear una aplicación (paso a paso)
- Políticas de seguridad, gestión de claves y IAM
- Elegir la ubicación de un centro de datos y comparar la latencia y el cumplimiento
- Alojamiento de modelos: GPU en la nube vs. API administrada (ventajas y desventajas)
- Optimización del rendimiento y de los costes
- Consejos finales de seguridad y privacidad
- Ejemplos de aplicaciones y escenarios
- Consejos prácticos para instalarse en nuestra empresa (con más de 85 ubicaciones)
- Resumen rápido previo al lanzamiento y lista de verificación
- Opciones de soporte técnico y consultoría
- Preguntas frecuentes
Arquitectura general
Esta guía proporciona una arquitectura sugerida para crear una aplicación web. Sin servidor que aprovecha las capacidades de IA generativa. El objetivo es combinar AWS Amplify para el front-end y CI/CD con servicios sin servidor de AWS para el back-end para crear una solución escalable, segura y fácil de mantener.
- Interfaz: React o Next.js alojado en Alojamiento de AWS Amplify +CDN (CloudFront).
- Autenticación: Amazon Cognito (registro/inicio de sesión + federación).
- API: API Gateway (REST/HTTP) o AppSync (GraphQL) que enruta solicitudes a Lambda.
- Lógica generativa: Lambda (Node/Python) que envía la solicitud al modelo generativo: el modelo puede ser administrado (OpenAI/Hugging Face/Bedrock) o auto hospedado en un servidor GPU con Triton/TorchServe.
- Almacenamiento: S3 para archivos, DynamoDB o RDS para metadatos/sesiones.
- Seguridad y Red: WAF, Shield Advanced, IAM con privilegios mínimos, Secrets Manager.
- CDN y almacenamiento en caché: CloudFront + Lambda@Edge o encabezados de almacenamiento en caché para mejorar la latencia y reducir costos.
Pasos prácticos para crear una aplicación (paso a paso)
1. Preparación del entorno de desarrollo
Instala las herramientas básicas que necesitas: Node.js, npm y la CLI de AWS Amplify. Luego, clona el repositorio del proyecto e instala las dependencias.
curl -sL https://deb.nodesource.com/setup_18.x | sudo -E bash -
sudo apt-get install -y nodejs
npm install -g @aws-amplify/cli
git clone <repo>
cd <repo>
npm installConfigure la AWS CLI y Amplify e inicialice el proyecto Amplify:
aws configure
amplify configure
amplify init
2. Añadir autenticación con Cognito
Con Amplify, puedes añadir autenticación rápidamente. Las opciones incluyen configuración predeterminada o personalización manual. Usa la federación con Google/Facebook si es necesario y habilita las reglas de contraseña, la autenticación multifactor (MFA) y la verificación de correo electrónico.
amplify add auth
# choose default or manual configuration
amplify push
3. Cree una API sin servidor (REST o GraphQL)
Agregue API con Amplify; puede elegir REST con Lambda o GraphQL con AppSync + DynamoDB.
amplify add api
# choose REST and Lambda function template
amplify pushO para GraphQL:
amplify add api
# choose GraphQL + DynamoDB
amplify push
4. Escribir una Lambda que interactúe con el modelo de IA Generativa
Lambda actúa como interfaz entre el frontend y el modelo generativo. Si utiliza un servicio externo como OpenAI, mantenga la clave API segura y envíe la solicitud a través de Lambda.
const fetch = require('node-fetch');
exports.handler = async (event) => {
const prompt = JSON.parse(event.body).prompt;
const apiKey = process.env.OPENAI_API_KEY;
const res = await fetch('https://api.openai.com/v1/chat/completions', {
method: 'POST',
headers: { 'Authorization': `Bearer ${apiKey}`, 'Content-Type': 'application/json' },
body: JSON.stringify({
model: 'gpt-4o-mini',
messages: [{ role: 'user', content: prompt }]
})
});
const data = await res.json();
return { statusCode: 200, body: JSON.stringify(data) };
};Si aloja el modelo en su servidor GPU, Lambda o el servicio backend enviarán la solicitud a su punto final:
const res = await fetch('https://gpu.example.com/inference', {
method: 'POST',
headers: { 'Authorization': `Bearer ${process.env.MODEL_TOKEN}`, 'Content-Type': 'application/json' },
body: JSON.stringify({ inputs: prompt })
});
5. Implementación de transmisión/tiempo real (opcional)
Para respuestas largas o tokens de streaming, use WebSocket o eventos enviados por el servidor. En AWS, puede usar suscripciones de API Gateway WebSocket o AppSync.
6. Hospedaje frontend con Amplify Hosting y CI/CD
Amplify Hosting le permite iniciar CI/CD desde un repositorio Git; cada envío a una rama específica activa una compilación y una implementación automáticas.
amplify hosting add
amplify publish
Políticas de seguridad, gestión de claves y IAM
Gestión de secretos
De Administrador de secretos de AWS Se utiliza para almacenar claves de API y secretos. El rol de IAM para Lambda solo debe incluir acceso de lectura al secreto especificado.
Políticas de IAM de muestra
Un ejemplo de política mínima que permite a Lambda leer un secreto específico:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": "secretsmanager:GetSecretValue",
"Resource": "arn:aws:secretsmanager:region:acct-id:secret:myOpenAIKey"
}
]
}
Protección contra ataques y seguridad del contenido
Para proteger la aplicación:
- Activación AWS WAF Para bloquear solicitudes maliciosas.
- Uso de Escudo de AWS (Estándar por defecto, para mayor protección que Shield Advanced).
- A nivel de API, aproveche las limitaciones de velocidad y los planes de uso en API Gateway.
- Moderación de contenido Para obtener resultados productivos: revise y filtre las respuestas con modelos de moderación (OpenAI/HuggingFace).
Elegir la ubicación de un centro de datos y comparar la latencia y el cumplimiento
Elegir la región correcta es importante según la distribución de usuarios y los requisitos legales. Consejos comunes:
- nosotros-este-1: Rápido a América del Norte y costos más bajos para servicios básicos.
- eu-oeste-1: Adecuado para Europa con leyes de privacidad más estrictas.
- ap-sureste-1 / ap-noreste-1: Regiones asiáticas para usuarios de ese continente.
Para usuarios distribuidos, utilice CDN (CloudFront) y distribuya el modelo en múltiples regiones o inferencia de borde.
Si es necesario Latencia muy baja O bien, si tiene control total sobre los datos, puede alojar el modelo en el servidor GPU de la empresa en más de 85 ubicaciones, lo que proporciona los beneficios de latencia reducida, control de datos y capacidades anti-DDoS de hardware.
Alojamiento de modelos: GPU en la nube vs. API administrada (ventajas y desventajas)
Comparación general entre servicios administrados y autoalojados en GPU:
- Administrado (OpenAI/Bedrock/Hugging Face):
- Ventajas: Mantenimiento cero, actualizaciones sencillas del modelo, acceso rápido.
- Desventajas: Costo por solicitud, preocupaciones de privacidad.
- Autoalojado en GPU:
- Ventajas: Costo fijo del servidor, control total, configuraciones dedicadas, uso de nuestros servidores gráficos para renderizado e IA.
- Desventajas: Necesidad de gestión y monitorización, escalabilidad manual.
Recomendación: Utilice Managed para PoC; migre al servidor GPU para necesidades de alto volumen y baja latencia.
Optimización del rendimiento y de los costes
- Extensión: Almacene en caché las salidas no confidenciales en CloudFront o Redis/ElastiCache.
- Selección de modelo: Utilice el modelo más pequeño posible para las necesidades reales (destiladas o cuantificadas).
- Límite Lambda: Para inferencias largas, utilice ECS/EKS o un servidor GPU, ya que Lambda tiene limitaciones de tiempo/CPU.
- Escucha: CloudWatch para registros y métricas, X-Ray para seguimiento.
- Ahorro de costes: Reserve o utilice instancias reservadas o servidores GPU dedicados para inferencia a largo plazo.
Ejemplo de configuración del proxy inverso de Nginx a Triton en la GPU
Si el modelo se ejecuta en un servidor GPU, puede configurar un proxy inverso con Nginx:
server {
listen 443 ssl;
server_name ai.example.com;
location / {
proxy_pass http://127.0.0.1:8000;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
}
}
Consejos finales de seguridad y privacidad
Algunos consejos prácticos para proteger los datos y cumplir la ley:
- Registro sensible: Evite almacenar mensajes confidenciales directamente o cifrarlos.
- Retención de datos: Revise los requisitos de GDPR/PDPA; utilice ubicaciones específicas (residencia de datos) si es necesario.
- Entrada/Salida: Utilice la validación y la desinfección para evitar la inyección rápida y la exfiltración de datos.
Ejemplos de aplicaciones y escenarios
- Aplicación de creación de contenidos y edición de textos con sugerencias y resúmenes.
- Chatbot inteligente con contexto de sesión almacenado en DynamoDB.
- Herramienta de codificación inteligente para desarrolladores con sugerencias de autocompletar y refactorización.
- Herramientas de renderizado híbrido de IA que utilizan el servidor GPU para procesar imágenes y vídeos.
Consejos prácticos para instalarse en nuestra empresa (con más de 85 ubicaciones)
Consejos prácticos para reducir la latencia y optimizar la experiencia del usuario a nivel global:
- Para los usuarios de Europa, Asia o América Latina, utilice ubicaciones cercanas para reducir la latencia p99.
- Para comerciar y jugar, utilice un VPS dedicado para comerciar y jugar con Anti-DDoS y BGP Anycast para reducir el ping y la pérdida de paquetes.
- Utilice GPU Cloud para entrenar e inferir modelos grandes para optimizar los costos y la latencia.
- Aprovecha la red y CDN para distribuir contenidos y reducir los tiempos de carga.
Resumen rápido previo al lanzamiento y lista de verificación
- Amplify Hosting y CI están activos.
- Cognito está configurado para autenticación y MFA está habilitado si es necesario.
- Lambda segura con acceso mínimo y Secrets Manager configurado.
- Se aplican WAF y limitación de velocidad a la API.
- Se debe habilitar la CDN y el almacenamiento en caché para reducir el uso y la latencia.
- La ubicación adecuada se selecciona en función de los usuarios objetivo y las necesidades legales.
- Se configura un programa de monitoreo y alerta (CloudWatch + Slack/Email).
- Se deben realizar pruebas de carga y penetración antes del lanzamiento público.
Opciones de soporte técnico y consultoría
Para ayudarte a elegir la mejor combinación de región, GPU y red, puedes usar planes de hosting y servidores gráficos en más de 85 ubicaciones. El equipo técnico puede asesorarte sobre la migración de modelos y la configuración de CI/CD.









