🔐
Azure Machine Learning の Private Link 対応
はじめに
Microsoft が提供するクラウドの機械学習プラットフォーム Azure Machine Learning において、エンタープライズ機能が成熟してきました。特に Ignite 2020 において、Private Link 対応が GA (一般提供) が発表され、よりセキュアなネットワーク環境を利用できるようになりました。
本ブログでは、Azure Machine Learning の Private Link 利用時のアーキテクチャや仕組みの概要についてまとめます。
構成図
構成図の概要は以下のとおりです。
- Microsoft Managed (左上)
- リソース
- Azure Machine Learning Workspace / Azure Batch Services / AKS Control Plane
- Microsoft Subscription にデプロイされている。ユーザの Azure Portal からは見れない。
- リソース
- Microsoft Managed (右下)
- リソース
- Compute Cluster / Compute Instance
- Customer Subscription にデプロイされている。ユーザの Azure Portal からは見れない。
- ユーザの VNET 配下に配置
- リソース
- 関連サービス (右下)
- リソース
- Azure Storage / Azure KeyVault / Azure Container Registry
- ユーザの VNET から Service Endpoint or Private Link で接続
- Microsoft Subscription にある Machine Learning Workspace から Azure Container Registry に対して Private Link で接続
- Azure Storage と Azure KeyVault に対しては "信頼された Microsoft サービスからのアクセスを許可する" ことで接続
- リソース
構築方法
ARM Template 201-Machine-Learning Advanced の利用が推奨とのこと。
テンプレートの利用方法
私は、Azure Portal から本テンプレート指定でデプロイしました.手順は下記のとおり。
Deploy resources from custom template
気になった点
- ARM Template パラメータ
- SKU の選択において Basic もしくは Enterprise が選択できますが、Enterprise は廃止されて Basic に全て統合されると発表がありました。なので、Basic を選んで問題ないです。
- ユーザーの VNET から Azure Container Registry への接続
- 現状 Service Endpoint を利用しています。今後 Private Link のテンプレートになるかもしれません。
- Azure Portal の Azure Container Registry の画面からは確認できないので、VNET の 「設定」 -> 「サービスエンドポイント」 から確認。
- Azure Container Registry は Private Link の利用が推奨されている
- 現状 Service Endpoint を利用しています。今後 Private Link のテンプレートになるかもしれません。
- Private DNS Zone が 2 つ作成される
- privatelink.api.azureml.ms : Azure ML Workspace を指す
- privatelink.notebooks.azure.net : Integrated Notebook を指す
制限事項
- 全てのリソースは同じ VNET に配置されること。Subnet は跨っても OK。
- Azure ML に付随する Azure Storage が Private Link 接続されている場合の、Azure ML studio は未対応 (Python SDK は対応)
- Compute Instances / Compute Cluster の Private IP 対応
- 現状は Public IP も保有。Private IP のみはロードマップにあり (2020年内 Preview 予定)。
- Private Link 接続された Azure ML studio において ...
- ML assisted labeling : 利用不可の場合あり
- デフォルトの Storage が VNET 対応しているときは利用できない
- Integrated Notebook : 利用不可の場合あり
- デフォルトの Storage が VNET 対応しているときは利用できない
- ML assisted labeling : 利用不可の場合あり
変更履歴
2020年10月9日(金) : 初期投稿
参考
- ネットワークセキュリティ概要 - Virtual network isolation and privacy overview | Microsoft Docs
- Ignite 2020 セッション - E2E machine learning for enterprises in a secure way
Discussion