Azure Container Instance에서 컨테이너 배포 및 실행

다음 단계를 통해 Azure Container Instance를 사용하여 클라우드에서 Azure AI 서비스 애플리케이션을 쉽게 스케일링할 수 있습니다. 컨테이너화를 사용하면 인프라를 관리하는 대신 애플리케이션 빌드에 집중할 수 있습니다. 컨테이너 사용에 대한 자세한 내용은 기능 및 이점을 참조하세요.

필수 조건

레시피는 모든 Azure AI 서비스 컨테이너와 함께 작동합니다. 레시피를 사용하기 전에 Azure AI 서비스 리소스를 만들어야 합니다. 컨테이너를 지원하는 각 Azure AI 서비스에는 컨테이너에 대한 서비스를 설치 및 구성하기 위한 "설치 방법" 문서가 있습니다. 일부 서비스에는 컨테이너에 대한 입력으로 파일 또는 파일 집합이 필요합니다 .이 솔루션을 사용하기 전에 컨테이너를 이해하고 성공적으로 사용하는 것이 중요합니다.

  • 사용 중인 Azure AI 서비스에 대한 Azure 리소스

  • Azure AI 서비스 리소스 엔드포인트 URL - 컨테이너에 대한 특정 서비스의 "설치 방법"을 검토하여 Azure Portal 내에서 엔드포인트 URL의 위치와 URL의 올바른 예를 찾습니다. 정확한 형식은 서비스마다 변경될 수 있습니다.

  • Azure AI 서비스 리소스 - 키는 Azure 리소스의 페이지에 있습니다. 두 키 중 하나만 필요합니다. 키는 32개 영숫자 문자로 구성된 문자열입니다.

  • 로컬 호스트(사용자 컴퓨터)의 단일 Azure AI 서비스 컨테이너 다음을 확인합니다.

    • docker pull 명령을 사용하여 이미지를 풀다운합니다.
    • docker run 명령을 사용하여 필요한 모든 구성 설정으로 로컬 컨테이너를 실행합니다.
    • 컨테이너의 엔드포인트를 호출하여 HTTP 2xx의 응답과 JSON 응답을 다시 가져옵니다.

꺾쇠 괄호 <>의 모든 변수를 고유한 값으로 바꾸어야 합니다. 바꿀 때는 꺾쇠 괄호도 포함됩니다.

Important

LUIS 컨테이너에는 런타임에 가져온 .gz 모델 파일이 필요합니다. 컨테이너는 컨테이너 인스턴스에서 볼륨 탑재를 통해 이 모델 파일에 액세스할 수 있어야 합니다. 모델 파일을 업로드하려면 다음 단계를 수행하세요.

  1. Azure 파일 공유 생성 나중에 필요하므로 Azure Storage 계정 이름, 키 및 파일 공유 이름을 기록해 둡니다.
  2. LUIS 포털에서 LUIS 모델(패키지된 앱)을 내보냅니다.
  3. Azure Portal에서 스토리지 계정 리소스의 개요 페이지로 이동하고 파일 공유를 선택합니다.
  4. 최근에 만든 파일 공유 이름을 선택하고 업로드를 선택합니다. 그런 다음, 패키지된 앱을 업로드합니다.

Azure Portal을 사용하여 Azure Container Instance 리소스 만들기

  1. Container Instances의 만들기 페이지로 이동합니다.

  2. 기본 사항 탭에서 다음 정보를 입력합니다.

    설정
    Subscription 구독을 선택합니다.
    Resource group 사용 가능한 리소스 그룹을 선택하거나 cognitive-services와 같은 새 리소스 그룹을 만듭니다.
    컨테이너 이름 cognitive-container-instance와 같은 이름을 입력합니다. 이름은 소문자여야 합니다.
    위치 배포할 지역을 선택합니다.
    이미지 유형 컨테이너 이미지가 자격 증명이 필요하지 않은 컨테이너 레지스트리에 저장된 경우 Public을 선택합니다. 컨테이너 이미지에 액세스하는 데 자격 증명이 필요한 경우 Private을 선택합니다. 컨테이너 이미지가 Public 또는 Private("공개 미리 보기")인지 여부에 대한 자세한 내용은 컨테이너 리포지토리 및 이미지를 참조하세요.
    이미지 이름 Azure AI 서비스 컨테이너 위치를 입력합니다. 위치는 docker pull 명령에 대한 인수로 사용됩니다. 사용 가능한 이미지 이름 및 해당 리포지토리는 컨테이너 리포지토리 및 이미지를 참조하세요.

    이미지 이름은 세 부분을 지정하여 정규화되어야 합니다. 먼저 컨테이너 레지스트리, 리포지토리, 마지막으로 이미지 이름 <container-registry>/<repository>/<image-name>을 차례로 클릭합니다.

    다음은 mcr.microsoft.com/azure-cognitive-services/keyphrase가 Azure AI 서비스 리포지토리 아래의 Microsoft Container Registry에서 핵심 구 추출 이미지를 나타내는 예입니다. 또 다른 예는 컨테이너 미리 보기 컨테이너 레지스트리의 Microsoft 리포지토리에 있는 음성 텍스트 변환 이미지를 나타내는 containerpreview.azurecr.io/microsoft/cognitive-services-speech-to-text입니다.
    OS 유형 Linux
    크기 특정 Azure AI 컨테이너에 대해 제안된 권장 사항으로 크기를 변경합니다.
    2개의 CPU 코어
    4GB
  3. 네트워킹 탭에서 다음 세부 정보를 입력합니다.

    설정
    Ports TCP 포트를 5000으로 설정합니다. 컨테이너를 포트 5000에 표시합니다.
  4. 고급 탭에서 Azure Container Instance 리소스의 컨테이너 청구 설정에 필요한 환경 변수를 입력합니다.

    ApiKey 리소스의 키 및 엔드포인트 페이지에서 복사되었습니다. 공백 또는 대시가 없는 32자 영숫자 문자열인 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx입니다.
    Billing 리소스의 키 및 엔드포인트 페이지에서 복사한 엔드포인트 URL입니다.
    Eula accept
  5. 검토 및 만들기 선택

  6. 유효성 검사를 통과한 후 만들기를 클릭하여 만들기 프로세스를 마칩니다.

  7. 리소스가 성공적으로 배포되면 준비된 것입니다.

컨테이너 인스턴스 사용

  1. 개요 탭을 선택하고 IP 주소를 복사합니다. 55.55.55.55와 같은 숫자 IP 주소입니다.

  2. 새 브라우저 탭을 열고 IP 주소(예: http://<IP-address>:5000 (http://55.55.55.55:5000)를 사용합니다. 컨테이너의 홈페이지가 표시됩니다. 이를 통해 컨테이너가 실행 중임을 알 수 있습니다.

    Container's home page

  3. 서비스 API 설명을 선택하여 컨테이너에 대한 Swagger 페이지를 표시합니다.

  4. POST API 중 하나를 선택하고 사용해 보기를 선택합니다. 입력을 포함한 매개 변수가 표시됩니다. 매개 변수를 작성합니다.

  5. 실행을 선택하여 컨테이너 인스턴스로 요청을 보냅니다.

    Azure Container Instance에서 Azure AI 컨테이너를 성공적으로 만들고 사용했습니다.