Azure AI 컨테이너란?

Azure AI 서비스는 Azure 온-프레미스에서 사용할 수 있는 것과 동일한 API를 사용할 수 있게 해주는 여러 가지 Docker 컨테이너를 제공합니다. 이러한 컨테이너를 사용하면 규정 준수, 보안 또는 기타 운영상의 이유로 Azure AI 서비스를 데이터에 더 가깝게 가져올 수 있는 유연성이 제공됩니다. 컨테이너 지원은 현재 Azure AI 서비스의 하위 집합에 사용할 수 있습니다.

컨테이너화는 종속성 및 구성을 포함한 애플리케이션 또는 서비스가 컨테이너 이미지로 패키징되는 소프트웨어 배포 방법입니다. 컨테이너 이미지를 거의 또는 전혀 수정하지 않고 컨테이너 호스트에 배포할 수 있습니다. 컨테이너는 서로 그리고 기본 운영 체제와 격리되며, 가상 머신보다 공간을 적게 차지합니다. 단기 작업용 컨테이너 이미지에서 컨테이너화를 시작하고, 더 이상 필요 없으면 제거할 수 있습니다.

기능 및 혜택

  • 변경할 수 없는 인프라: DevOps 팀이 일관되고 신뢰할 수 있는 알려진 시스템 매개 변수 세트를 활용하면서 변경에 적응할 수 있도록 합니다. 컨테이너는 예측 가능한 에코시스템 내에서 피벗하고 구성 드리프트를 방지할 수 있는 유연성을 제공합니다.
  • 데이터 제어: Azure AI 서비스가 데이터를 처리하는 위치를 선택합니다. 클라우드로 데이터를 보낼 수 없지만 Azure AI 서비스 API에 액세스해야 하는 경우 이는 필수적일 수 있습니다. 하이브리드 환경의 데이터, 관리, ID 및 보안에 걸쳐 일관성을 지원합니다.
  • 모델 업데이트 컨트롤: 사용자가 솔루션에 배포된 모델의 버전 관리 및 업데이트를 유연하게 처리할 수 있습니다.
  • 이식 가능한 아키텍처: Azure, 온-프레미스 및 에지에 배포할 수 있는 이식 가능한 애플리케이션 아키텍처를 만들 수 있습니다. 컨테이너는 Azure Kubernetes Service, Azure Container Instances 또는 Azure Stack에 배포된 Kubernetes 클러스터에 직접 배포할 수 있습니다. 자세한 내용은 Azure Stack에 Kubernetes 배포를 참조하세요.
  • 높은 처리량/낮은 대기 시간: Azure AI 서비스가 애플리케이션 논리 및 데이터에 물리적으로 가까운 곳에서 실행되도록 하여 높은 처리량 및 짧은 대기 시간 요구 사항에 맞게 확장할 수 있는 기능을 고객에게 제공합니다. 컨테이너는 TPS(초당 트랜잭션 수)를 제한하지 않으며, 고객이 필요한 하드웨어 리소스를 제공한다면 스케일 업 및 스케일 아웃이 가능합니다.
  • 확장성: 컨테이너화 및 컨테이너 오케스트레이션 소프트웨어(예: Kubernetes)의 인기가 계속 증가함에 따라 확장성은 기술 발전을 선도하고 있습니다. 확장성 있는 클러스터 기반을 바탕으로 하는 애플리케이션 개발은 고가용성에 부합합니다.

Azure AI 서비스의 컨테이너

Azure AI 서비스 컨테이너는 다음과 같은 Docker 컨테이너 집합을 제공하며, 각 컨테이너에는 Azure AI 서비스에 있는 서비스의 기능 하위 집합이 포함되어 있습니다. 아래 표에서 지침 및 이미지 위치를 찾을 수 있습니다.

참고 항목

Azure AI 문서 인텔리전스 컨테이너 지침 및 이미지 위치는 문서 인텔리전스 컨테이너 설치 및 실행을 참조하세요.

의사 결정 컨테이너

서비스 Container 설명 가용성
Anomaly Detector Anomaly Detector (이미지) Anomaly Detector API를 사용하면 기계 학습을 통해 시계열 데이터에서 변칙을 검색하고 모니터링할 수 있습니다. 일반적으로 사용 가능

언어 컨테이너

서비스 Container 설명 가용성
LUIS LUIS(이미지) LUIS 앱으로 알려진 학습된 또는 게시된 Language Understanding 모델을 Docker 컨테이너로 로드하고, 컨테이너의 API 엔드포인트에서 쿼리 예측에 대한 액세스를 제공합니다. 컨테이너에서 쿼리 로그를 수집하고 LUIS 포털에 다시 업로드하여 앱의 예측 정확도를 개선할 수 있습니다. 일반 공급.
이 컨테이너는 연결이 끊긴 환경에서 실행할 수도 있습니다.
언어 서비스 핵심 구 추출(이미지) 핵심 구를 추출하여 주요 요소를 식별합니다. 예를 들어 "The food was delicious and there were wonderful staff"라는 입력 텍스트에 대해 이 API는 "food" 및 "wonderful staff"이라는 주요 논점을 반환합니다. 일반 공급.
이 컨테이너는 연결이 끊긴 환경에서 실행할 수도 있습니다.
언어 서비스 텍스트 언어 감지(이미지) 최대 120개 언어에 대해, 입력 텍스트를 쓴 언어를 감지하고 요청에 따라 제출된 모든 문서에 대해 단일 언어 코드를 보고합니다. 언어 코드가 점수와 쌍을 이루어 점수의 강도를 나타냅니다. 일반 공급.
이 컨테이너는 연결이 끊긴 환경에서 실행할 수도 있습니다.
언어 서비스 감정 분석(이미지) 원시 텍스트를 분석하여 긍정 또는 부정적인 감정에 대한 단서를 찾습니다. 이 버전의 감정 분석은 각 문서 및 문서 속 문장에 대한 감정 레이블(예: 긍정 또는 부정)을 반환합니다. 일반 공급.
이 컨테이너는 연결이 끊긴 환경에서 실행할 수도 있습니다.
언어 서비스 의료 분야 텍스트 분석(이미지) 비구조적 임상 텍스트에서 의료 정보를 추출하고 레이블을 지정합니다. 일반적으로 사용 가능
언어 서비스 명명된 엔터티 인식(이미지) 텍스트에서 명명된 엔터티를 추출합니다. 일반 공급.
이 컨테이너는 연결이 끊긴 환경에서 실행할 수도 있습니다.
언어 서비스 사용자 지정 명명된 엔터티 인식(이미지) 데이터를 사용하여 생성한 사용자 지정 모델을 사용하여 텍스트에서 명명된 엔터티를 추출합니다. 일반적으로 사용 가능
언어 서비스 요약(이미지) 다양한 원본의 텍스트를 요약합니다. 공개 미리 보기.
이 컨테이너는 연결이 끊긴 환경에서 실행할 수도 있습니다.
Translator 번역기(이미지) 텍스트를 여러 언어 및 방언으로 번역합니다. 일반 공급. 제어됨 - 액세스 요청.
이 컨테이너는 연결이 끊긴 환경에서 실행할 수도 있습니다.

음성 컨테이너

서비스 Container 설명 가용성
Speech Service API 음성을 텍스트로 변환(이미지) 연속적인 실시간 음성을 텍스트로 변환합니다. 일반 공급.
이 컨테이너는 연결이 끊긴 환경에서 실행할 수도 있습니다.
Speech Service API Custom Speech 텍스트 변환(이미지) 사용자 지정 모델을 사용하여 실시간으로 음성 텍스트를 연속 변환합니다. 일반 공급
이 컨테이너는 연결이 끊긴 환경에서 실행할 수도 있습니다.
Speech Service API 인공신경망 텍스트 음성 변환(이미지) 심층 신경망 기술을 사용하여 텍스트를 자연스러운 음성으로 변환함으로써 보다 자연스러운 합성 음성을 사용할 수 있도록 합니다. 일반 공급.
이 컨테이너는 연결이 끊긴 환경에서 실행할 수도 있습니다.
Speech Service API 음성 언어 식별(이미지) 음성 오디오의 언어를 결정합니다. 미리 보기

비전 컨테이너

서비스 Container 설명 가용성
Azure AI Vision Read OCR(이미지) Read OCR 컨테이너를 사용하면 JPEG, PNG, BMP, PDF 및 TIFF 파일 형식에 대한 지원이 포함된 이미지와 문서로부터 인쇄된 텍스트 및 필기 텍스트를 추출할 수 있습니다. 자세한 내용은 Read API 설명서를 참조하세요. 일반 공급.
이 컨테이너는 연결이 끊긴 환경에서 실행할 수도 있습니다.
공간 분석 공간 분석(이미지) 실시간 스트리밍 비디오를 분석하여 사람 사이의 공간적 관계, 이들의 움직임 및 물리적 환경에서 물체와의 상호 작용을 이해할 수 있습니다. 미리 보기

또한 일부 컨테이너는 Azure AI 서비스 다중 서비스 리소스 제품에서 지원됩니다. 단일 Azure AI 서비스 일체형 리소스를 만들고 다음 서비스에 대해 지원되는 서비스 전체에서 동일한 청구 키를 사용할 수 있습니다.

  • Azure AI Vision
  • LUIS
  • 언어 서비스

필수 조건

Azure AI 컨테이너를 사용하기 전에 다음 필수 구성 요소를 충족해야 합니다.

Docker 엔진: Docker 엔진이 로컬로 설치되어 있어야 합니다. Docker는 macOS, LinuxWindows에 Docker 환경을 구성하는 패키지를 제공합니다. Windows에서 Docker는 Linux 컨테이너를 지원하도록 구성해야 합니다. Docker 컨테이너는 Azure Kubernetes Service 또는 Azure Container Instances에 직접 배포할 수도 있습니다.

Docker는 컨테이너에서 Azure에 연결하여 청구 데이터를 보낼 수 있도록 구성해야 합니다.

Microsoft Container Registry 및 Docker에 대한 숙지: 기본적으로 레지스트리, 리포지토리, 컨테이너 및 컨테이너 이미지는 물론 기본 docker 명령에 대한 지식과 같이 Microsoft Container Registry와 Docker 모두에 대한 개념을 이해해야 합니다.

Docker 및 컨테이너에 대한 기본 사항은 Docker 개요를 참조하세요.

개별 컨테이너마다 서버 및 메모리 할당 요구 사항을 포함하여 각각 고유한 요구 사항이 있을 수 있습니다.

Azure AI 서비스 컨테이너 보안

애플리케이션을 개발하는 경우 보안이 주요 관심사여야 합니다. 보안의 중요성이 성공의 지표입니다. Azure AI 서비스 컨테이너를 포함하는 소프트웨어 솔루션을 설계하는 경우 사용 가능한 제한 사항과 기능을 이해하는 것이 중요합니다. 네트워크 보안에 대한 자세한 내용은 Azure AI 서비스 가상 네트워크 구성을 참조하세요.

Important

기본적으로 Azure AI 서비스 컨테이너 API에는 보안이 없습니다. 그 이유는 대부분의 컨테이너가 네트워크 브리지에 의해 외부로부터 보호되는 Pod의 일부로 실행되기 때문입니다. 그러나 사용자가 클라우드 기반 Azure AI 서비스에 액세스할 때 사용되는 인증 방법과 유사한 자체 인증 인프라를 구축할 수 있습니다.

다음 다이어그램은 기본 및 비보안 접근 방식을 보여줍니다.

Container security

대안적이고 안전한 접근 방식의 예로, Azure AI 컨테이너 소비자는 전면 구성 요소로 컨테이너를 확장하여 컨테이너 엔드포인트를 비공개로 유지할 수 있습니다. Istio를 수신 게이트웨이로 사용하는 시나리오를 고려해 보겠습니다. Istio는 HTTPS/TLS 및 클라이언트 인증서 인증을 지원합니다. 이 시나리오에서 Istio 프런트 엔드는 컨테이너 액세스를 노출하여 Istio로 사전에 승인된 클라이언트 인증서를 표시합니다.

Nginx는 동일한 범주에서 널리 사용되는 다른 옵션입니다. Istio와 Nginx는 모두 서비스 메시 역할을 하며 부하 분산, 라우팅 및 속도 제어와 같은 항목을 포함하여 추가 기능을 제공합니다.

컨테이너 네트워킹

Azure AI 컨테이너는 청구 목적으로 계량 정보를 제출해야 합니다. Azure AI 컨테이너가 사용하는 다양한 네트워크 채널을 허용 목록에 추가하지 않으면 컨테이너가 작동하지 않습니다.

Azure AI 서비스 도메인 및 포트를 허용 목록에 추가하세요.

호스트는 포트 443과 다음 도메인을 허용 목록에 추가해야 합니다.

  • *.cognitive.microsoft.com
  • *.cognitiveservices.azure.com

딥 패킷 검사 사용 안 함

심층 패킷 검사(DPI)는 컴퓨터 네트워크를 통해 전송된 데이터를 자세히 검사하고 일반적으로 그에 따라 차단, 재라우팅 또는 기록하는 등의 조치를 취하는 데이터 처리 유형입니다.

Azure AI 컨테이너가 Microsoft 서버에 생성하는 보안 채널에서 DPI를 비활성화합니다. 이렇게 하지 않으면 컨테이너가 제대로 작동하지 않습니다.

개발자 샘플

개발자 샘플은 GitHub 리포지토리에 있습니다.

다음 단계

Azure AI 서비스와 함께 사용할 수 있는 컨테이너 레시피에 대해 알아보세요.

Azure AI 서비스의 컨테이너가 제공하는 기능을 설치하고 살펴보세요.