仮想ネットワークを使用して Azure Machine Learning 推論環境をセキュリティで保護する
この記事では、Azure Machine Learning で仮想ネットワークを使用して、推論環境 (オンライン エンドポイント) をセキュリティで保護する方法について説明します。 VNet を使用してセキュリティで保護できる推論オプションは 2 つあります。
Azure Machine Learning マネージド オンライン エンドポイント (プレビュー)
ヒント
マネージド オンライン エンドポイントをセキュリティで保護する場合、Microsoft では、この記事の手順ではなく、Azure Machine Learning のマネージド仮想ネットワークの使用をお勧めします。 マネージド仮想ネットワークを使用すると、Azure Machine Learning はワークスペースとマネージド コンピューティングのネットワーク分離のジョブを処理します。 また、ワークスペースに必要なリソース (Azure Storage アカウントなど) のプライベート エンドポイントを追加することもできます。 詳しくは、ワークスペースのマネージド ネットワーク分離に関する記事をご覧ください。
Azure Kubernetes Service
ヒント
この記事は、Azure Machine Learning ワークフローのセキュリティ保護に関するシリーズの一部です。 このシリーズの他の記事は次のとおりです。
- Virtual Network の概要
- ワークスペース リソースをセキュリティで保護する
- トレーニング環境をセキュリティで保護する
- スタジオの機能を有効にする
- カスタム DNS を使用する
- ファイアウォールを使用する
安全なワークスペースの作成に関するチュートリアルについては、「チュートリアル: 安全なワークスペースを作成する」、「Bicep テンプレート」、または「Teraform テンプレート」を参照してください。
前提条件
一般的な仮想ネットワークのシナリオと全体的な仮想ネットワーク アーキテクチャについては、ネットワーク セキュリティの概要に関するページを参照してください。
Azure Machine Learning ワークスペースをセキュリティで保護するために使用される既存の仮想ネットワークとサブネット。
リソースを仮想ネットワークまたはサブネットにデプロイするには、ご利用のユーザー アカウントが、Azure ロールベースのアクセス制御 (Azure RBAC) で次のアクションへのアクセス許可を保持している必要があります。
- 仮想ネットワーク リソースの "Microsoft.Network/*/read"。 このアクセス許可は、Azure Resource Manager (ARM) テンプレートのデプロイには必要ありません。
- 仮想ネットワーク リソース上の "Microsoft.Network/virtualNetworks/join/action"。
- サブネット リソース上の "Microsoft.Network/virtualNetworks/subnets/join/action"。
ネットワークでの Azure RBAC の詳細については、ネットワークの組み込みロールに関するページを参照してください
- Azure Kubernetes Service (AKS) を使用する場合は、Azure Kubernetes Service の推論環境のセキュリティ保護に関する記事の説明に従って、既存の AKS クラスターをセキュリティで保護する必要があります。
マネージド オンライン エンドポイントをセキュリティ保護する
マネージド オンライン エンドポイントのセキュリティ保護の詳細については、「マネージド オンライン エンドポイントでネットワークの分離を使用する」の記事を参照してください。
Azure Kubernetes Service オンライン エンドポイントをセキュリティで保護する
セキュリティで保護された推論に Azure Kubernetes Service クラスターを使用するには、次の手順に従います。
セキュリティで保護された Kubernetes 推論環境を作成または構成します。
Azure Machine Learning 拡張機能をデプロイする。
Kubernetes オンライン エンドポイントを使用したモデルのデプロイは、CLI v2、Python SDK v2、Studio UI を使用して実行できます。
- CLI v2 - https://github.com/Azure/azureml-examples/tree/main/cli/endpoints/online/kubernetes
- Python SDK V2 - https://github.com/Azure/azureml-examples/tree/main/sdk/python/endpoints/online/kubernetes
- Studio UI - Studio を使用した マネージド オンライン エンドポイントのデプロイの手順に従います。 [エンドポイント名] を入力した後、コンピューティングの種類として [Kubernetes] を選びます ([マネージド] を選ばないでください)。
仮想ネットワークからのアウトバウンド接続を制限する
既定のアウトバウンド規則を使用せずに仮想ネットワークのアウトバウンド アクセスを制限する場合は、Azure Container Registry へのアクセスを許可する必要があります。 たとえば、ネットワーク セキュリティ グループ (NSG) に AzureContainerRegistry.RegionName サービス タグへのアクセスを許可する規則が含まれていることを確認してください。ここで、`{RegionName} は Azure リージョンの名前です。
次のステップ
この記事は、Azure Machine Learning ワークフローのセキュリティ保護に関するシリーズの一部です。 このシリーズの他の記事は次のとおりです。