Azure Container Instances에 변칙 탐지기 컨테이너 배포Deploy an Anomaly Detector container to Azure Container Instances

Cognitive Services 변칙 탐지기 컨테이너를 Azure Container Instances에 배포 하는 방법에 대해 알아봅니다.Learn how to deploy the Cognitive Services Anomaly Detector container to Azure Container Instances. 이 절차에서는 변칙 탐지기 리소스를 만드는 방법을 보여 줍니다.This procedure demonstrates the creation of an Anomaly Detector resource. 그런 다음 연결 된 컨테이너 이미지를 풀링 하는 방법을 설명 합니다.Then we discuss pulling the associated container image. 마지막으로 브라우저에서 두 오케스트레이션의 오케스트레이션을 실행 하는 기능을 강조 표시 합니다.Finally, we highlight the ability to exercise the orchestration of the two from a browser. 컨테이너를 사용 하면 개발자가 인프라를 관리 하지 않고 응용 프로그램 개발에 집중 하는 것으로 전환할 수 있습니다.Using containers can shift the developers' attention away from managing infrastructure to instead focusing on application development.

사전 요구 사항Prerequisites

  • Azure 구독을 사용합니다.Use an Azure subscription. Azure 구독이 아직 없는 경우 시작하기 전에 체험 계정을 만듭니다.If you don't have an Azure subscription, create a free account before you begin.
  • Azure CLI (az)를 설치 합니다.Install the Azure CLI (az).
  • Docker 엔진. 콘솔 창에서 Docker CLI를 가 작동하는지 확인합니다.Docker engine and validate that the Docker CLI works in a console window.

Anomaly Detector 리소스 만들기Create an Anomaly Detector resource

  1. Azure Portal에 로그인합니다.Sign into the Azure portal

  2. 변칙 탐지기 리소스 만들기 를 클릭 합니다.Click Create Anomaly Detector resource

  3. 필수 설정 모두 입력:Enter all required settings:

    설정Setting Value
    속성Name 원하는 이름(2-64자)Desired name (2-64 characters)
    SubscriptionSubscription 적합한 구독 선택Select appropriate subscription
    위치Location 주변 및 사용 가능한 위치 선택Select any nearby and available location
    가격 책정 계층Pricing Tier F0 - 최소 가격 책정 계층F0 - the minimal pricing tier
    리소스 그룹Resource Group 사용 가능한 리소스 그룹 선택Select an available resource group
    미리 보기 확인 확인란 (필수)Preview Confirmation Checkbox (required) 미리 보기 공지를 읽고 있는지 여부Whether or not you've read the Preview notice
  4. 만들기를 클릭하고 리소스가 생성될 때까지 기다립니다.Click Create and wait for the resource to be created. 만든 후에는 리소스 페이지로 이동 합니다.After it is created, navigate to the resource page

  5. 구성 된 endpoint 및 API 키를 수집 합니다.Collect configured endpoint and an API key:

    포털의 리소스 탭Resource Tab in Portal 설정Setting ValueValue
    개요Overview 엔드포인트Endpoint 끝점을 복사 합니다.Copy the endpoint. 다음과 유사 하 게 표시 됩니다.https://westus2.api.cognitive.microsoft.com/It looks similar to https://westus2.api.cognitive.microsoft.com/
    Keys API 키API Key 두 키의 1을 복사 합니다.Copy 1 of the two keys. 공백이 나 대시가 없는 32 영숫자 문자열입니다 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.It is a 32 alphanumeric-character string with no spaces or dashes, xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.

Azure CLI에서 Azure Container Instance 리소스 만들기Create an Azure Container Instance resource from the Azure CLI

아래 YAML은 Azure Container Instance 리소스를 정의 합니다.The YAML below defines the Azure Container Instance resource. 콘텐츠를 복사 하 여 라는 새 파일에 붙여넣고 my-aci.yaml 주석 처리 된 값을 사용자 고유의 값으로 바꿉니다.Copy and paste the contents into a new file, named my-aci.yaml and replace the commented values with your own. 유효한 YAML의 템플릿 형식을 참조 하십시오.Refer to the template format for valid YAML. 사용 가능한 이미지 이름 및 해당 리포지토리의 컨테이너 리포지토리 및 이미지 를 참조 하세요.Refer to the container repositories and images for the available image names and their corresponding repository. 컨테이너 인스턴스에 대 한 YAML 참조에 대 한 자세한 내용은 Yaml 참조: Azure Container Instances를 참조 하세요.For more information of the YAML reference for Container instances, see YAML reference: Azure Container Instances.

apiVersion: 2018-10-01
location: # < Valid location >
name: # < Container Group name >
properties:
  imageRegistryCredentials: # This is only required if you are pulling a non-public image that requires authentication to access.
  - server: containerpreview.azurecr.io
    username: # < The username for the preview container registry >
    password: # < The password for the preview container registry >
  containers:
  - name: # < Container name >
    properties:
      image: # < Repository/Image name >
      environmentVariables: # These env vars are required
        - name: eula
          value: accept
        - name: billing
          value: # < Service specific Endpoint URL >
        - name: apikey
          value: # < Service specific API key >
      resources:
        requests:
          cpu: 4 # Always refer to recommended minimal resources
          memoryInGb: 8 # Always refer to recommended minimal resources
      ports:
        - port: 5000
  osType: Linux
  volumes: # This node, is only required for container instances that pull their model in at runtime, such as LUIS.
  - name: aci-file-share
    azureFile:
      shareName: # < File share name >
      storageAccountName: # < Storage account name>
      storageAccountKey: # < Storage account key >
  restartPolicy: OnFailure
  ipAddress:
    type: Public
    ports:
    - protocol: tcp
      port: 5000
tags: null
type: Microsoft.ContainerInstance/containerGroups

참고

모든 위치에서 CPU 및 메모리 가용성이 동일 하지는 않습니다.Not all locations have the same CPU and Memory availability. 위치 및 OS에 따라 컨테이너에 대해 사용 가능한 리소스 목록을 보려면 위치 및 리소스 표를 참조 하세요.Refer to the location and resources table for the listing of available resources for containers per location and OS.

명령에 대해 만든 YAML 파일을 사용 az container create 합니다.We'll rely on the YAML file we created for the az container create command. Azure CLI에서 명령을 실행 하 여 az container create 를 사용자 <resource-group> 고유의으로 바꿉니다.From the Azure CLI, execute the az container create command replacing the <resource-group> with your own. 또한 YAML 배포 내에서 값을 보호 하기 위해 보안 값을 참조 합니다.Additionally, for securing values within a YAML deployment refer to secure values.

az container create -g <resource-group> -f my-aci.yaml

명령의 출력은 Running... 올바른 경우에는 출력을 새로 만든 ACI 리소스를 나타내는 JSON 문자열로 변경 합니다.The output of the command is Running... if valid, after sometime the output changes to a JSON string representing the newly created ACI resource. 컨테이너 이미지는 잠시 동안 사용 하지 못할 수도 있지만 이제 리소스가 배포 됩니다.The container image is more than likely not be available for a while, but the resource is now deployed.

YAML은 위치와 일치 하도록 적절히 조정 해야 하므로 공개 미리 보기 Azure 인지 서비스 제공의 위치에 주의 하세요.Pay close attention to the locations of public preview Azure Cognitive Service offerings, as the YAML will needed to be adjusted accordingly to match the location.

컨테이너가 실행 중인지 확인Validate that a container is running

컨테이너가 실행되고 있는지 확인하는 방법은 여러 가지가 있습니다.There are several ways to validate that the container is running. 해당 하는 컨테이너의 외부 IP 주소 및 노출 된 포트를 찾아 즐겨 찾는 웹 브라우저를 엽니다.Locate the External IP address and exposed port of the container in question, and open your favorite web browser. 아래에서 다양 한 요청 Url을 사용 하 여 컨테이너가 실행 중인지 확인 합니다.Use the various request URLs below to validate the container is running. 아래 나열 된 예제 요청 Url은 http://localhost:5000 이지만 특정 컨테이너는 다를 수 있습니다.The example request URLs listed below are http://localhost:5000, but your specific container may vary. 컨테이너의 외부 IP 주소 및 노출 된 포트를 사용 해야 한다는 점에 유의 하세요.Keep in mind that you're to rely on your container's External IP address and exposed port.

요청 URLRequest URL 용도Purpose
http://localhost:5000/ 컨테이너는 홈페이지를 제공합니다.The container provides a home page.
http://localhost:5000/ready GET을 사용 하 여 요청 하면 컨테이너에서 모델에 대 한 쿼리를 수락할 준비가 되었음을 확인할 수 있습니다.Requested with GET, this provides a verification that the container is ready to accept a query against the model. 이 요청은 Kubernetes 활동성 및 준비 상태 프로브에 사용될 수 있습니다.This request can be used for Kubernetes liveness and readiness probes.
http://localhost:5000/status 또한 GET을 사용 하 여 요청 하면 컨테이너를 시작 하는 데 사용 된 api 키가 끝점 쿼리를 발생 시 키 지 않고 유효한 지 여부를 확인 합니다.Also requested with GET, this verifies if the api-key used to start the container is valid without causing an endpoint query. 이 요청은 Kubernetes 활동성 및 준비 상태 프로브에 사용될 수 있습니다.This request can be used for Kubernetes liveness and readiness probes.
http://localhost:5000/swagger 컨테이너는 끝점에 대 한 전체 설명서 집합과 사용해 보기 기능을 제공 합니다.The container provides a full set of documentation for the endpoints and a Try it out feature. 이 기능을 사용하면 웹 기반 HTML 양식으로 설정을 입력할 수 있고 코드 작성 없이 쿼리를 만들 수 있습니다.With this feature, you can enter your settings into a web-based HTML form and make the query without having to write any code. 쿼리가 반환되면 필요한 HTTP 헤더 및 본문 형식을 보여주기 위해 예제 CURL 명령이 제공됩니다.After the query returns, an example CURL command is provided to demonstrate the HTTP headers and body format that's required.

컨테이너의 홈페이지

다음 단계Next steps