Azure Container Instances 上でコンテナーをデプロイおよび実行する
次の手順に従えば、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
モデル ファイルが必要です。 コンテナーからは、コンテナー インスタンスからのボリューム マウントを介してこのモデル ファイルにアクセスできる必要があります。 モデル ファイルをアップロードするには、次の手順を行います。
- Azure ファイル共有を作成します。 後で必要になるため、Azure ストレージ アカウント名、キー、およびファイル共有名をメモします。
- LUIS モデル (パッケージ アプリ) を LUIS ポータルからエクスポートします。
- Azure portal で、ストレージ アカウント リソースの [概要] ページに移動し、 [ファイル共有] を選択します。
- 最近作成したファイル共有名を選択し、 [アップロード] を選択します。 次に、パッケージ アプリをアップロードします。
Azure portal を使用して Azure コンテナー インスタンス リソースを作成する
コンテナー インスタンスの作成のページに移動します。
[基本] タブで、以下の詳細を入力します。
設定 値 サブスクリプション サブスクリプションを選択します。 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[ネットワーク] タブで、以下の詳細を入力します。
設定 値 Port TCP ポートを 5000
に設定します。 ポート 5000 上でコンテナーを公開します。[詳細] タブで、Azure Container Instance リソースのコンテナー課金設定に必要な環境変数を入力します。
Key 値 ApiKey
リソースの [キーとエンドポイント] ページからコピーされます。 スペースやダッシュを含まない 32 文字の英数字文字列 ( xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
) です。Billing
リソースの [キーとエンドポイント] ページからコピーされたエンドポイント URL。 Eula
accept
[確認と作成] を選択します
検証に合格した後、 [作成] をクリックして作成プロセスを終了します
リソースが正常にデプロイされると、準備完了です
コンテナー インスタンスを使用する
[概要] を選択し、IP アドレスをコピーします。 これは
55.55.55.55
のような数値の IP アドレスです。新しいブラウザー タブを開き、
http://<IP-address>:5000 (http://55.55.55.55:5000
のような IP アドレスを使用します。 コンテナーのホーム ページが表示され、コンテナーが実行中であることが示されます。[Service API Description](サービス API の説明) を選択し、コンテナーの Swagger ページを表示します。
いずれかの POST API を選択して [試してみる] を選択します。入力を含むパラメーターが表示されます。 パラメーターを入力します。
[実行] を選択して、要求をコンテナー インスタンスに送信します。
Azure コンテナー インスタンスへの Azure AI コンテナーの作成と使用は以上で完了です。