
Nango로 제조업의 데이터 사일로(Data Silo) 통합: AI에 필요한 데이터만 통과시키는 실전 구성
요약
제조업 현장의 데이터 사일로 문제를 해결하기 위해 Nango를 활용하여 API 통합 환경을 구축하는 실전 사례를 소개합니다. 수동적인 데이터 전달 방식의 한계를 극복하고, OAuth 인증 및 API 관리를 자동화하여 AI 모델에 안전하고 정규화된 데이터를 전달하는 방법을 다룹니다.
핵심 포인트
- Nango를 통한 OAuth 2.0 및 API 인증 프로세스 공통화
- 레이트 리미트 및 재시도 로직 자동화를 통한 개발 공수 절감
- 감사 로그 일원화를 통한 데이터 보안 및 추적성 확보
- Docker와 SQLite를 활용한 로컬 환경 구축 방법
Nango로 제조업의 데이터 사일로(Data Silo) 통합: AI에 필요한 데이터만 통과시키는 실전 구성
"AI는 편리한데, 사내 데이터를 전달할 때마다 파일을 주고받는 작업이 발생한다"
제조업 현장에서 DX(디지털 전환)를 추진할 때, 사실 이 부분이 첫 번째 관문이 된다.
나는 2022년에 개인 사업을 시작한 이후, 기간 시스템(Core System) 교체나 생산 관리의 전자화를 다뤄왔다. 그 과정에서 Docker + 로컬 LLM(Large Language Model)을 이용한 업무 지원 환경을 x1lite 위에 구축할 수는 있었다. 하지만, 기간 시스템에서 취득한 데이터를 Claude Code나 외부 AI에 안전하게 전달하는 메커니즘은 의외로 제대로 갖춰지지 않았다.
이번에는 "데이터 사일로(Data Silo)를 어떻게 극복할 것인가"라는 과제에 대해, Nango라는 오픈 소스 API 통합 기반을 조합한 실전 사례를 소개한다.
1. 수동적인 환경 구축의 한계
데이터를 AI에 연결할 때 흔히 사용하는 방법은 "CSV나 Excel로 출력하여 프롬프트(Prompt)에 붙여넣는" 방식이다. 작은 업무라면 이 방법으로도 성립한다. 하지만 제조업의 기간 시스템에는 수백 개의 명세, 리드 타임(Lead Time), 부품 구성이 포함되어 있다.
내가 실제로 경험한 패턴은 다음과 같다.
- 매일 아침, 수주 입력표를 CSV로 출력한다
- 파일을 공유 폴더에 둔다
- 담당자가 Slack에 올린다
- LLM에 요약을 시킨다
이것은 "사람을 경로"로 삼고 있기 때문에, 어느 날 Slack에 잘못 붙여넣은 오래된 데이터가 혼입되어 생산 지시 오류로 이어졌다. 정규화(Normalization)와 인위적 실수는 상성이 나쁘다.
2. Nango가 해소하는 3가지 노이즈
Nango는 800개 이상의 SaaS 및 API를 공통 인터페이스로 다룰 수 있는 오픈 소스 통합 기반이다.
내가 높게 평가하는 점은 다음 세 가지다.
- OAuth 2.0 플로우(Flow)의 공통화
기간 시스템의 API, Google Workspace의 캘린더, CRM의 API가 각각 OAuth 구현을 가지고 있더라도, Nango가 인증을 대신 처리한다. - 레이트 리미트(Rate Limit)·재시도(Retry)·타입 정의(Type Definition)의 대행
외부 API와의 접속에서 가장 번거로운 "429 에러 발생 시의 재시도", "타입 불일치" 문제는 Nango 본체가 흡수한다. 직접 작은 래퍼(Wrapper)를 양산할 필요가 없어진다. - 감사 로그(Audit Log)의 일원화
"언제, 누구의 계정으로, 어떤 API가 호출되었는가"는 통합 기반 측에 기록된다. 이는 제조업의 감사 대응이나 "사후 추적이 불가능한" 사고 방지에 직결된다.
3. 구현: x1lite 상의 Docker로 Nango 구동하기
나는 자택의 Beelink EliteMini(x1lite) 위에서 Docker를 사용하여 Nango를 로컬에서 동작시키고 있다. 최소한의 Docker Compose 예시를 보여준다.
services:
nango:
image: nango/nango:latest
...
Docker Compose의 간편함은 x1lite와 같은 소규모 서버에서 테스트할 때 특히 유리하다. SQLite를 데이터 스토어(Data Store)로 선택함으로써 추가적인 데이터베이스 서버를 실행할 필요가 없다.
다음으로, Python에서 Nango로 요청을 보내는 최소한의 예시를 보여준다.
import httpx
from tenacity import retry, stop_after_attempt, wait_exponential
NANGO_BASE = "http://127.0.0.1:3000"
...
책임이 명확하게 분리되어 있다. Docker Compose는 "구동 메커니즘", Nango는 "인증과 API 프록시(Proxy)", 스크립트는 "업무 용도"다.
4. AI 활용으로 이어지는 구체적인 흐름
Nango를 사용하여 실제로 Claude Code에 업무 데이터를 전달하는 흐름을 간단히 설명한다.
- 기간 시스템의 API를 Nango에 등록하고, OAuth 접속을 확립한다.
- Python 스크립트를 통해 Nango를 경유하여 수주 데이터를 취득한다.
- 취득한 JSON을 기밀 키(Secret Key)를 제외한 상태로 LLM의 프롬프트에 전달한다.
- Claude Code가 요약·분류·이상 탐지(Anomaly Detection)를 수행한다.
- 결과를 Google Sheets나 사내 Wiki에 반환한다.
포인트는 AI에게 전달할 데이터를 "최소한의 스키마(Schema)로 떨어뜨리는" 공정을 Nango의 전처리 단계에서 보장하는 것이다. 예를 들어 기밀 정보가 되는 고객 주소나 원가(Cost)는 사전에 제외하고, 분석에 필요한 "품목·수량·납기"만을 LLM의 입력값으로 만든다.
5. 효과와 향후 개선점
이 조합을 시도한 단계에서 다음과 같은 효과를 확인했다.
- 데이터 입출력 공수 감소: CSV를 통한 수동 출력이 불필요해졌으며, 데이터 취득부터 LLM 입력까지 하나의 스크립트로 완결된다.
- 인증 일원화: 여러 SaaS에서 독립적으로 관리되던 토큰 관리가 Nango로 집약되어, 갱신 누락이 줄어들었다.
- 재사용성: Docker Compose 구성과 Python 스크립트를 git으로 관리함으로써, 다른 프로젝트에도 30분 정도면 유용할 수 있었다.
한편으로 개선점도 남아 있다.
- 핵심 시스템(基幹システム)의 API 문서가 오래된 경우, Nango 측의 타입 정의(Type Definition)가 맞지 않아 실행 시 예외(Exception)가 발생할 수 있다. 이 경우, Nango의 응답을 정규화(Normalization)하는 작은 미들웨어(Middleware)를 직접 준비하여 대응하고 있다.
- LLM에 전달하기 전 기밀 정보를 삭제하는 정형화(Formatting) 프로세스를 Docker Compose의 별도 서비스로 분리할 예정이다.
요약
데이터 사일로(Data Silo)를 넘는 최단 루트는 인증과 접속을 공통화하는 것이다.
Nango를 사용함으로써 제조업의 복잡한 시스템군도 '하나의 API 군'으로서 AI 에이전트(AI Agent)에게 전달할 수 있다. 나아가 Docker Compose를 통해 로컬 환경에 폐쇄적으로 구성함으로써, 기밀 유지 요건도 충족할 수 있다.
나는 개인 사업의 일환으로 중소기업의 DX(Digital Transformation) 추진, 서버 구축, 업무 시스템의 API 설계를 지원하고 있다. 핵심 시스템과 AI를 어떻게 연결할지에 대해 구체적인 방안부터 상담이 가능하다.
참고
- Nango GitHub: https://github.com/nango/nango
- 순수 Ollama + Open WebUI 환경: https://zenn.dev/yutaka8484/articles/kobayashi-20260419-ollama-openwebui-local
- Docker + Claude Code 환경: https://zenn.dev/yutaka8484/articles/kobayashi-20260609-docker-claude-code-local-dev
Discussion

AI 자동 생성 콘텐츠
본 콘텐츠는 Zenn AI의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기