Azure コンテナー インスタンスにコンテナーをデプロイして実行する

次の手順に従えば、Azure Container Instances を使用してクラウド内の Azure AI サービス アプリケーションを簡単にスケーリングすることができます。 コンテナー化により、インフラストラクチャを管理することにではなく、アプリケーションの構築に集中することができます。 コンテナーの使用方法の詳細については、「機能とメリット」を参照してください。

前提条件

レシピは、任意の Azure AI サービス コンテナーで機能します。 レシピを使用する前に、Azure AI サービス リソースを作成する必要があります。 コンテナーをサポートする各 Azure AI サービスには、コンテナーのサービスをインストールして構成するための "インストール方法" の記事があります。 一部のサービスにはコンテナーへの入力としてファイルまたは一連のファイルが必要です。このソリューションを使用する前に、コンテナーを正しく理解して使用していることが重要です。

  • 使用している Azure AI サービスの Azure リソース。

  • Azure AI サービス リソースのエンドポイント URL - Azure portal 内からエンドポイント URL が表示されている場所と正しい URL の形式の例を確認する方法については、お使いのサービスのコンテナーの "インストール方法" を確認してください。 正確な形式はサービスによって異なる可能性があります。

  • Azure AI サービス リソース キー - キーは Azure リソースの [キー] ページにあります。 必要なのは 2 つのキーのうち 1 つだけです。 キーは 32 文字の英数字の文字列です。

  • ローカル ホスト (コンピューター) 上の 1 つの Azure AI サービス コンテナー。 以下を実行できることを確認します。

    • docker pull コマンドでイメージをプルする。
    • docker run コマンドを使用し、必要なすべての構成設定を使用してローカル コンテナーを正常に実行する。
    • コンテナーのエンドポイントを呼び出し、HTTP 2xx の応答と JSON 応答が返される。

山かっこ <> 内のすべての変数は、ご自分の値に置き換える必要があります。 この置き換えには山かっこも含まれます。

重要

LUIS コンテナーには、実行時にでプルされる .gz モデル ファイルが必要です。 コンテナーからは、コンテナー インスタンスからのボリューム マウントを介してこのモデル ファイルにアクセスできる必要があります。 モデル ファイルをアップロードするには、次の手順を行います。

  1. Azure ファイル共有を作成します。 後で必要になるため、Azure ストレージ アカウント名、キー、およびファイル共有名をメモします。
  2. LUIS モデル (パッケージ アプリ) を LUIS ポータルからエクスポートします
  3. Azure portal で、ストレージ アカウント リソースの [概要] ページに移動し、 [ファイル共有] を選択します。
  4. 最近作成したファイル共有名を選択し、 [アップロード] を選択します。 次に、パッケージ アプリをアップロードします。

Azure portal を使用して Azure コンテナー インスタンス リソースを作成する

  1. コンテナー インスタンスの作成のページに移動します。

  2. [基本] タブで、以下の詳細を入力します。

    設定
    サブスクリプション サブスクリプションを選択します。
    Resource group 利用可能なリソース グループを選択するか、新しいリソース グループを作成します (cognitive-services など)。
    コンテナー名 cognitive-container-instance などの名前を入力します。 この名前は小文字である必要があります。
    場所 デプロイのためのリージョンを選択します。
    イメージの種類 資格情報を必要としないコンテナー レジストリにコンテナー イメージが格納されている場合、Public を選択します。 コンテナー イメージにアクセスするとき、資格情報が必要な場合、Private を選択します。 コンテナー イメージが Public または Private ("パブリック プレビュー") であるかどうかに関する詳細は、「コンテナーのリポジトリとイメージ」を参照してください。
    イメージ名 Azure AI サービス コンテナーの場所を入力します。 場所は docker pull コマンドの引数として使用される場所です。 使用可能なイメージ名と対応するリポジトリについては、コンテナーのリポジトリとイメージを参照してください。

    イメージ名は、3 つの部分を指定する完全修飾名にする必要があります。 最初にコンテナー レジストリ、次にリポジトリ、最後にイメージ名 <container-registry>/<repository>/<image-name> です。

    例を 1 つ挙げてみると、mcr.microsoft.com/azure-cognitive-services/keyphrase であれば、Microsoft Container Registry の Azure AI サービス リポジトリにあるキー フレーズ抽出イメージを指します。 もう 1 つの例を挙げると、containerpreview.azurecr.io/microsoft/cognitive-services-speech-to-text は、Container Preview コンテナー レジストリの Microsoft リポジトリの音声テキスト変換イメージです。
    OS の種類 Linux
    サイズ 特定の Azure AI コンテナーに対して推奨されるサイズに変更します。
    2 CPU コア
    4 GB
  3. [ネットワーク] タブで、以下の詳細を入力します。

    設定
    Port TCP ポートを 5000 に設定します。 ポート 5000 上でコンテナーを公開します。
  4. [詳細] タブで、Azure Container Instance リソースのコンテナー課金設定に必要な環境変数を入力します。

    Key
    ApiKey リソースの [キーとエンドポイント] ページからコピーされます。 スペースやダッシュを含まない 32 文字の英数字文字列 (xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx) です。
    Billing リソースの [キーとエンドポイント] ページからコピーされたエンドポイント URL。
    Eula accept
  5. [確認と作成] を選択します

  6. 検証に合格した後、 [作成] をクリックして作成プロセスを終了します

  7. リソースが正常にデプロイされると、準備完了です

コンテナー インスタンスを使用する

  1. [概要] を選択し、IP アドレスをコピーします。 これは 55.55.55.55 のような数値の IP アドレスです。

  2. 新しいブラウザー タブを開き、http://<IP-address>:5000 (http://55.55.55.55:5000 のような IP アドレスを使用します。 コンテナーのホーム ページが表示され、コンテナーが実行中であることが示されます。

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

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

  4. いずれかの POST API を選択して [試してみる] を選択します。入力を含むパラメーターが表示されます。 パラメーターを入力します。

  5. [実行] を選択して、要求をコンテナー インスタンスに送信します。

    Azure コンテナー インスタンスへの Azure AI コンテナーの作成と使用は以上で完了です。