Azure Cognitive Services でのコンテナーのサポートContainer support in Azure Cognitive Services

Azure Cognitive Services でのコンテナーのサポートを使用すると、開発者は Azure で利用できるものと同じリッチな API を使用できます。また、Docker コンテナーに付随するサービスをデプロイおよびホストできる柔軟性があります。Container support in Azure Cognitive Services allows developers to use the same rich APIs that are available in Azure, and enables flexibility in where to deploy and host the services that come with Docker containers. コンテナー サポートは現在、以下を含む Azure Cognitive Services のサブセットで使用できます。Container support is currently available for a subset of Azure Cognitive Services, including parts of:

コンテナー化とは、アプリケーションまたはサービスとその依存関係や構成をコンテナー イメージとしてパッケージ化するソフトウェア配布のアプローチです。Containerization is an approach to software distribution in which an application or service, including its dependencies & configuration, is packaged together as a container image. コンテナー イメージは、ほとんどまたはまったく変更せずに、コンテナー ホストにデプロイできます。With little or no modification, a container image can be deployed on a container host. コンテナーは、相互および基になるオペレーティング システムから分離され、仮想マシンよりもフット プリントが小さくなります。Containers are isolated from each other and the underlying operating system, with a smaller footprint than a virtual machine. 短期間のタスクに対してコンテナーをコンテナー イメージからインスタンス化し、不要になったら削除できます。Containers can be instantiated from container images for short-term tasks, and removed when no longer needed.

Cognitive Services リソースは Microsoft Azure 上で使用できます。Cognitive Services resources are available on Microsoft Azure. これらのサービス用の Azure リソースを作成して調べるには、Azure portal にサインインしてください。Sign into the Azure portal to create and explore Azure resources for these services.

機能とメリットFeatures and benefits

  • イミュータブル インフラストラクチャ:DevOps チームを有効にすると、一貫性と信頼性のある既知のシステム パラメーターのセットを活用しながら、変更に適応できます。Immutable infrastructure: Enable DevOps teams' to leverage a consistent and reliable set of known system parameters, while being able to adapt to change. コンテナーには、予測可能なエコシステム内でピボットして構成の誤差を回避できる柔軟性があります。Containers provide the flexibility to pivot within a predictable ecosystem and avoid configuration drift.
  • データの制御:これらの Cognitive Services がお客様のデータをどこで処理するかをお客様が選択できるようにします。Control over data: Allow customers to choose where these Cognitive Services process their data. これは、クラウドにデータを送信することはできないが、Cognitive Services テクノロジにアクセスする必要があるお客様にとって重要です。This is essential for customers that cannot send data to the cloud but need access to Cognitive Services technology. ハイブリッド環境でデータ、管理、ID、セキュリティの整合性をサポートします。Support consistency in hybrid environments – across data, management, identity, and security.
  • モデルの更新の制御:お客様は、ソリューションにデプロイされているモデルのバージョン管理と更新を柔軟に行うことができます。Control over model updates: Provide customers flexibility in versioning and updating of models deployed in their solutions.
  • 移植可能なアーキテクチャ:Azure、オンプレミス、エッジにデプロイできる移植可能なアプリケーション アーキテクチャを作成できます。Portable architecture: Enable the creation of a portable application architecture that can be deployed on Azure, on-premises and the edge. コンテナーは、Azure Kubernetes ServiceAzure Container Instances、または Azure Stack にデプロイされた Kubernetes クラスターに直接デプロイできます。Containers can be deployed directly to Azure Kubernetes Service, Azure Container Instances, or to a Kubernetes cluster deployed to Azure Stack. 詳しくは、「Kubernetes を Azure Stack にデプロイする」をご覧ください。For more information, see Deploy Kubernetes to Azure Stack.
  • 高スループット/低待ち時間:お客様は、アプリケーションのロジックとデータに物理的に近い場所で Cognitive Services を実行できるようにすることで、高いスループットと低待ち時間の要件に合わせてスケーリングできます。High throughput / low latency: Provide customers the ability to scale for high throughput and low latency requirements by enabling Cognitive Services to run physically close to their application logic and data. コンテナーでは、1 秒あたりのトランザクション数 (TPS) は制限されません。必要なハードウェア リソースを提供した場合は、コンテナーのスケールアップとスケールアウトの両方を行って需要を処理することができます。Containers do not cap transactions per second (TPS) and can be made to scale both up and out to handle demand if you provide the necessary hardware resources.
  • スケーラビリティ:コンテナー化とコンテナー オーケストレーション ソフトウェア (Kubernetes など) がますます普及し、スケーラビリティは、技術進歩の最前線にあります。Scalability: With the ever growing popularity of containerization and container orchestration software, such as Kubernetes; scalability is at the forefront of technological advancements. スケーラブルなクラスター基盤の上に構築されたアプリケーション開発は、高可用性に対応します。Building on a scalable cluster foundation, application development caters to high availability.

Azure Cognitive Services でのコンテナーContainers in Azure Cognitive Services

Azure Cognitive Services のコンテナーでは次の Docker コンテナー セットが提供され、各コンテナーには Azure Cognitive Services のサービスの機能のサブセットが含まれます。Azure Cognitive Services containers provide the following set of Docker containers, each of which contains a subset of functionality from services in Azure Cognitive Services:

サービスService サポートされている価格レベルSupported Pricing Tier コンテナーContainer [説明]Description
Anomaly DetectorAnomaly detector F0、S0F0, S0 Anomaly-DetectorAnomaly-Detector Anomaly Detector API では、機械学習を利用することで、時系列データを監視し、その中の異常を検出できます。The Anomaly Detector API enables you to monitor and detect abnormalities in your time series data with machine learning.
アクセスの要求Request access
Computer VisionComputer Vision F0、S1F0, S1 読み取りRead レシート、ポスター、名刺など、さまざまな表面や背景を持ついろいろなオブジェクトのイメージから、印刷されたテキストを抽出します。Extracts printed text from images of various objects with different surfaces and backgrounds, such as receipts, posters, and business cards. "読み取り" コンテナーでは、画像内の "手書きテキスト" も検出され、PDF/TIFF/複数ページのサポートが提供されます。The Read container also detects handwritten text in images and provides PDF/TIFF/multi-page support.

重要: 読み取りコンテナーは現在のところ、英語でのみ機能します。Important: The Read container currently works only with English.
FaceFace F0、S0F0, S0 FaceFace Face には、画像中の人の顔を検出し、顔のパーツ (鼻や目など)、性別、年齢のほか、マシンが予測するその他の顔の特徴などの属性を識別します。Detects human faces in images, and identifies attributes, including face landmarks (such as noses and eyes), gender, age, and other machine-predicted facial features. 検出に加えて、Face では、同じ画像または異なる画像中の 2 つの顏が同じかどうかを信頼スコアを使って確認したり、データベースと顏を比較して、似ている顏や同一の顔が既に存在するかどうかを調べたりできます。In addition to detection, Face can check if two faces in the same image or different images are the same by using a confidence score, or compare faces against a database to see if a similar-looking or identical face already exists. また、同じ視覚的特徴を使用して、似た顔をグループに分けて整理することもできます。It can also organize similar faces into groups, using shared visual traits.
アクセスの要求Request access
Form recognizerForm recognizer F0、S0F0, S0 Form RecognizerForm Recognizer Form Understanding では、機械学習の技術を適用して、フォームからキーと値のペアおよびテーブルを識別して抽出します。Form Understanding applies machine learning technology to identify and extract key-value pairs and tables from forms.
アクセスの要求Request access
LUISLUIS F0、S0F0, S0 LUIS (イメージ)LUIS (image) トレーニング済みまたは発行済みの Language Understanding モデル ("LUIS アプリ" と呼ばれます) を Docker コンテナーに読み込みます。ユーザーは、そのコンテナーの API エンドポイントからクエリ予測を利用することができます。Loads a trained or published Language Understanding model, also known as a LUIS app, into a docker container and provides access to the query predictions from the container's API endpoints. コンテナーからクエリのログを収集し、それらを LUIS ポータルに再度アップロードすることで、アプリの予測精度を高めることができます。You can collect query logs from the container and upload these back to the LUIS portal to improve the app's prediction accuracy.
Speech Service APISpeech Service API F0、S0F0, S0 音声テキスト変換Speech-to-text 連続するリアルタイムの音声をテキストに書き起こします。Transcribes continuous real-time speech into text.
Speech Service APISpeech Service API F0、S0F0, S0 カスタム音声変換Custom Speech-to-text カスタム モデルを使用して、連続するリアルタイムの音声をテキストに書き起こします。Transcribes continuous real-time speech into text using a custom model.
Speech Service APISpeech Service API F0、S0F0, S0 テキスト読み上げText-to-speech テキストを自然な音声に変換します。Converts text to natural-sounding speech.
Speech Service APISpeech Service API F0、S0F0, S0 カスタム テキスト読み上げCustom Text-to-speech カスタム モデルを使用してテキストを自然な音声に変換します。Converts text to natural-sounding speech using a custom model.
Text AnalyticsText Analytics F0、SF0, S キー フレーズ抽出 (イメージ)Key Phrase Extraction (image) 主なポイントを識別するキー フレーズを抽出します。Extracts key phrases to identify the main points. たとえば、「食べ物はおいしくて、すばらしいスタッフがいた」というテキストを入力すると、この API は話題の中心として "食べ物" と "すばらしいスタッフ" を返します。For example, for the input text "The food was delicious and there were wonderful staff", the API returns the main talking points: "food" and "wonderful staff".
Text AnalyticsText Analytics F0、SF0, S 言語検出 (イメージ)Language Detection (image) 最大 120 の言語に対して、入力テキストが書かれている言語を検出し、要求で送信されたドキュメントごとに 1 つの言語コードを報告します。For up to 120 languages, detects which language the input text is written in and report a single language code for every document submitted on the request. 言語コードは、評価値の強度を示すスコアと組みになります。The language code is paired with a score indicating the strength of the score.
Text AnalyticsText Analytics F0、SF0, S 感情分析 (イメージ)Sentiment Analysis (image) 肯定的または否定的な感情の手がかりを探して未加工のテキストを分析します。Analyzes raw text for clues about positive or negative sentiment. この API はドキュメントごとに 0 から 1 までの感情スコアを返します。1 が最も肯定的となります。This API returns a sentiment score between 0 and 1 for each document, where 1 is the most positive. 分析モデルは、広範囲にわたるテキスト本文と Microsoft の自然言語技術を利用して事前トレーニングされています。The analysis models are pre-trained using an extensive body of text and natural language technologies from Microsoft. 一部の言語については、この API はユーザーが指定したあらゆる未加工テキストを分析し、評価し、呼び出し元のアプリケーションに結果を直接返すことができます。For selected languages, the API can analyze and score any raw text that you provide, directly returning results to the calling application.

また、一部のコンテナーは Cognitive Services オールインワン オファリングのリソース キー内でサポートされています。In addition, some containers are supported in Cognitive Services All-In-One offering resource keys. 単一の Cognitive Services オールインワン リソースを作成し、次のサービスに対してサポートされているサービス全体で同じ課金キーを使用できます。You can create one single Cognitive Services All-In-One resource and use the same billing key across supported services for the following services:

  • Computer VisionComputer Vision
  • FaceFace
  • LUISLUIS
  • Text AnalyticsText Analytics

Azure Cognitive Services でのコンテナーの使用可能性Container availability in Azure Cognitive Services

Azure Cognitive Services コンテナーはお使いの Azure サブスクリプションを通じてパブリックに使用でき、Docker コンテナー イメージは Microsoft Container Registry または Docker Hub からプルできます。Azure Cognitive Services containers are publicly available through your Azure subscription, and Docker container images can be pulled from either the Microsoft Container Registry or Docker Hub. 適切なレジストリからコンテナー イメージをダウンロードするには、docker pull コマンドを使用できます。You can use the docker pull command to download a container image from the appropriate registry.

重要

現在、以下のコンテナーにアクセスするにはサインアップ プロセスを完了する必要があります。サインアップでは、お客様自身、お客様の会社、コンテナーを実装したいユース ケースに関するアンケートに答えて送信します。Currently, you must complete a sign-up process to access the following containers, in which you fill out and submit a questionnaire with questions about you, your company, and the use case for which you want to implement the containers. アクセスが許可され、資格情報が提供されたら、Azure Container Registry によってホストされているプライベート コンテナー レジストリからコンテナー イメージをプルできます。Once you're granted access and provided credentials, you can then pull the container images from a private container registry hosted by Azure Container Registry.

コンテナーのリポジトリとイメージContainer repositories and images

次の表は、Azure Cognitive Services によって提供される使用可能なコンテナー イメージの一覧です。The tables below are a listing of the available container images offered by Azure Cognitive Services. 利用できるコンテナー イメージ名とその利用できるタグの完全一覧が必要であれば、Cognitive Services コンテナー イメージ タグに関するページを参照してください。For a complete list of all the available container image names and their available tags, see Cognitive Services container image tags. 現在、一般提供 (GA) されている Cognitive Services コンテナーはありません。Currently, there are no Cognitive Services containers that are generally available (GA). 差し当たり、新たな発表があるまでは、"パブリックのゲートなし" または "パブリックのゲート付きプレビュー" としてコンテナーが提供されます。For the time being, until further announcements are made -- containers are available as either Public Ungated or Public Gated Preview.

  • "パブリックのゲートなし": コンテナーは、ゲート メカニズムなしでパブリックに提供されます。Public Ungated: containers are available publicly without a gating mechanism.
  • "パブリックのゲート付きプレビュー": コンテナーはパブリックに提供されますが、コンテナー レジストリにアクセスするための正式なリクエストが最初に必要となります。Public Gated Preview: containers are available publicly, but first require formal request to access the container registry.

パブリックで "ゲートされていない" (コンテナー レジストリ: mcr.microsoft.com)Public "Ungated" (container registry: mcr.microsoft.com)

Microsoft Container Registry (MCR) では、Cognitive Services 向けに一般公開されている "ゲートなし" コンテナーをすべて配信しています。The Microsoft Container Registry (MCR) syndicates all of the publicly available "ungated" containers for Cognitive Services. コンテナーは、Docker Hub から直接入手することもできます。The containers are also available directly from the Docker hub.

サービスService コンテナーContainer コンテナー レジストリ / リポジトリ / イメージ名Container Registry / Repository / Image Name
LUISLUIS LUISLUIS mcr.microsoft.com/azure-cognitive-services/luis
Text AnalyticsText Analytics キー フレーズ抽出Key Phrase Extraction mcr.microsoft.com/azure-cognitive-services/keyphrase
Text AnalyticsText Analytics 言語検出Language Detection mcr.microsoft.com/azure-cognitive-services/language
Text AnalyticsText Analytics 感情分析Sentiment Analysis mcr.microsoft.com/azure-cognitive-services/sentiment

パブリックの "ゲート付き" プレビュー (コンテナー レジストリ: containerpreview.azurecr.io)Public "Gated" Preview (container registry: containerpreview.azurecr.io)

Container プレビューのレジストリでは、Cognitive Services 向けに一般公開されている "ゲート付き" コンテナーをすべてホストしています。The Container Preview registry hosts all of the publicly available "gated" containers for Cognitive Services. これらのコンテナーについては、コンテナー レジストリ経由でアクセスするための正式なリクエストが必要となります。These containers require a formal request for access them via their container registry.

サービスService コンテナーContainer コンテナー レジストリ / リポジトリ / イメージ名Container Registry / Repository / Image Name
Anomaly DetectorAnomaly detector Anomaly DetectorAnomaly Detector containerpreview.azurecr.io/microsoft/cognitive-services-anomaly-detector
Computer VisionComputer Vision ReadRead containerpreview.azurecr.io/microsoft/cognitive-services-read
FaceFace FaceFace containerpreview.azurecr.io/microsoft/cognitive-services-face
Form recognizerForm recognizer Form RecognizerForm Recognizer containerpreview.azurecr.io/microsoft/cognitive-services-form-recognizer
Speech Service APISpeech Service API 音声テキスト変換Speech-to-text containerpreview.azurecr.io/microsoft/cognitive-services-speech-to-text
Speech Service APISpeech Service API カスタム音声変換Custom Speech-to-text containerpreview.azurecr.io/microsoft/cognitive-services-custom-speech-to-text
Speech Service APISpeech Service API テキスト読み上げText-to-speech containerpreview.azurecr.io/microsoft/cognitive-services-text-to-speech
Speech Service APISpeech Service API カスタム テキスト読み上げCustom Text-to-speech containerpreview.azurecr.io/microsoft/cognitive-services-custom-text-to-speech

前提条件Prerequisites

Azure Cognitive Services コンテナーを使用するには、次の前提条件を満たしている必要があります。You must satisfy the following prerequisites before using Azure Cognitive Services containers:

Docker エンジン: Docker エンジンをローカルにインストールしている必要があります。Docker Engine: You must have Docker Engine installed locally. Docker には、macOSLinuxWindows 上で Docker 環境を構成するパッケージが用意されています。Docker provides packages that configure the Docker environment on macOS, Linux, and Windows. Windows では、Linux コンテナーをサポートするように Docker を構成する必要があります。On Windows, Docker must be configured to support Linux containers. Docker コンテナーは、Azure Kubernetes Service または Azure Container Instances に直接デプロイできます。Docker containers can also be deployed directly to Azure Kubernetes Service or Azure Container Instances.

コンテナーが Azure に接続して課金データを送信できるように、Docker を構成する必要があります。Docker must be configured to allow the containers to connect with and send billing data to Azure.

Microsoft Container Registry と Docker に関する知識: レジストリ、リポジトリ、コンテナー、コンテナー イメージなどの Microsoft Container Registry と Docker の両方の概念の基本的な理解に加えて、基本的な docker コマンドの知識が必要です。Familiarity with Microsoft Container Registry and Docker: You should have a basic understanding of both Microsoft Container Registry and Docker concepts, like registries, repositories, containers, and container images, as well as knowledge of basic docker commands.

Docker やコンテナーの基礎に関する入門情報については、「Docker overview」(Docker の概要) を参照してください。For a primer on Docker and container basics, see the Docker overview.

個々のコンテナーには、サーバーやメモリ割り当ての要件など、独自の要件もある場合があります。Individual containers can have their own requirements, as well, including server and memory allocation requirements.

Azure Cognitive Services コンテナーのセキュリティAzure Cognitive Services container security

アプリケーションを開発するときは常にセキュリティを重視する必要があります。Security should be a primary focus whenever you're developing applications. セキュリティの重要性は成功の指標です。The importance of security is a metric for success. Cognitive Services コンテナーを含むソフトウェア ソリューションを設計する場合は、制限と使用できる機能を理解しておくことが重要です。When you're architecting a software solution that includes Cognitive Services containers, it's vital to understand the limitations and capabilities available to you. ネットワーク セキュリティの詳細については、「Azure Cognitive Services 仮想ネットワークを構成する」を参照してください。For more information about network security, see Configure Azure Cognitive Services virtual networks.

重要

既定では、Cognitive Services コンテナー API に "セキュリティはありません"。By default there is no security on the Cognitive Services container API. この理由は、ほとんどの場合、ネットワーク ブリッジによって外部から保護されるポッドの一部としてコンテナーが実行されるためです。The reason for this is that most often the container will run as part of a pod which is protected from the outside by a network bridge. ただし、クラウドベースの Cognitive Services にアクセスするときに使用する認証と同じように動作する認証を有効にすることができます。However, it is possible to enable authentication which works identically to the authentication used when accessing the cloud-based Cognitive Services.

次の図は、セキュリティで保護されていない既定のアプローチを示しています。The diagram below illustrates the default and non-secure approach:

コンテナーのセキュリティ

別の "セキュリティで保護された" アプローチとして、Cognitive Services コンテナーのコンシューマーでは、コンテナー エンドポイントを非公開に保ちながら、前面のコンポーネントを使用してコンテナーを補強できます。As an alternative and secure approach, consumers of Cognitive Services containers could augment a container with a front-facing component, keeping the container endpoint private. イングレス ゲートウェイとして Istio を使用するシナリオについて考えてみましょう。Let's consider a scenario where we use Istio as an ingress gateway. Istio は、HTTPS/SSL およびクライアント証明書の認証をサポートします。Istio supports HTTPS/SSL and client-certificate authentication. このシナリオでは、Istio のフロントエンドでコンテナー アクセスが公開され、事前に Istio でホワイトリストに登録されているクライアント証明書が提示されています。In this scenario, the Istio frontend exposes the container access, presenting the client certificate that is whitelisted beforehand with Istio.

Nginx は、同じカテゴリにあるもう 1 つの一般的な選択肢です。Nginx is another popular choice in the same category. Istio と Nginx はどちらもサービス メッシュとして機能し、負荷分散、ルーティング、レート制御などの追加機能が提供されます。Both Istio and Nginx act as a service mesh and offer additional features including things like load-balancing, routing, and rate-control.

コンテナー ネットワークContainer networking

Cognitive Services コンテナーは、課金のために使用状況測定情報を送信する必要があります。The Cognitive Services containers are required to submit metering information for billing purposes. 唯一の例外は、オフライン コンテナーです。それらは、異なる課金方法に従っているからです。The only exception, is Offline containers as they follow a different billing methodology. Cognitive Services コンテナーが依存しているさまざまなネットワーク チャネルの一覧表示を許可しないと、コンテナーは動作しなくなります。Failure to allow list various network channels that the Cognitive Services containers rely on will prevent the container from working.

Cognitive Services のドメインとポートの一覧表示を許可するAllow list Cognitive Services domains and ports

ホストは、ポート 443 と次のドメインの一覧表示を許可する必要があります。The host should allow list port 443 and the following domains:

  • *.cognitive.microsoft.com
  • *.cognitiveservices.azure.com

ディープ パケット インスペクションを無効にするDisable deep packet inspection

ディープ パケット インスペクション (DPI) は、コンピューター ネットワーク経由で送信されるデータを詳細に検査するデータ処理の一種であり、通常は、状況に応じてブロック、再ルーティング、またはログ記録を行うことによってアクションを実行します。Deep packet inspection (DPI) is a type of data processing that inspects in detail the data being sent over a computer network, and usually takes action by blocking, re-routing, or logging it accordingly.

Cognitive Services コンテナーによって Microsoft サーバーに作成される、セキュリティで保護されたチャネルでは DPI を無効にします。Disable DPI on the secure channels that the Cognitive Services containers create to Microsoft servers. そうしないと、コンテナーは正しく機能しません。Failure to do so will prevent the container from functioning correctly.

ブログ記事Blog posts

開発者向けサンプルDeveloper samples

開発者向けサンプルは、GitHub リポジトリから入手できます。Developer samples are available at our GitHub repository.

ウェビナーの閲覧View webinar

ウェビナーに参加して、以下について学習します。Join the webinar to learn about:

  • Docker を使用して任意のマシンに Cognitive Services をデプロイする方法How to deploy Cognitive Services to any machine using Docker
  • Cognitive Services を AKS にデプロイする方法How to deploy Cognitive Services to AKS

次のステップNext steps

Cognitive Services で使用できるコンテナー レシピについて学習します。Learn about container recipes you can use with the Cognitive Services.

Azure Cognitive Services のコンテナーによって提供される機能をインストールして試してください。Install and explore the functionality provided by containers in Azure Cognitive Services: