BYOC 운영

BYOC 운영

LangChain이 LangSmith BYOC 데이터 플레인을 어떻게 업그레이드, 패치, 유지하는지, 그리고 유지보수가 예약된 시간대를 요구하는 경우를 설명해요.

출처: 문서

본문

LangChain은 프로비저닝 후 데이터 플레인을 운영합니다. 업그레이드, 스케일링, 모니터링, 보안 패치를 포함합니다. 대부분의 유지보수는 무중단이며 여러분의 조치가 필요하지 않습니다.

자동 스케일링

LangChain은 부하 변화에 따라 데이터 플레인을 스케일링하므로, 크기를 조정하거나 튜닝할 필요가 없습니다:

  • 무상태 LangSmith 서비스: 수평 파드 자동 스케일러로 수평 스케일링하며, Karpenter가 파드 수요 변화에 따라 노드 용량을 프로비저닝하고 제거합니다.
  • 데이터베이스: LangChain이 RDS와 ElastiCache의 크기를 정하고 스케일링합니다.

고가용성

데이터 플레인은 기본적으로 고가용성으로 프로비저닝됩니다. 배포는 지역의 여러 가용 영역에 걸쳐 있으며, RDS와 ElastiCache는 자동 장애 조치로 Multi-AZ로 실행됩니다.

참고: 고가용성 없이 데이터 플레인을 실행하려면 LangChain 팀에 문의하세요.

인스턴스 크기

데이터 플레인은 데이터베이스와 노드 그룹에 대한 기본 인스턴스 크기로 프로비저닝됩니다. 더 작은 인스턴스로 데이터 플레인을 실행하려면 LangChain 팀에 문의하세요.

LangSmith 업그레이드

LangChain은 데이터 플레인의 LangSmith 버전을 매일 업그레이드합니다. 업그레이드는 복제본별로 롤링 방식으로 진행되므로 전체 서비스 다운타임이 없습니다.

두 가지 메커니즘이 업그레이드를 무중단으로 유지합니다:

  • 수평 파드 자동 스케일링: LangSmith 서비스는 수평 파드 자동 스케일러가 크기를 정하는 여러 복제본을 실행하므로, 나머지 복제본이 트래픽을 계속 제공하는 동안 파드가 한 번에 몇 개씩 교체됩니다.
  • 파드 중단 예산(Pod disruption budgets): 파드 중단 예산은 서비스의 복제본 중 한 번에 사용할 수 없게 될 수 있는 수를 제한하므로, 롤링 업데이트나 노드 드레인 모두 서비스를 사용 가능 상태로 유지하는 데 필요한 용량 아래로 내리지 않습니다.

지원 서비스 업그레이드

Istio, KEDA, ClickHouse 운영자 같은 백그라운드 서비스는 정기적인 주기로 업그레이드됩니다. 이 업그레이드는 비간섭적이며 서비스 중단이 예상되지 않습니다.

Kubernetes 클러스터 업그레이드

데이터 플레인을 호스팅하는 EKS 클러스터는 보안, 호환성, 새 기능 접근을 유지하기 위해 주기적 업그레이드가 필요합니다. LangChain은 AWS 지원 종료 날짜에 앞서 적극적으로 이 업그레이드를 수행하며, 시간대를 조율합니다.

클러스터 업그레이드는 두 가지 유형으로 나뉩니다:

  • 컨트롤 플레인 업그레이드: Kubernetes API 서버와 AWS가 함께 관리하는 구성 요소를 다룹니다. 워크로드에 투명하며 파드를 재시작하지 않습니다.
  • 노드 그룹 업그레이드: make-before-break 의미론으로 노드를 하나씩 롤링합니다. 새 노드가 업데이트된 버전으로 프로비저닝되고, 파드가 그 위로 이동하며, 마이그레이션이 완료되면 이전 노드가 종료됩니다. 파드 중단 예산이 드레인에 적용되므로 각 서비스가 사용 가능하게 유지되지만, 개별 파드가 재시작되면서 일시적인 연결 재설정이 보일 수 있습니다. 데이터 손실은 없습니다.

유지보수 시간대

RDS나 ElastiCache 재시작 같은 다운타임을 일으킬 수 있는 유지보수나 업그레이드는, LangChain이 사전에 조율하는 예약된 유지보수 시간대에 수행됩니다.

관측성

Datadog 에이전트나 OpenTelemetry 수집기 같은 관측성 도구와 자체 보안 모니터링 에이전트를 클러스터에 배포할 수 있습니다. 단, LangSmith 워크로드를 방해하지 않아야 합니다.

LangSmith 서비스는 자체 호스팅과 동일한 방식으로 로그, 메트릭, 트레이스를 내보내므로 동일한 구성이 적용됩니다. LangSmith 텔레메트리를 관측성 백엔드로 내보내기를 참고하세요.

문제 해결

LangChain 팀은 여러분의 데이터에 대한 상시 접근 권한이 없으며, 데이터 플레인의 인프라만 관리할 수 있습니다. 문제 해결에 데이터 접근이 필요하면 두 가지 경로가 있습니다:

  • 여러분이 쿼리 실행: 쿼리를 직접 실행하고, LangChain과 공유하기 전에 출력을 검증하고 정화합니다.
  • Break-glass 접근: 특정 엔지니어에게 작업 수행을 허용 목록으로 지정합니다. 언제든 그 접근을 취소할 수 있습니다.

참고: break-glass 접근이 필요하면 LangChain 팀이 지침과 함께 연락합니다.

감사

  • LangSmith 감사 로그: 데이터 플레인 리소스에 대한 작업은 데이터 플레인에 기록되고 데이터 플레인 엔드포인트에서 접근할 수 있습니다. 사용자 생성 같은 컨트롤 플레인 작업은 컨트롤 플레인에서 감사됩니다. 접근 방법은 감사 로그를 참고하세요.
  • EKS 감사 로그: 여러분의 계정의 CloudWatch로 전송되어 실행된 명령을 모니터링할 수 있습니다.
  • VPC 플로우 로그: 여러분의 계정의 S3 버킷에 기록됩니다. BYOVPC에서는 VPC 플로우 로그를 직접 구성합니다.

해당 로그에 대한 경고 설정은 여러분의 책임입니다.

참고 자료

더 알아보기