Anomaly Detector 一変量コンテナーを Azure Container Instances にデプロイする
重要
2023 年 9 月 20 日以降は、新しい Anomaly Detector リソースを作成できなくなります。 Anomaly Detector サービスは、2026 年 10 月 1 日に廃止されます。
Azure AI サービス Anomaly Detector コンテナーを Azure Container Instances にデプロイする方法について説明します。 この手順では、Anomaly Detector リソースの作成方法を実演します。 次に、関連するコンテナー イメージをプルする方法について説明します。 最後に、ブラウザーからこの 2 つのオーケストレーションを行う機能を取り上げます。 コンテナーを使用することで、開発者の関心をインフラストラクチャの管理から切り離し、アプリケーション開発に専念させることができます。
前提条件
- Azure サブスクリプションを使用してください。 Azure サブスクリプションをお持ちでない場合は、開始する前に 無料アカウント を作成してください。
- Azure CLI (az) をインストールします。
- Docker エンジン。Docker CLI がコンソール ウィンドウで動作することを確認します。
Anomaly Detector リソースを作成する
Azure portal にサインインします。
[Anomaly Detector の作成] リソースを選択します。
すべての必須設定を入力します。
設定 値 名前 任意の名前 (2 から 64 文字) サブスクリプション 適切なサブスクリプションを選択します 場所 近くにある任意の使用可能な場所を選択します 価格レベル F0
- 1 秒あたり 10 回の呼び出し、1 か月あたり 2 万件のトランザクション。
または:
S0
- 1 秒あたり 80 回の呼び出しリソース グループ 使用可能なリソース グループを選択します [作成] を選択して、リソースが作成されるまで待ちます。 作成後、リソース ページに移動します。
構成された
endpoint
と API キーを収集します。ポータルの [キーとエンドポイント] タブ 設定 値 概要 エンドポイント エンドポイントをコピーします。 それは、 https://<your-resource-name>.cognitiveservices.azure.com/
のようなものです[キー] API キー 2 つのキーのうちの 1 つをコピーします。 スペースやダッシュを含まない 32 文字の英数字文字列 ( xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
) です。
Azure CLI から Azure コンテナー インスタンス リソースを作成する
次の YAML は、Azure コンテナー インスタンス リソースを定義します。 内容をコピーして新しいファイルに貼り付け、my-aci.yaml
という名前を付け、コメント付きの値を独自の値に置き換えます。 有効な YAML については、テンプレートの形式を参照してください。 使用可能なイメージ名と対応するリポジトリについては、コンテナーのリポジトリとイメージを参照してください。 コンテナー インスタンスの YAML リファレンスの詳細については、「YAML リファレンス: 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. For example Text Analytics for health.
- 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 とメモリが使用できるわけではありません。 コンテナーで使用可能なリソースを場所と OS ごとにまとめた一覧については、場所とリソースの表を参照してください。
作成した YAML ファイルを az container create
コマンドに使用します。 Azure CLI から、<resource-group>
を独自の値に置き換えて az container create
コマンドを実行します。 また、YAML デプロイ内の値をセキュリティで保護する方法については、値をセキュリティで保護するを参照してください。
az container create -g <resource-group> -f my-aci.yaml
有効な場合、コマンドの出力は Running...
となります。しばらくすると、出力は新しく作成された ACI リソースを表す JSON 文字列に変化します。 コンテナー イメージはしばらく使用できない可能性が高いですが、リソースは配置されています。
ヒント
YAML は場所と一致するように適切に調整する必要があるため、パブリック プレビューの Azure AI サービスの場所に十分注意してください。
コンテナーが実行されていることを検証する
コンテナーが実行されていることを検証する方法は複数あります。 問題になっているコンテナーの "外部 IP" アドレスと公開ポートを特定し、任意の Web ブラウザーを開きます。 次の各種の要求 URL を使用して、コンテナーが実行中であることを確認します。 ここに示す要求例の URL は http://localhost:5000
ですが、実際のコンテナーは異なる可能性があります。 使用するコンテナーの外部 IP アドレスと公開ポートを基にしてください。
要求 URL | 目的 |
---|---|
http://localhost:5000/ |
コンテナーには、ホーム ページが用意されています。 |
http://localhost:5000/ready |
GET で要求することで、この URL により、コンテナーがモデルに対するクエリを受け取る準備ができていることを確認できます。 この要求は Kubernetes の liveness probe と readiness probe に対して使用できます。 |
http://localhost:5000/status |
これも GET で要求することで、この URL により、コンテナーを起動するために使用された API キーが有効であるかどうかを、エンドポイント クエリを発生させずに確認できます。 この要求は Kubernetes の liveness probe と readiness probe に対して使用できます。 |
http://localhost:5000/swagger |
コンテナーには、エンドポイントの完全なドキュメント一式と、 [Try it out](試してみる) の機能が用意されています。 この機能を使用すると、コードを一切記述することなく、お客様の設定を Web ベースの HTML フォームに入力したりクエリを実行したりできます。 クエリから戻った後、HTTP ヘッダーと HTTP 本文の必要な形式を示すサンプル CURL コマンドが得られます。 |
次のステップ
- コンテナー イメージのプルおよびコンテナーの実行の詳細については、コンテナーのインストールおよび実行に関する説明を確認する
- 構成設定について、コンテナーの構成を確認する
- Anomaly Detector API サービスの詳細情報