サブスクリプション間で Azure Machine Learning ワークスペースを移動する (プレビュー)

機械学習アプリケーションの要件が変更された場合は、ワークスペースを別の Azure サブスクリプションに移動することが必要になる場合があります。 たとえば、次の状況では、ワークスペースを移動することが必要になる場合があります。

  • テスト サブスクリプションから運用サブスクリプションにワークスペースを昇格させます。
  • アプリケーションの設計とアーキテクチャを変更します。
  • 使用可能なクォータを増やしたサブスクリプションにワークスペースを移動します。
  • 異なるコスト センターのサブスクリプションにワークスペースを移動します。

ワークスペースを移動すると、ワークスペースとそのコンテンツを 1 つの自動化された手順として移行できます。 次の表では、移動されるワークスペースのコンテンツについて説明します。

ワークスペースのコンテンツ ワークスペースと共に移動
データストア はい
データセット いいえ
実験ジョブ はい
環境 はい
ワークスペースに格納されているモデルとその他のアセット はい
コンピューティング リソース いいえ
エンドポイント いいえ

重要

ワークスペースの移動は現在パブリック プレビュー段階にあります。 このプレビュー版はサービス レベル アグリーメントなしで提供されています。運用環境のワークロードに使用することはお勧めできません。 特定の機能はサポート対象ではなく、機能が制限されることがあります。
詳しくは、Microsoft Azure プレビューの追加使用条件に関するページをご覧ください。

前提条件

  • ソース サブスクリプションの Azure Machine Learning ワークスペース。 詳細については、ワークスペース リソースの作成に関するページを参照してください。

  • ソースとターゲットの両方のサブスクリプションのリソースを管理するためのアクセス許可を持っている必要があります。 たとえば、サブスクリプション レベルの共同作成者または所有者のロールです。 ロールの詳細については、「Azure のロール」を参照してください。

    • ソースの場所からリソースを削除するには、アクセス許可が必要です。
    • コピー先の場所にリソースを作成するには、アクセス許可が必要です。
    • 移動は、コピー先の場所の Azure ポリシーに違反しないようにする必要があります。
    • ソース ワークスペース スコープへのロールの割り当ては移動されません。コピー先でそれらを再作成する必要があります。
  • 移動先のサブスクリプションが、リソース プロバイダーに登録されている必要があります。 次の表に、Azure Machine Learning で必要なリソース プロバイダーの一覧を示します。

    リソース プロバイダー 必要な理由
    Microsoft.MachineLearningServices Azure Machine Learning ワークスペースの作成。
    Microsoft.Storage Azure Storage アカウントは、ワークスペースの既定のストレージとして使用されます。
    Microsoft.ContainerRegistry Azure Container Registry は、Docker イメージを構築するためにワークスペースによって使用されます。
    Microsoft.KeyVault Azure Key Vault は、シークレットを格納するためにワークスペースによって使用されます。
    Microsoft.Notebooks/NotebookProxies Azure Machine Learning コンピューティング インスタンス上の統合されたノートブック。
    Microsoft.ContainerService トレーニング済みのモデルを Azure Kubernetes Service にデプロイすることを計画している場合。

    Azure Machine Learning でカスタマー マネージド キーを使用することを計画している場合は、以下のサービス プロバイダーを登録する必要があります。

    リソース プロバイダー 必要な理由
    Microsoft.DocumentDB/databaseAccounts ワークスペースのメタデータをログに記録する Azure Cosmos DB インスタンス。
    Microsoft.Search/searchServices Azure Search では、ワークスペースのインデックス作成機能を提供します。

    リソースプロバイダーの登録については、「リソースプロバイダー登録エラーの解決」を参照してください。

  • Azure CLI

    ヒント

    移動操作では、機械学習用の Azure CLI 拡張機能は使用されません。

サポートされるシナリオ

  • 同じリージョン内のリソース グループまたはサブスクリプション間の自動化されたワークスペースの移動。 詳細については、「新しいリソース グループまたはサブスクリプションへのリソースの移動」を参照してください。

    Note

    ワークスペースは移動前に休止状態にする必要があります。つまりコンピューティングは削除され、ライブ エンドポイントや実行中の実験がない状態です。

    Screenshot of the move resources steps in the Azure portal.

  • プライベート エンドポイントが構成されているワークスペースの移動がサポートされています。 プライベート エンドポイントは切断され、移動後に推移的なプライベート エンドポイントが再作成されます。 ただし、お客様には移動後に新しいプライベート エンドポイント (ワークスペース プライベート エンドポイントを含む) を承認する役割があります。

制限事項

  • ワークスペースの移動は、ワークスペースをレプリケートするためのものではなく、1 つのワークスペースから別のワークスペースへモデルやデータセットなどの個々の資産を移動するためのものでもありません。

  • ワークスペースの移動は、Azure リージョン間での移行をサポートしていません。

  • ワークスペースの移動は、Microsoft Entra テナント間での移行をサポートしていません。

    ヒント

    テナントを手動で移動する方法については、Azure サブスクリプションを別の Microsoft Entra ID に移動する方法について説明する記事を参照してください。

  • 移動操作中にワークスペースは使用しないでください。 すべての実験ジョブ、データ プロファイル ジョブ、プロジェクトのラベル付けが完了したことを確認します。 また、推論エンドポイントが呼び出されていないことを確認します。

  • 移動中は、ワークスペースは使用できなくなります。

  • 移動の前に、コンピューティングと推論のエンドポイントをワークスペースから削除するか、デタッチする必要があります。

  • データストアでは、移動後も古いサブスクリプション情報が引き続き表示される場合があります。 データストアを手動で更新する手順については、「シナリオ: 既定以外のデータストアを使用してワークスペースを移動する」を参照してください。

次のシナリオはサポートされていません

  • コンピューティングを含むワークスペース (既存のコンピューティングまたはコンピューティングの作成プロセスの途中)。
  • デプロイされたサービスを含むワークスペース。
  • オンライン エンドポイント/デプロイを含むワークスペース。
  • カスタマー マネージドキー用に構成されたワークスペース。
  • 現在実行中のラベル付けプロジェクトを含むワークスペース。
  • Azure Databricks とリンクされたワークスペース。
  • リージョン間のワークスペースの移動。

移動を準備して検証する

  1. Azure CLI で、元のワークスペースのサブスクリプションを設定します。

    az account set -s origin-sub-id
    
  2. 元のワークスペースが使用されていないことを確認します。 すべての実験ジョブ、データ プロファイル ジョブ、プロジェクトのラベル付けが完了したことを確認します。 また、推論エンドポイントが呼び出されていないことを確認します。

  3. ワークスペースからコンピューティングを削除またはデタッチし、推論エンドポイントを削除します。 コンピューティングおよびエンドポイントの移動はサポートされていません。 移動中は、ワークスペースは使用できなくなることにも注意してください。

  4. 新しいサブスクリプションで、移動先のリソース グループを作成します。 このリソース グループには、移動後のワークスペースが含まれます。 移動先は、移動元と同じリージョンにある必要があります。

    az group create -g destination-rg -l my-region --subscription destination-sub-id                  
    
  5. 次のコマンドは、ワークスペースの移動操作を検証する方法を示しています。 ストレージ アカウント、コンテナー レジストリ、キー コンテナーキー、Application Insights など、関連付けられているリソースを resources の一覧に追加することによって、移動に含めることができます。 検証には数分かかる場合があります。 このコマンドでは、origin-rg は移動元のソース グループで、destination-rg は移動先です。 次のように、サブスクリプション ID は origin-sub-iddestination-sub-id ですが、ワークスペースは origin-workspace-name です。

    az resource invoke-action --action validateMoveResources --ids "/subscriptions/origin-sub-id/resourceGroups/origin-rg" --request-body "{  \"resources\": [\"/subscriptions/origin-sub-id/resourceGroups/origin-rg/providers/Microsoft.MachineLearningServices/workspaces/origin-workspace-name\"],\"targetResourceGroup\":\"/subscriptions/destination-sub-id/resourceGroups/destination-rg\" }"
    

ワークスペースの移動

検証が正常に完了したら、ワークスペースを移動します。 また、関連付けられているリソースを ids パラメーターに追加することによって、移動操作に含めることもできます。 この操作には数分かかる場合があります。

az resource move --destination-group destination-rg --destination-subscription-id destination-sub-id --ids "/subscriptions/origin-sub-id/resourceGroups/origin-rg/providers/Microsoft.MachineLearningServices/workspaces/origin-workspace-name"

移動が完了したら、コンピューティングを再作成し、Web サービスのエンドポイントを新しい場所に再デプロイします。

シナリオ: 既定以外のデータストアを含むワークスペースを移動する

自動化されたワークスペース移動操作では、既定以外のデータストアは移動されません。 移動後にデータ ストアの資格情報を手動で更新するには、次の手順を使用します。

  1. Azure Machine Learning スタジオ内で [データ] を選択し、既定以外のデータ ストアを選択します。 それぞれの既定以外のデータ ストアについて、[サブスクリプション ID] フィールドと [リソース グループ名] フィールドが空であるかを確認します。 そうである場合は、[認証の更新] を選択します。

    Screenshot of the data asset overview.

    [データストア資格情報の更新] ダイアログで、ストレージ アカウントが移動されたサブスクリプション ID とリソース グループ名を選択した後に、[保存] を選択します。

    Screenshot of the update datastore credentials dialog.

  2. 既定以外のデータ資産に対してサブスクリプション ID フィールドとリソース グループ名フィールドが入力されていて、移動前のサブスクリプション ID とリソース グループを参照している場合は、次の手順を使用します。

    1. [データストア] タブに移動し、データストアを選択した後に、[登録解除] を選択します。

      Screenshot of the unregister datastore link.

    2. [作成] を選択して新しいデータストアを作成します。

      Screenshot of the create datastore link.

    3. [データストアの作成] ダイアログから、登録解除したデータストアと同じ名前、種類などを使用します。 新しい場所からサブスクリプション ID とストレージ アカウントを選択します。 最後に、[作成] を選択して新しいデータストア登録を作成します。

      Screenshot of the create dataset dialog.

次のステップ