Azure コンテナー インスタンスにコンテナーをデプロイして実行するDeploy and run container on Azure Container Instance

次の手順に従えば、Azure Container Instances を使用してクラウド内の Azure Cognitive Services アプリケーションを簡単にスケーリングすることができます。With the following steps, scale Azure Cognitive Services applications in the cloud easily with Azure Container Instances. コンテナー化により、インフラストラクチャを管理することにではなく、アプリケーションの構築に集中することができます。Containerization helps you focus on building your applications instead of managing the infrastructure. コンテナーの使用方法の詳細については、「機能とメリット」を参照してください。For more information on using containers, see features and benefits.

前提条件Prerequisites

レシピは、任意の Cognitive Services コンテナーで機能します。The recipe works with any Cognitive Services container. レシピを使用する前に、Cognitive Services リソースを作成する必要があります。The Cognitive Service resource must be created before using the recipe. コンテナーをサポートする各 Cognitive Service には、コンテナーのサービスをインストールして構成するための "インストール方法" の記事があります。Each Cognitive Service that supports containers has a "How to install" article for installing and configuring the service for a container. 一部のサービスにはコンテナーへの入力としてファイルまたは一連のファイルが必要です。このソリューションを使用する前に、コンテナーを正しく理解して使用していることが重要です。Some services require a file or set of files as input for the container, it is important that you understand and have used the container successfully before using this solution.

  • 使用している Azure Cognitive Service の Azure リソース。An Azure resource for the Azure Cognitive Service you're using.

  • Cognitive Service エンドポイント URL - Azure portal 内からエンドポイント URL が表示されている場所と正しい URL の形式の例を確認する方法については、お使いのサービスのコンテナーの "インストール方法" を確認してください。Cognitive Service endpoint URL - review your specific service's "How to install" for the container, to find where the endpoint URL is from within the Azure portal, and what a correct example of the URL looks like. 正確な形式はサービスによって異なる可能性があります。The exact format can change from service to service.

  • Cognitive Service キー - キーは Azure リソースの [キー] ページにあります。Cognitive Service key - the keys are on the Keys page for the Azure resource. 必要なのは 2 つのキーのうち 1 つだけです。You only need one of the two keys. キーは 32 文字の英数字の文字列です。The key is a string of 32 alpha-numeric characters.

  • ローカル ホスト (コンピューター) 上の 1 つの Cognitive Services コンテナー。A single Cognitive Services Container on your local host (your computer). 以下を実行できることを確認します。Make sure you can:

    • docker pull コマンドでイメージをプルする。Pull down the image with a docker pull command.
    • docker run コマンドを使用し、必要なすべての構成設定を使用してローカル コンテナーを正常に実行する。Run the local container successfully with all required configuration settings with a docker run command.
    • コンテナーのエンドポイントを呼び出し、HTTP 2xx の応答と JSON 応答が返される。Call the container's endpoint, getting a response of HTTP 2xx and a JSON response back.

山かっこ <> 内のすべての変数は、ご自分の値に置き換える必要があります。All variables in angle brackets, <>, need to be replaced with your own values. この置き換えには山かっこも含まれます。This replacement includes the angle brackets.

重要

LUIS コンテナーには、実行時にでプルされる .gz モデル ファイルが必要です。The LUIS container requires a .gz model file that is pulled in at runtime. コンテナーからは、コンテナー インスタンスからのボリューム マウントを介してこのモデル ファイルにアクセスできる必要があります。The container must be able to access this model file via a volume mount from the container instance. モデル ファイルをアップロードするには、次の手順を行います。To upload a model file, follow these steps:

  1. Azure ファイル共有を作成しますCreate an Azure file share. 後で必要になるため、Azure ストレージ アカウント名、キー、およびファイル共有名をメモします。Take note of the Azure Storage account name, key, and file share name as you'll need them later.
  2. LUIS モデル (パッケージ アプリ) を LUIS ポータルからエクスポートしますexport your LUIS model (packaged app) from the LUIS portal.
  3. Azure portal で、ストレージ アカウント リソースの [概要] ページに移動し、 [ファイル共有] を選択します。In the Azure portal, navigate to the Overview page of your storage account resource, and select File shares.
  4. 最近作成したファイル共有名を選択し、 [アップロード] を選択します。Select the file share name that you recently created, then select Upload. 次に、パッケージ アプリをアップロードします。Then upload your packaged app.

Azure portal を使用して Azure コンテナー インスタンス リソースを作成するCreate an Azure Container Instance resource using the Azure portal

  1. コンテナー インスタンスの作成のページに移動します。Go to the Create page for Container Instances.

  2. [基本] タブで、以下の詳細を入力します。On the Basics tab, enter the following details:

    設定Setting Value
    サブスクリプションSubscription サブスクリプションを選択します。Select your subscription.
    Resource groupResource group 利用可能なリソース グループを選択するか、新しいリソース グループを作成します (cognitive-services など)。Select the available resource group or create a new one such as cognitive-services.
    コンテナー名Container name cognitive-container-instance などの名前を入力します。Enter a name such as cognitive-container-instance. この名前は小文字である必要があります。The name must be in lower caps.
    場所Location デプロイのためのリージョンを選択します。Select a region for deployment.
    イメージの種類Image type 資格情報を必要としないコンテナー レジストリにコンテナー イメージが格納されている場合、Public を選択します。If your container image is stored in a container registry that doesn’t require credentials, choose Public. コンテナー イメージにアクセスするとき、資格情報が必要な場合、Private を選択します。If accessing your container image requires credentials, choose Private. コンテナー イメージが Public または Private ("パブリック プレビュー") であるかどうかに関する詳細は、「コンテナーのリポジトリとイメージ」を参照してください。Refer to container repositories and images for details on whether or not the container image is Public or Private ("Public Preview").
    イメージ名Image name Cognitive Services コンテナーの場所を入力します。Enter the Cognitive Services container location. 場所は docker pull コマンドの引数として使用される場所です。The location is what's used as an argument to the docker pull command. 使用可能なイメージ名と対応するリポジトリについては、コンテナーのリポジトリとイメージを参照してください。Refer to the container repositories and images for the available image names and their corresponding repository.

    イメージ名は、3 つの部分を指定する完全修飾名にする必要があります。The image name must be fully qualified specifying three parts. 最初にコンテナー レジストリ、次にリポジトリ、最後にイメージ名 <container-registry>/<repository>/<image-name> です。First, the container registry, then the repository, finally the image name: <container-registry>/<repository>/<image-name>.

    例を 1 つ挙げてみると、mcr.microsoft.com/azure-cognitive-services/keyphrase であれば、Microsoft Container Registry の Azure Cognitive Services リポジトリにあるキー フレーズ抽出イメージを指します。Here is an example, mcr.microsoft.com/azure-cognitive-services/keyphrase would represent the Key Phrase Extraction image in the Microsoft Container Registry under the Azure Cognitive Services repository. もう 1 つの例を挙げると、containerpreview.azurecr.io/microsoft/cognitive-services-speech-to-text は、Container Preview コンテナー レジストリの Microsoft リポジトリの Speech to Text イメージです。Another example is, containerpreview.azurecr.io/microsoft/cognitive-services-speech-to-text which would represent the Speech to Text image in the Microsoft repository of the Container Preview container registry.
    OS の種類OS type Linux
    サイズSize 特定の Cognitive Service コンテナーに対して推奨されるサイズに変更します。Change size to the suggested recommendations for your specific Cognitive Service container:
    2 CPU コア2 CPU cores
    4 GB4 GB
  3. [ネットワーク] タブで、以下の詳細を入力します。On the Networking tab, enter the following details:

    設定Setting Value
    PortPorts TCP ポートを 5000 に設定します。Set the TCP port to 5000. ポート 5000 上でコンテナーを公開します。Exposes the container on port 5000.
  4. [詳細] タブで、Azure Container Instance リソースのコンテナー課金設定に必要な 環境変数 を入力します。On the Advanced tab, enter the required Environment Variables for the container billing settings of the Azure Container Instance resource:

    KeyKey Value
    ApiKey リソースの [キーとエンドポイント] ページからコピーされます。Copied from the Keys and endpoint page of the resource. スペースやダッシュを含まない 32 文字の英数字文字列 (xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx) です。It is a 32 alphanumeric-character string with no spaces or dashes, xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.
    Billing リソースの [キーとエンドポイント] ページからコピーされたエンドポイント URL。Your endpoint URL copied from the Keys and endpoint page of the resource.
    Eula accept
  5. [確認と作成] をクリックしますClick Review and Create

  6. 検証に合格した後、 [作成] をクリックして作成プロセスを終了しますAfter validation passes, click Create to finish the creation process

  7. リソースが正常にデプロイされると、準備完了ですWhen the resource is successfully deployed, it's ready

コンテナー インスタンスを使用するUse the Container Instance

  1. [概要] を選択し、IP アドレスをコピーします。Select the Overview and copy the IP address. これは 55.55.55.55 のような数値の IP アドレスです。It will be a numeric IP address such as 55.55.55.55.

  2. 新しいブラウザー タブを開き、http://<IP-address>:5000 (http://55.55.55.55:5000 のような IP アドレスを使用します。Open a new browser tab and use the IP address, for example, http://<IP-address>:5000 (http://55.55.55.55:5000). コンテナーのホーム ページが表示され、コンテナーが実行中であることが示されます。You will see the container's home page, letting you know the container is running.

    コンテナーのホーム ページ

  3. [Service API Description](サービス API の説明) を選択し、コンテナーの Swagger ページを表示します。Select Service API Description to view the swagger page for the container.

  4. いずれかの POST API を選択して [試してみる] を選択します。入力を含むパラメーターが表示されます。Select any of the POST APIs and select Try it out. The parameters are displayed including the input. パラメーターを入力します。Fill in the parameters.

  5. [実行] を選択して、要求をコンテナー インスタンスに送信します。Select Execute to send the request to your Container Instance.

    Azure コンテナー インスタンスへの Cognitive Services コンテナーの作成と使用は以上で完了です。You have successfully created and used Cognitive Services containers in Azure Container Instance.