OCI에서 GPU 가속 AI 카메라 분석 지원

이 참조 아키텍처를 사용하여 GPU 가속 카메라 및 비디오 분석을 위한 확장 가능한 Oracle Cloud Infrastructure 패턴을 구현할 수 있습니다.

이 아키텍처는 스마트 카메라 이벤트, 기존 RTSP IP 카메라 스트림, 모바일 또는 에지 장치 이벤트, 업로드된 이미지 및 짧은 비디오 클립을 허용합니다. CPU 집약적인 스트림 처리를 GPU 추론과 분리하고, Oracle Cloud Infrastructure Queue를 내구성이 뛰어난 작업 버퍼로 사용하며, 정책 기반 의사 결정을 적용한 후 운영 시스템에 경고를 전달합니다.

이 솔루션은 단순한 객체 감지를 뛰어넘습니다. 역할, 구역, 시간, 신뢰도, 테넌트 정책, 장치 소유권 및 과거 이벤트 패턴과 같은 컨텍스트를 사용하여 시각적 이벤트가 예상되는지, 의심스러운지, 긴급한지 또는 운영과 관련이 있는지를 평가합니다. 선택된 프레임, 감지 메타데이터, 규칙 결과 및 다운스트림 전달 상태는 감사 및 재생을 위해 보존됩니다.

다음과 같은 경우 이 구조를 사용합니다.
  • 카메라, 이미지 또는 클립 워크로드의 급증
  • GPU 비용 및 활용도에는 고의적인 제어 필요
  • 원시 감지만으로는 부족함
  • 고객은 추적성, 리플레이, 멀티테넌트 제어 또는 기존 운영 시스템과의 통합이 필요합니다.

시작하기 전에

아래 설명된 카메라 분석 참조 아키텍처에 대한 요구 사항을 이해합니다.

참조 아키텍처는 모듈식입니다. 필요한 수집, 추론, 의사 결정 또는 작업 블록을 채택할 수 있습니다.

  • 스마트 AI 카메라, 기존 IP 카메라, 모바일 또는 에지 장치, 업로드된 미디어 또는 이들의 조합을 포함한 비디오 소스 및 토폴로지를 정의합니다. 기존 IP 카메라의 경우 VPN, TLS 터널 또는 아웃바운드 카메라 커넥터를 OCI측 처리 계층으로 계획합니다.
  • 사용 사례, 객체 클래스, 대상 대기 시간, 예상 경보 신선도, 보존 요구 사항, 인적 검토 요구 사항 및 다운스트림 통합 대상을 확인합니다.
  • 운영 서비스 수준 목표(SLO)에 커밋하기 전에 OCI 지역 용량, GPU 구성 가용성, 할당량, 서비스 제한 및 네트워크 대역폭을 검증합니다.
  • 고객 사용 사례에 대한 추론 모델을 선택하고 평가합니다. 게시된 아키텍처는 RT-DETR 스타일 감지 및 CLIP 스타일의 컨텍스트 분류를 예로 사용합니다. 모델 평가 및 선택은 고객별로 유지됩니다.
  • 테넌트, 사이트, 카메라, 사용자 및 장치 ID 정책을 설정합니다. 하드웨어에서 지원하는 경우 장치 등록, 인증서 발급 및 순환, mTLS(상호 TLS), 키 관리 및 서명된 펌웨어 검증을 계획합니다.
  • 추론을 위해 약 50개의 카메라 피드, 720p 스트림, 초당 1-5프레임(FPS)으로 샘플링된 기준 크기 조정 가정으로 시작합니다. 카메라 수, 해상도, FPS, 모델 및 대기 시간 요구 사항에 따라 크기를 조정합니다.

구조

GPU 가속 AI 카메라 분석을 위한 아키텍처 계층 및 OCI 서비스에 대해 알아보세요.

아래 표에는 주요 아키텍처 계층, 해당 계층을 구현하는 데 사용되는 OCI 서비스 및 각 계층의 목적이 나열되어 있습니다.

구조 계층 OCI 서비스 목적
수신 및 캡처 OCI 로드 밸런서, OCI API Gateway, OCI Object Storage 재시도 가능한 카메라 스트림, 클립 및 이미지 배치를 허용합니다.
스트림 프로세스 OCI Container 인스턴스 RTSP 세션을 관리하고, H.264/H.265, 샘플 프레임, 버퍼 작업을 디코딩하고, 세션을 다시 연결합니다.
분리 Oracle Cloud Infrastructure Queue 버스트 트래픽을 흡수하고 GPU 소비자가 통제된 속도로 실행할 수 있도록 합니다.
GPU 추론 OCI Compute GPU 인스턴스 풀 고객이 선택한 모델과의 객체 감지, 분류, 일괄 처리 및 임시 상관 관계를 실행합니다.
의사 결정 및 운영 OCI 함수, OCI 통지, OCI 커넥터 허브, OCI 오브젝트 스토리지, OCI 로깅, OCI 모니터링, OCI Vault, OCI ID 및 액세스 관리 정책을 적용하고, 다운스트림 시스템에 알리고, 증거를 유지하고, 비밀을 관리하고, 플랫폼을 모니터링합니다.

다음 다이어그램은 이 참조 아키텍처(일부 서비스가 표시되지 않음)를 보여줍니다.



컨테이너-스트림 처리-아키텍처-oracle.zip#GUID-A16027C3-0928-49C9-BA9D-BD5C6052E1A0

이 구조에는 다음 구성 요소가 포함됩니다.

  • OCI API 게이트웨이

    Oracle Cloud Infrastructure API Gateway를 사용하면 네트워크 내에서 액세스할 수 있고 필요한 경우 퍼블릭 인터넷에 노출할 수 있는 프라이빗 끝점이 있는 API를 게시할 수 있습니다. 엔드포인트는 API 검증, 요청 및 응답 변환, CORS, 인증 및 권한 부여, 요청 제한을 지원합니다.

  • OCI 컴퓨팅

    Oracle Cloud Infrastructure Compute를 사용하면 클라우드에서 컴퓨트 호스트를 프로비저닝하고 관리할 수 있습니다. CPU, 메모리, 네트워크 대역폭 및 스토리지에 대한 리소스 요구 사항을 충족하는 쉐이프를 사용하여 컴퓨트 인스턴스를 실행할 수 있습니다. 컴퓨팅 인스턴스를 생성한 후에는 안전하게 액세스하고, 다시 시작하고, 볼륨을 연결 및 분리하고, 더 이상 필요하지 않을 때 종료할 수 있습니다.

  • OCI 커넥터 허브

    Oracle Cloud Infrastructure Connector Hub는 OCI의 서비스 간 데이터 이동을 조정하는 메시지 버스 플랫폼입니다. 커넥터를 사용하여 소스 서비스에서 대상 서비스로 데이터를 이동할 수 있습니다. 또한 커넥터를 사용하면 대상 서비스로 전달되기 전에 데이터에 수행할 작업(예: 함수)을 선택적으로 지정할 수 있습니다.

    OCI Connector Hub를 사용하여 보안 정보 및 이벤트 관리(SIEM) 시스템을 위한 로깅 집계 프레임워크를 빠르게 구축할 수 있습니다.

  • OCI 기능

    Oracle Cloud Infrastructure Functions는 완전 관리형 멀티테넌트, 확장성이 뛰어난 온디맨드 Functions-as-a-Service(FaaS) 플랫폼입니다. 그것은 Fn 프로젝트 오픈 소스 엔진에 의해 구동 됩니다. OCI 함수를 사용하면 코드를 배포하고 직접 호출하거나 이벤트에 대한 응답으로 트리거할 수 있습니다. OCI Functions는 Oracle Cloud Infrastructure Registry에서 호스팅되는 Docker 컨테이너를 사용합니다.

  • OCI Identity and Access Management

    Oracle Cloud Infrastructure Identity and Access Management(IAM)는 OCI 및 Oracle Cloud Applications에 대한 사용자 액세스 제어를 제공합니다. IAM API 및 사용자 인터페이스를 통해 ID 도메인 및 해당 도메인 내의 리소스를 관리할 수 있습니다. 각 OCI IAM ID 도메인은 독립형 ID 및 액세스 관리 솔루션 또는 다른 사용자 모집단을 나타냅니다.

  • 인스턴스 풀

    인스턴스 풀은 동일한 인스턴스 구성에서 생성되고 그룹으로 관리되는 영역 내 인스턴스 그룹입니다.

  • OCI Kubernetes 엔진

    Oracle Cloud Infrastructure Kubernetes Engine(OCI Kubernetes Engine 또는 OKE)는 컨테이너화된 애플리케이션을 클라우드에 배치하는 데 사용할 수 있는 확장 가능한 완전 관리형 고가용성의 서비스입니다. 애플리케이션에 필요한 컴퓨트 리소스를 지정하고 OKE가 기존 테넌시의 OCI에서 프로비저닝합니다. OKE는 Kubernetes를 사용하여 호스트 클러스터 전반에 걸쳐 컨테이너화된 애플리케이션의 배포, 확장 및 관리를 자동화합니다.

  • 로드 밸런서

    Oracle Cloud Infrastructure Load Balancer는 단일 시작점에서 여러 서버로의 자동 트래픽 분산을 제공합니다.

  • OCI 로깅
    Oracle Cloud Infrastructure Logging은 클라우드의 리소스에서 다음과 같은 유형의 로그에 액세스할 수 있는 확장성이 뛰어난 완전 관리형 서비스입니다.
    • 감사 로그: OCI 감사에서 생성된 이벤트와 관련된 로그입니다.
    • 서비스 로그: OCI API Gateway, OCI Events, OCI Functions, OCI Load Balancer, OCI Object Storage, VCN 플로우 로그 등 개별 서비스에 의해 게시된 로그입니다.
    • 사용자정의 로그: 사용자정의 애플리케이션, 기타 클라우드 제공자 또는 온프레미스 환경의 진단 정보가 포함된 로그입니다.
  • OCI 모니터링

    Oracle Cloud Infrastructure Monitoring은 클라우드 리소스를 능동적이고 수동적으로 모니터링하고, 측정항목이 지정된 트리거를 충족할 때 알람을 사용하여 통지합니다.

  • OCI 통지

    OCI Notifications는 짧은 대기 시간 게시-구독 패턴을 사용하여 분산된 구성요소로 메시지를 브로드캐스트하고, OCI에서 호스팅되는 애플리케이션에 대해 안전하고 안정적이며 내구성이 뛰어난 메시지를 제공합니다.

  • OCI 오브젝트 스토리지

    OCI Object Storage는 데이터베이스 백업, 분석 데이터, 이미지 및 비디오와 같은 리치 콘텐츠 등 모든 콘텐츠 유형의 대량의 정형 및 비정형 데이터에 대한 액세스를 제공합니다. 애플리케이션 또는 클라우드 플랫폼 내에서 직접 안전하고 안전하게 데이터를 저장할 수 있습니다. 성능 또는 서비스 안정성이 저하되지 않고 스토리지를 확장할 수 있습니다.

    신속하고 즉각적이며 자주 액세스해야 하는 "핫" 스토리지에 표준 스토리지를 사용합니다. 장기간 보관하며 거의 또는 거의 액세스하지 않는 "콜드" 스토리지에 아카이브 스토리지를 사용합니다.

  • OCI 대기열

    Oracle Cloud Infrastructure Queue는 메시지를 처리하는 동시에 최소 1회 처리, 추적 및 클라이언트 격리 보장과 같은 복잡한 관리 작업을 처리할 수 있는 확장 가능한 시스템을 제공합니다. 이 중앙 집중식 서비스는 메시지 순서 지정 및 처리 상태를 관리하므로 Stateless 클라이언트 프로세스가 커서 추적을 오프로드할 수 있습니다.

  • OCI 지역

    OCI 리전은 가용성 도메인을 호스팅하는 데이터 센터가 하나 이상 포함된 지역화된 지리적 영역입니다. 지역은 다른 지역과 독립적이며, 광대한 거리는 (국가 또는 대륙에서) 그들을 분리 할 수 있습니다.

  • OCI Registry

    Oracle Cloud Infrastructure Registry는 개발-운용 워크플로우를 간소화할 수 있는 Oracle 관리형 서비스입니다. 레지스트리를 사용하면 Docker 이미지와 같은 개발 아티팩트를 쉽게 저장, 공유 및 관리할 수 있습니다.

  • 테넌시

    테넌시는 OCI에 등록할 때 Oracle이 Oracle Cloud 내에서 설정하는 안전하고 격리된 파티션입니다. 테넌시 내에서 OCI에서 리소스를 생성, 구성 및 관리할 수 있습니다. 테넌시는 회사 또는 조직과 동의어입니다. 일반적으로 회사는 단일 테넌시를 가지며 해당 테넌시 내의 조직 구조를 반영합니다. 단일 테넌시는 일반적으로 단일 구독과 연관되며, 단일 구독에는 일반적으로 하나의 테넌시만 있습니다.

  • OCI Vault

    Oracle Cloud Infrastructure Vault를 사용하면 데이터를 보호하는 암호화 키와 클라우드의 리소스에 대한 보안 액세스를 보호하는 데 사용하는 보안 인증서를 생성하고 중앙에서 관리할 수 있습니다. 기본 키 관리는 Oracle 관리 키입니다. 또한 OCI Vault를 사용하는 고객 관리형 키를 사용할 수도 있습니다. OCI Vault는 저장소 및 키를 관리할 수 있는 다양한 REST API 세트를 제공합니다.

  • OCI 가상 클라우드 네트워크 및 서브넷

    VCN(가상 클라우드 네트워크)은 OCI 리전에 설정하는 커스터마이징 가능한 소프트웨어 정의 네트워크입니다. 기존 데이터 센터 네트워크와 마찬가지로 VCN을 사용하면 네트워크 환경을 제어할 수 있습니다. VCN에는 VCN을 생성한 후 변경할 수 있는 겹치지 않는 CIDR(클래스리스 도메인 간 경로 지정) 블록이 여러 개 있을 수 있습니다. VCN을 서브넷으로 분할할 수 있으며, 이 서브넷은 지역 또는 가용성 도메인으로 범위가 지정될 수 있습니다. 각 서브넷은 VCN의 다른 서브넷과 겹치지 않는 연속된 주소 범위로 구성됩니다. 썸네일의 크기는 생성 이후 변경할 수 있습니다. 서브넷은 공용 또는 전용일 수 있습니다.

  • VNIC

    OCI 데이터 센터의 서버에는 물리적 NIC(네트웍 인터페이스 카드)가 사용됩니다. 이러한 서버 중 하나에서 인스턴스를 실행하면 인스턴스는 물리적 NSC와 연결된 네트워킹 서비스 VNIC(가상 NIC)를 사용하여 통신합니다. VNIC(가상 네트워크 인터페이스 카드)를 사용하면 인스턴스가 VCN에 연결하고 인스턴스가 VCN 내부 및 외부의 끝점과 연결하는 방법을 결정할 수 있습니다. 각 VNIC는 VCN의 서브넷에 상주합니다.

권장 사항

이러한 권장 사항을 참조 아키텍처의 시작점으로 사용합니다.

프라이빗 프로세싱 서비스와 퍼블릭 수신을 분리하는 고객별 VCN(가상 클라우드 네트워크) 설계에 솔루션을 배포합니다. 참조 아키텍처는 고객 보안 요구 사항이 격리된 서비스 통신 경로를 요구할 때 프라이빗 서브넷, NSG(네트워크 보안 그룹), 서비스 게이트웨이, 프라이빗 엔드포인트, 최소 권한의 OCI Identity and Access Management, 구획, 동적 그룹 및 OCI Vault 관리 암호를 권장합니다.

  • VCN: 전용 서브넷에 OCI Compute GPU 인스턴스 풀, OCI Container Instances 스트림 프로세서, Oracle Cloud Infrastructure Queue 소비자, 규칙 서비스, 운영 서비스를 배치합니다. OCI 로드 밸런서 또는 OCI API 게이트웨이를 통해 필요한 수신만 노출합니다. 해당하는 경우 서비스 게이트웨이 또는 프라이빗 끝점을 통해 OCI Object Storage 및 기타 OCI 서비스 액세스를 사용할 수 있습니다.

  • 보안: Oracle Cloud Guard를 사용하여 Oracle Cloud Infrastructure에서 리소스의 보안을 모니터링하고 유지 관리합니다. Cloud Guard는 사용자가 정의할 수 있는 감지기 레시피를 사용하여 리소스의 보안 취약점을 검사하고 운영자 및 사용자가 위험한 작업을 모니터합니다. 잘못된 구성 또는 안전하지 않은 작업이 감지되면 Cloud Guard는 사용자가 정의할 수 있는 응답기 레시피를 기반으로 수정 조치를 권장하고 이러한 조치를 취할 수 있도록 지원합니다.

    최대 보안이 필요한 리소스의 경우 Oracle은 보안 영역을 사용할 것을 권장합니다. 보안 영역은 모범 사례를 기반으로 하는 Oracle 정의 보안 정책 레시피와 연관된 컴파트먼트입니다. 예를 들어, 보안 영역의 리소스는 공용 인터넷에서 액세스할 수 없어야 하며 고객 관리 키를 사용하여 암호화해야 합니다.

  • 네트워크 보안 그룹(NSG): NSG를 사용하여 특정 VNIC(가상 네트워크 인터페이스 카드)에 적용되는 수신 및 송신 규칙 세트를 정의합니다. NSG는 VCN 서브넷 아키텍처를 애플리케이션의 보안 요구 사항과 분리하기 때문에 보안 목록 대신 NSG를 사용합니다.

  • OCI Identity and Access Management 및 암호: 최소 권한의 OCI Identity and Access Management 정책, 구획 경계 및 동적 그룹을 적용합니다. OCI Vault에 인증서 및 인증서를 저장합니다. 저장된 미디어 및 구조화된 이벤트 페이로드를 암호화하고 원시 미디어 경로를 노출하는 대신 재생을 위해 수명이 짧은 OCI Object Storage 액세스 URL을 사용합니다.

고려사항

이 참조 아키텍처를 배포할 때 성능, 보안, 가용성 및 비용을 고려하십시오.
  • 성능: GPU 추론과 별도로 CPU 스트림 처리를 확장합니다. Oracle Cloud Infrastructure Queue는 GPU 사용량에서 버스트를 분리하는 반면, 대기열 깊이, 소비자 지연, 추론 대기 시간, 처리량 및 GPU 활용률은 단일 측정지표보다 더 안정적인 확장 신호를 제공합니다. 실용적인 시작 목표는 변동성을 위한 헤드룸을 유지하기 위한 평균 GPU 활용률의 약 70%입니다.

  • 보안: 프라이빗 서브넷, NSG(네트워크 보안 그룹), 서비스 게이트웨이 또는 프라이빗 엔드포인트, 최소 권한 OCI Identity and Access Management, OCI Vault, 암호화, 장치 인증서, mTLS(상호 TLS) 및 테넌트 인식 액세스 제어를 사용합니다. 상황별 분류를 ID 검증이 아닌 운영 신호로 처리합니다. 중요한 워크플로우, 감사 모델 버전, 규칙 버전, 신뢰도 점수, 시간 기록 및 운영자 결과에 대한 인적 검토를 유지합니다.

  • 가용성: 가능한 경우 스트림 프로세서 및 모델 워커를 무상태로 유지하고, 프레임 참조, 임시 기록 및 리플레이 데이터를 OCI 관리형 서비스에 유지합니다. 카메라 하트비트, 대기열 깊이, 소비자 지연, GPU 용량, OCI Object Storage 업로드 및 알림 전달을 모니터링합니다. 카메라 오프라인 이벤트, 대기열 백로그, GPU 비가용성, 중복 경보, 스토리지 실패 및 알림 실패에 대한 런북을 작성합니다. idempotent 이벤트 ID, 재시도 및 소멸자 처리를 포함합니다.

  • 비용: 지속적인 고해상도 클라우드 업로드를 통해 이벤트 트리거 업로드를 선호합니다. 스마트 카메라는 연속 푸티지를 로컬로 유지하고 이벤트 메타데이터, 축소판 또는 짧은 클립을 업로드할 수 있습니다. OCI 프로세싱은 프레임을 샘플링하고 확인된 이벤트 주변에서만 고해상도 클립을 유지할 수 있습니다. 프레임 샘플링, H.265 압축, 구성 가능한 초당 프레임(FPS), 모션 또는 개인 임계값, 영역 필터, 짧은 클립 및 OCI Object Storage 수명 주기 정책을 통해 대역폭 및 스토리지를 줄일 수 있습니다. 그림 보존 계층은 표준 클립의 경우 7일, 우선 순위가 높은 보안 이벤트의 경우 30일, 규제 또는 조사 워크플로우의 경우 90일입니다.

구조 배치

독립적으로 확장 가능한 계층으로 아키텍처를 배포합니다.

소형의 대표적인 카메라 세트부터 시작하여 측정된 작업 부하 특성에 대해 모델, 샘플링, 대기열, 정책 및 경보 임계값을 조정합니다.

아키텍처를 배치하려면 다음과 같이 하십시오.

  1. 기초 설정: VCN 및 서브넷, 구획, NSG, OCI Identity and Access Management 정책 및 동적 그룹, OCI Vault 암호, OCI Object Storage 버킷, OCI Logging, OCI Monitoring 및 수명 주기 정책을 생성합니다.
  2. 수집 구성: OCI 로드 밸런서 또는 OCI API 게이트웨이 및 보안 카메라 브리지 또는 프로듀서 서비스를 배포합니다. 카메라 스트림, 업로드된 미디어 소스 또는 모바일 또는 에지 제작자를 등록합니다.
  3. 스트림 처리 배포: 컨테이너화된 스트림 프로세서를 배포하여 RTSP 세션을 종료하고, 미디어, 샘플 프레임, 버퍼를 필요에 따라 로컬로 디코딩하고, 추론 작업 항목을 Oracle Cloud Infrastructure Queue에 게시합니다.
  4. GPU 추론 배포: 컴퓨트 인스턴스 풀에 Stateless GPU 워커를 배포합니다. 감지 및 분류 모델, 일괄 처리, 신뢰도 임계값, 모델 메타 데이터 및 큐 소비자를 구성합니다.
  5. 의사 결정 및 통합 구성: JSON, YAML 또는 정책 서비스에서 규칙을 외부화합니다. 검증된 이벤트를 OCI Notifications, Webhook, API, OCI Connector Hub 또는 서비스 관리 플랫폼으로 전송하기 전에 역할, 영역, 시간, 신뢰도, 이벤트 기록 및 테넌트 정책을 적용합니다.
  6. 운영 및 조정: 대기열 깊이, 추론 대기 시간, GPU 활용률, 카메라 상태, 업로드 실패 및 전달 상태에 대한 알람을 생성합니다. 이러한 신호를 사용하여 CPU 및 GPU 계층을 독립적으로 확장합니다. 즉, 테스트 실패 처리, 재생, 보존 및 경보 숨김이 있습니다.

승인

  • 작성자: Prodipto Ranjan Baksi, Chaitanya Chennam, Viraj Poolabhavi, Akshita Muthayala, Prashant Gaikwad, Shamish Maikoti
  • 기여자: Robert Lies