Perché collegare Devin a sistemi self-hosted?
Panoramica
- Limita l’accesso a una superficie ridotta e controllata - Solo gli IP noti di Devin possono connettersi
- Richiede al massimo poche ore di lavoro di engineering per essere configurato
- Mantiene la tua infrastruttura esistente - Non è necessario migrare a soluzioni ospitate nel cloud
- Offre una gestione centralizzata - Con la possibilità di utilizzare un singolo bilanciatore di carico per più servizi
Prerequisiti
- GitLab self-hosted (o un altro sistema SCM) accessibile all’interno della tua rete
- Repository di artifact self-hosted (opzionale), ad esempio Artifactory o Nexus
- Accesso come amministratore di rete per configurare firewall, load balancer e DNS
- Indirizzi IP statici di Devin - disponibili qui
Questa integrazione è disponibile per i clienti con piano Enterprise. Contatta [email protected] se hai bisogno di assistenza.
Opzioni di configurazione
Opzione 1: Whitelisting diretto degli IP (consigliata)
- Configura il firewall in modo da consentire connessioni in ingresso dagli IP di Devin (elencati qui)
- Assicurati che la tua istanza GitLab (o un altro SCM) sia accessibile via HTTPS
- Fornisci l’URL a Devin durante la configurazione dell’integrazione
- Aggiungi gli IP di Devin alla allowlist di Artifactory/Nexus
- Assicurati che il repository di artifact sia accessibile via HTTPS
- Configura le credenziali appropriate per consentire a Devin di accedere agli artifact
Se utilizzi un load balancer con il tuo repository di artifact, consulta la sezione Considerazioni sul load balancer qui sotto per dettagli importanti sull’allowlisting degli IP.
Opzione 2: Load Balancer centralizzato
- Punto di gestione unico per l’intero filtraggio di rete
- Supporto per più servizi interni con domini diversi
- Verifiche di sicurezza e conformità semplificate
Considerazioni sul Load Balancer
- ALB opera al Layer 7 (HTTP/HTTPS) e fornisce funzionalità avanzate di routing
- Il traffico passa attraverso NAT, quindi i tuoi servizi di backend vedono gli indirizzi IP interni dell’ALB, non gli IP sorgente di Devin
- Per repository di artefatti dietro ALB: devi configurare l’allowlisting degli IP direttamente su Artifactory/Nexus, poiché il repository vedrà l’IP interno del load balancer
- Usa AWS WAF per il filtraggio IP a livello di ALB (vedi l’esempio seguente)
- NLB opera al Layer 4 (TCP) e preserva gli indirizzi IP sorgente originali
- I tuoi servizi di backend vedono gli IP sorgente effettivi di Devin
- Per repository di artefatti dietro NLB: l’allowlisting degli IP a livello di load balancer è sufficiente, poiché gli IP sorgente vengono mantenuti
- Richiede la configurazione manuale del security group per ciascun indirizzo IP
Esempio di implementazione AWS
Application Load Balancer con WAF (più semplice)
Sostituisci gli indirizzi IP con gli indirizzi IP effettivi indicati nella nostra documentazione sul whitelisting degli IP.
Network Load Balancer (gruppi di sicurezza configurati manualmente)
Configurazione DNS
dns-change.json:
Passaggi di integrazione
- Verifica la connettività - Verifica che i tuoi servizi siano accessibili dall’esterno della tua rete utilizzando il dominio configurato
- Contatta il supporto Devin - Rivolgiti a Cognition indicando:
- Il tuo URL GitLab self-hosted (ad es.
https://gitlab.yourcompany.com) - L’URL del tuo artifact repository (se applicabile)
- Eventuali requisiti specifici di autenticazione
- Il tuo URL GitLab self-hosted (ad es.
- Completa la configurazione dell’integrazione - Collabora con il team Devin per finalizzare la connessione
- Configura i repository - Aggiungi i tuoi repository a Devin’s Machine
Best Practices
- Usa HTTPS - Esponi sempre i servizi tramite HTTPS con certificati SSL validi
- Crea un account di servizio dedicato - Configura un account specifico per Devin nel tuo sistema GitLab/SCM
- Monitora i log di accesso - Verifica regolarmente i log delle connessioni dagli IP di Devin
- Documenta la tua configurazione - Mantieni documentazione interna sul tuo load balancer e sulla configurazione DNS
- Verifica il failover - Assicurati che la tua configurazione gestisca correttamente i guasti del load balancer o dei servizi
- Audit di sicurezza periodici - Riesamina periodicamente quali servizi sono esposti e verifica le allowlist di IP
Risoluzione dei problemi
- Verifica che tutti gli indirizzi IP di Devin siano stati aggiunti all’allowlist
- Controlla che il tuo certificato SSL sia valido e considerato attendibile
- Assicurati che i record DNS siano configurati correttamente e che la propagazione sia completata
- Verifica che le regole del firewall consentano il traffico HTTPS (porta 443)
- Conferma che le credenziali dell’account di servizio siano corrette
- Verifica che l’account di servizio disponga delle autorizzazioni appropriate nel tuo sistema SCM/artifact
- Controlla l’eventuale presenza di restrizioni di autenticazione basate su IP oltre all’allowlist
- Monitora le metriche del tuo load balancer per individuare eventuali colli di bottiglia
- Assicurati che i tuoi servizi self-hosted dispongano di risorse adeguate
- Considera la vicinanza geografica tra la tua infrastruttura e i sistemi di Devin
Supporto
- Crea un canale Slack Connect con il nostro team su app.devin.ai/settings/support
- Invia un’e-mail a [email protected] con i dettagli specifici della tua configurazione
- Condividi i file di configurazione pertinenti (con i dati sensibili rimossi) quando segnali un problema
