메인 콘텐츠로 건너뛰기
내 인프라에서 Human Plugin 실행하기

네트워크 안에 컨테이너 하나와 PostgreSQL 데이터베이스 하나만 있으면 Unico와 연결됩니다.

Markdown

요구 사항​

요구 사항세부 내용
컨테이너 런타임Docker, Docker Compose 또는 Kubernetes. 이미지는 linux/amd64와 linux/arm64용으로 빌드되며 non-root로 실행됩니다
PostgreSQL버전 16 이상. Human Plugin만 사용하는 데이터베이스이며 사용자와 비밀번호로 접근할 수 있어야 합니다. 기본적으로 SSL이 필요합니다
아웃바운드 HTTPSUnico로 향하는 연결. 네트워크 및 보안을 참고하세요
인바운드포트 8080, 일반 HTTP, 사용자의 백엔드에서만 접근
시크릿액세스 키와 데이터베이스 비밀번호

하드웨어 요구 사항​

800 KB 이하의 셀피를 사용하고 분당 최대 1,500건의 트랜잭션으로 Human Plugin을 실행하기 위한 최소 사양입니다.

Human Plugin​

리소스최소 사양
CPU레플리카당 1 vCPU
메모리레플리카당 1 GB

더 많은 처리량이 필요하면 분당 1,500건의 트랜잭션마다 레플리카를 하나씩 추가하세요. 하나가 재시작되는 동안에도 Human Plugin을 계속 이용할 수 있도록 레플리카를 둘 이상 실행하는 것을 권장합니다.

PostgreSQL​

리소스최소 사양
버전16
CPU2 vCPU
메모리4 GB
디스크SSD

디스크 공간을 추정하려면 프로세스당 약 1.7 KB × 일별 프로세스 수 × 보관 일수를 계산하고 30%를 더하세요.

네트워크​

Unico로 향하는 아웃바운드 HTTPS(포트 443). 네트워크 및 보안을 참고하세요.

이미지​

Human Plugin은 pkg.unico.run/human-plugin-api:latest로 배포됩니다. 항상 현재 릴리스인 latest 태그를 실행하세요. Unico가 제공하는 레지스트리 자격 증명(사용자 이름과 토큰)으로 이미지를 가져오세요. 사전 요구 사항 및 액세스를 참고하세요.

배포 순서​

  1. 전용 데이터베이스와 Human Plugin용 롤을 생성합니다.
  2. 시크릿 저장소의 시크릿과 함께 구성을 설정합니다.
  3. Docker Compose 또는 Kubernetes로 컨테이너를 시작하며, 중지 타임아웃은 최소 60초로 설정합니다.
  4. 트래픽을 라우팅하기 전에 GET /health/ready가 200으로 응답할 때까지 기다립니다. 상태 확인 및 모니터링을 참고하세요.
  5. 접근을 사용자의 백엔드로 제한합니다. 네트워크 및 보안을 참고하세요.
  6. 퀵스타트의 생성 요청을 실행해 봅니다.

시작 시 일어나는 일​

Human Plugin은 속성 카탈로그를 다운로드하고, PostgreSQL에 연결해 테이블을 준비한 다음 포트를 엽니다. 다음 경우에는 포트를 열기 전에 오류와 함께 중단됩니다.

  • 필수 설정이 없거나 유효하지 않은 경우
  • 속성 카탈로그를 다운로드할 수 없는 경우
  • PostgreSQL에 접근할 수 없거나, 롤이 테이블을 생성할 수 없는 경우

로그에 사유가 기록됩니다. 문제 해결을 참고하세요.

여러 인스턴스​

Human Plugin은 요청 상태를 메모리에 보관하지 않으므로 여러 컨테이너가 하나의 데이터베이스를 공유할 수 있습니다. 동시에 시작하는 컨테이너들은 데이터베이스를 통해 서로 조율하므로 레플리카를 한꺼번에 롤아웃해도 됩니다.

프로덕션 적용​

  • 중지 타임아웃을 60초 이상으로 유지하세요.
  • /health/ready가 200으로 응답한 이후에만 컨테이너로 트래픽을 라우팅하세요.
  • Human Plugin을 프라이빗 네트워크 밖으로 노출하지 마세요.
  • 데이터베이스를 백업하세요. 사용자의 인텔리전스가 저장되어 있습니다. 운영을 참고하세요.