¿Por qué conectar Devin a sistemas autoalojados?
Descripción general
- Limita el acceso a una superficie de exposición pequeña y controlada: solo las IP conocidas de Devin pueden conectarse
- Se puede configurar en pocas horas de trabajo de ingeniería
- Mantiene tu infraestructura existente: no es necesario migrar a soluciones alojadas en la nube
- Proporciona administración centralizada: un único balanceador de carga opcional para múltiples servicios
Requisitos previos
- GitLab autohospedado (u otro sistema de control de código fuente, SCM) accesible dentro de tu red
- Repositorio de artefactos autohospedado (opcional), como Artifactory o Nexus
- Acceso de administración de la red para configurar firewalls, balanceadores de carga y DNS
- Direcciones IP estáticas de Devin – se encuentran aquí
Esta integración está disponible para clientes del plan Enterprise. Ponte en contacto con [email protected] si necesitas ayuda.
Opciones de configuración
Opción 1: Lista directa de IP permitidas (recomendado)
- Configura tu firewall para permitir conexiones entrantes desde las IP de Devin (enumeradas aquí)
- Asegúrate de que tu instancia de GitLab (u otro SCM) esté accesible mediante HTTPS
- Proporciona la URL a Devin durante la configuración de la integración
- Agrega las IP de Devin a la lista de permitidas de tu Artifactory/Nexus
- Asegúrate de que el repositorio de artefactos esté accesible mediante HTTPS
- Configura las credenciales apropiadas para que Devin pueda acceder a los artefactos
Si utilizas un balanceador de carga con tu repositorio de artefactos, consulta la sección Consideraciones sobre el balanceador de carga a continuación para obtener detalles importantes sobre la lista de IP permitidas.
Opción 2: Balanceador de carga centralizado
- Punto único de gestión para todo el filtrado de red
- Admite múltiples servicios internos con distintos dominios
- Auditorías de seguridad y cumplimiento más sencillas
Consideraciones sobre el balanceador de carga
- ALB opera en la capa 7 (HTTP/HTTPS) y proporciona capacidades avanzadas de enrutamiento
- El tráfico pasa por NAT, por lo que tus servicios backend ven las direcciones IP internas del ALB, no las IP de origen de Devin
- Para repositorios de artefactos detrás de un ALB: debes configurar el allowlisting de IP directamente en Artifactory/Nexus, ya que el repositorio verá la IP interna del balanceador de carga
- Usa AWS WAF para el filtrado de IP a nivel de ALB (consulta el ejemplo a continuación)
- NLB opera en la capa 4 (TCP) y conserva las direcciones IP de origen originales
- Tus servicios backend ven las IP de origen reales de Devin
- Para repositorios de artefactos detrás de un NLB: el allowlisting de IP a nivel del balanceador de carga es suficiente, ya que se mantienen las IP de origen
- Requiere configurar manualmente los grupos de seguridad para cada dirección IP
Ejemplo de implementación en AWS
Application Load Balancer con WAF (más fácil)
Reemplaza las direcciones IP por las direcciones IP reales que aparecen en nuestra documentación sobre la lista de IP permitidas.
Network Load Balancer (grupos de seguridad manuales)
Configuración de DNS
dns-change.json:
Pasos de integración
- Probar la conectividad - Verifica que tus servicios sean accesibles desde fuera de tu red usando el dominio configurado.
- Contactar al soporte de Devin - Comunícate con Cognition y proporciona:
- La URL de tu GitLab autogestionado (por ejemplo,
https://gitlab.yourcompany.com) - La URL de tu repositorio de artefactos (si aplica)
- Cualquier requisito específico de autenticación
- La URL de tu GitLab autogestionado (por ejemplo,
- Completar la configuración de la integración - Colabora con el equipo de Devin para finalizar la conexión.
- Configurar repositorios - Agrega tus repositorios a Devin’s Machine.
Mejores prácticas
- Usar HTTPS - Exponga siempre los servicios mediante HTTPS con certificados SSL válidos
- Crear una cuenta de servicio dedicada - Configure una cuenta específica para Devin en su sistema GitLab/SCM
- Supervisar los registros de acceso - Revise periódicamente los registros de conexión desde las direcciones IP de Devin
- Documentar su configuración - Mantenga documentación interna de su balanceador de carga y de la configuración de DNS
- Probar la conmutación por error (failover) - Asegúrese de que su configuración pueda manejar correctamente fallos del balanceador de carga o del servicio
- Auditorías de seguridad periódicas - Revise periódicamente qué servicios están expuestos y verifique las listas de IP permitidas
Solución de problemas
- Verifica que todas las direcciones IP de Devin estén incluidas en la lista de direcciones permitidas (allowlist)
- Comprueba que tu certificado SSL sea válido y de confianza
- Asegúrate de que los registros DNS estén configurados y propagados correctamente
- Verifica que las reglas de tu firewall permitan tráfico HTTPS (puerto 443)
- Confirma que las credenciales de la cuenta de servicio sean correctas
- Verifica que la cuenta de servicio tenga los permisos apropiados en tu sistema de SCM/artefactos
- Revisa si existen restricciones de autenticación basadas en IP más allá de la lista de direcciones permitidas (allowlist)
- Supervisa las métricas de tu balanceador de carga para detectar cuellos de botella
- Asegúrate de que tus servicios autoalojados tengan recursos suficientes
- Considera la proximidad geográfica entre tu infraestructura y los sistemas de Devin
Soporte
- Crea un canal de Slack Connect con nuestro equipo en app.devin.ai/settings/support
- Envía un correo a [email protected] con los detalles específicos de tu configuración
- Comparte los archivos de configuración relevantes (con los datos sensibles omitidos) al reportar problemas
