Azure Kubernetes Service 推論環境をセキュリティで保護する

VNet の背後に Azure Kubernetes (AKS) クラスターがある場合は、同じ VNetかピアされたVNet を使用して Azure Machine Learning ワークスペースのリソースとコンピューティング環境をセキュリティで保護する必要があります。 この記事では、次の内容について説明します。

  • セキュリティで保護された AKS 推論環境とは
  • セキュリティで保護された AKS 推論環境を構成する方法

制限事項

  • AKS クラスターが VNet の背後にある場合、ワークスペースとその関連リソース (ストレージ、キー コンテナー、Azure Container Registry) には、AKS クラスターの VNet と同じ Vnet かピアされたVnet内にプライベート エンドポイントまたはサービス エンドポイントが必要です。 ワークスペースと関連するリソースのセキュリティ保護の詳細については、セキュリティで保護されたワークスペースの作成に関する記事を参照してください。
  • ワークスペースにプライベート エンドポイントがある場合、Azure Kubernetes Service クラスターは、ワークスペースと同じ Azure リージョンに存在する必要があります。
  • パブリックの完全修飾ドメイン名 (FQDN) とプライベート AKS クラスターを使用することは Azure Machine Learning ではサポートされていません

セキュリティで保護された AKS 推論環境とは

Azure Machine Learning AKS 推論環境は、ワークスペース、AKS クラスター、ワークスペースに関連付けられているリソース (Azure Storage、Azure Key Vault、Azure Container Services (ARC)) で構成されます。 次の表は、VNet がある場合とない場合で、サービスが Azure Machine Learning ネットワークのさまざまな部分にアクセスする方法を比較したものです。

シナリオ ワークスペース 関連リソース (ストレージ アカウント、Key Vault、ACR) AKS クラスター
仮想ネットワークなし パブリック IP パブリック IP パブリック IP
パブリックワークスペース、仮想ネットワーク内の他のすべてのリソース パブリック IP パブリック IP (サービス エンドポイント)
または
プライベート IP (プライベート エンドポイント)
プライベート IP
仮想ネットワーク内のリソースをセキュリティで保護 プライベート IP (プライベート エンドポイント) パブリック IP (サービス エンドポイント)
または
プライベート IP (プライベート エンドポイント)
プライベート IP

セキュリティで保護された AKS 推論環境では、AKS クラスターはプライベート エンドポイント (プライベート IP) のみを使用して Azure Machine Learning サービスのさまざまな部分にアクセスします。 次のネットワーク図は、プライベート AKS クラスターまたは既定の AKS クラスターが VNet の背後にある、セキュリティで保護された Azure Machine Learning ワークスペースを示しています。

セキュリティで保護された AKS 推論環境: AKS クラスターはプライベート エンドポイントを使用して、ワークスペースおよびその関連付けられたリソースを含む Azure Machine Learning サービスのさまざまな部分にアクセスします。

セキュリティで保護された AKS 推論環境を構成する方法

セキュリティで保護された AKS 推論環境を構成するには、AKS の VNet 情報が必要です。 VNet は、個別に作成することも、AKS クラスターのデプロイ中に作成することもできます。 VNet の AKS クラスターには、次の 2 つのオプションがあります。

  • 既定の AKS クラスターを VNet にデプロイする
  • プライベート AKS クラスターを VNet に作成する

既定の AKS クラスターでは、MC_[rg_name][aks_name][region] のリソース グループの下に VNet 情報を見つけることができます。

AKS クラスターの VNet 情報を入手し、ワークスペースが既にある場合は、次の手順に従って、セキュリティで保護された AKS 推論環境を構成します。

  • AKS クラスターの VNet 情報を使用して、ワークスペースで使用される Azure Storage アカウント、Azure Key Vault、Azure Container Registry の新しいプライベート エンドポイントを追加します。 これらのプライベート エンドポイントは、AKS クラスターと同じ VNet かピアされたVnetに存在する必要があります。 詳細については、 プライベート エンドポイントを使用したセキュリティで保護されたワークスペースに関する記事を参照してください。
  • Azure Machine Learning ワークロードによって使用される他のストレージがある場合は、そのストレージ用に新しいプライベート エンドポイントを追加します。 プライベート エンドポイントは、AKS クラスター と同じ VNet かピアされたVnetにあり、プライベート DNS ゾーンの統合が有効にされている必要があります。
  • ワークスペースに新しいプライベート エンドポイントを追加します。 このプライベート エンドポイントは、AKS クラスター と同じ VNet かピアされたVnetにあり、プライベート DNS ゾーンの統合が有効にされている必要があります。

AKS クラスターの準備ができているが、ワークスペースがまだ作成されていない場合は、ワークスペースの作成時に AKS クラスターの VNet を使用できます。 セキュリティで保護されたワークスペースの作成に関するチュートリアルに従うときは、AKS クラスターの VNet 情報を使用します。 ワークスペースが作成されたら、最後の手順として新しいプライベート エンドポイントをワークスペースに追加します。 上記のすべての手順では、すべてのプライベート エンドポイントが同じ AKS クラスターの VNet に存在し、プライベート DNS ゾーン統合が有効になっているようにすることが重要です。

セキュリティで保護された AKS 推論環境を構成するための特別な注意:

  • プライベート エンドポイントを使用するストレージ アカウントでは、システム割り当てマネージド ID を使用したアクセスのみが許可されるため、ワークスペースの作成時にはシステム割り当てマネージド ID を使用します。
  • AKS クラスターを HBI ワークスペースにアタッチする場合は、Storage Blob Data ContributorStorage Account Contributor の両方のロールを持つシステム割り当てマネージド ID を割り当てます。
  • ワークスペースによって作成された既定の ACR を使用している場合は、ACR の Premium SKU があることを確認します。 また、Firewall exception を有効にして、信頼された Microsoft サービスによる ACR へのアクセスを許可します。
  • ワークスペースも VNet の背後にある場合は、「ワークスペースに安全に接続する」の手順に従ってワークスペースにアクセスします。
  • ストレージ アカウントのプライベート エンドポイントの場合は、Allow Azure services on the trusted services list to access this storage account を必ず有効にしてください。

Note

VNet の背後にある AKS を停止して再起動した場合は、次の手順を実行する必要があります。

  1. まず、「Azure Kubernetes Service (AKS) クラスターの停止と起動」の手順に従って、このクラスターにリンクされているプライベート エンドポイントを削除して再作成します。
  2. 次に、この AKS からアタッチされた Kubernetes コンピューティングをワークスペースに再アタッチします。

上記の手順を行わないと、この AKS クラスターへのエンドポイントまたはデプロイの作成、更新、削除は失敗します。

次の手順

この記事は、Azure Machine Learning ワークフローのセキュリティ保護に関するシリーズの一部です。 このシリーズの他の記事は次のとおりです。