Azure portal を使用して Azure Data Share アカウントを別のリージョンに移動する
Azure Data Share アカウントをリージョン間で移動することはできません。 ただし、Azure Resource Manager テンプレートを使用して、既存の Data Share アカウントをエクスポートし、移動先リージョンに一致するようにパラメーターを変更してから、テンプレートを新しいリージョンにデプロイすることができます。 Resource Manager とテンプレートの詳細については、「クイック スタート: Azure portal を使用した Azure Resource Manager テンプレートの作成とデプロイ」を参照してください。
この記事では、テンプレートを使用して既存の Data Share アカウントをエクスポート、変更、デプロイするプロセスについて説明します。
前提条件
- Azure Data Share アカウントが、移動元の Azure リージョンにあることを確認します。
- Azure Data Share アカウントはリージョン間で移動できません。 送信済み共有にデータセットを追加し直して、Data Share 受信者に招待を再送する必要があります。 受信した共有については、データ プロバイダーから新しい招待を送信するよう要求する必要があります。
準備と移動
次の手順は、Resource Manager テンプレートを使用してポータルから新しい Data Share アカウントをデプロイする方法を示します。
テンプレートをエクスポートし、ポータルからデプロイする
Azure Portal にログインします。
[すべてのリソース] を選択してから、Data Share アカウントを選択します
[Automation]>[テンプレートのエクスポート] を選択します
[テンプレートのエクスポート] ウィンドウで [デプロイ] を選択します。
[パラメーターの編集] を選択して、オンライン エディターで parameters.json ファイルを開きます。
Data Share アカウント名のパラメーターを編集するには、parameters>value 以下のプロパティを、ソースの Data Share アカウントの名前から、新しいリージョンに作成する Data Share アカウントの名前に変更し、名前が引用符で囲まれていることを確認します。
{ "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentParameters.json#", "contentVersion": "1.0.0.0", "parameters": { "accounts_my_datashare_account_name": { "value": "<target-datashare-account-name>" } } }
エディターで [保存] を選択します。
[テンプレートの編集] を選択して、オンライン エディターで template.json ファイルを開きます。
Data Share アカウントを移動するターゲット リージョンを編集するには、オンライン エディターで resources の下の location プロパティを変更します。
"resources": [ { "type": "Microsoft.DataShare/accounts", "apiVersion": "2021-08-01", "name": "[parameters('accounts_my_datashare_account_name')]", "location": "<target-region>", "identity": { "type": "SystemAssigned" } "properties": {} } ]
リージョンの場所コードを取得するには、「Azure の場所」を参照してください。 リージョンのコードは、スペースを含まないリージョン名です (Central US = centralus)。
必要に応じて、テンプレート内の他のパラメーターも変更できます。 要件によっては、これは省略可能です。
- 送信済み共有 - template.json ファイルの resources セクションに共有を追加または削除することで、ターゲットデータ共有アカウントにデプロイされている送信済み共有を編集できます。
"resources": [ { "type": "Microsoft.DataShare/accounts/shares", "apiVersion": "2021-08-01", "name": "[concat(parameters('accounts_my_datashare_account_name'), '/test_sent_share')]", "dependsOn": [ "[resourceId('Microsoft.DataShare/accounts', parameters('accounts_my_datashare_account_name'))]" ], "properties": { "shareKind": "CopyBased" } }, ]
- 送信済み共有の招待 - template.json ファイルの resources セクションに招待を追加、またはそこから招待を削除することによって、どの招待がターゲットの Data Share アカウントにデプロイされるかを編集できます。
"resources": [ { "type": "Microsoft.DataShare/accounts/shares/invitations", "apiVersion": "2021-08-01", "name": "[concat(parameters('accounts_my_datashare_account_name'), '/test_sent_share/blob_snapshot_jsmith_microsoft_com')]", "dependsOn": [ "[resourceId('Microsoft.DataShare/accounts/shares', parameters('accounts_my_datashare_account_name'), 'test_sent_share')]", "[resourceId('Microsoft.DataShare/accounts', parameters('accounts_my_datashare_account_name'))]" ], "properties": { "targetEmail": "jsmith@microsoft.com" } } ]
データセット - template.json ファイルの resources セクションにデータセットを追加、またはそこからデータセットを削除することによって、どのデータセットがターゲットの Data Share アカウントにデプロイされるかを編集できます。 BlobFolder データセットの例を次に示します。
データセットに含まれるリソースも新しいリージョンに移動する場合は、template.json ファイルからデータセットを削除し、データセット内で参照されている Data Share アカウントとリソースが新しいリージョンに移動されたら、それらを手動で読み取る必要があります。
重要
- デプロイする新しい Data Share アカウントが、データセットにアクセスするための必要なアクセス許可を自動的に継承しない場合、データセットのデプロイは失敗します。 必要なアクセス許可は、データセットの種類によって異なります。 Azure Synapse Analytics および Azure SQL Database データセットに必要なアクセス許可については、こちらを参照してください。 Azure Storage データセットと Azure Data Lake Gen1 および Gen2 データセットに必要なアクセス許可については、こちらを参照してください。
"resources": [ { "type": "Microsoft.DataShare/accounts/shares/dataSets", "apiVersion": "2021-08-01", "name": "[concat(parameters('accounts_my_datashare_account_name'), '/blobpath/directory')]", "dependsOn": [ "[resourceId('Microsoft.DataShare/accounts/shares', parameters('accounts_my_datashare_account_name'), 'blobpath')]", "[resourceId('Microsoft.DataShare/accounts', parameters('accounts_my_datashare_account_name'))]" ], "kind": "BlobFolder", "properties": { "containerName": "<container-name>", "prefix": "<prefix>" "subscriptionId": "<subscription-id>", "resourceGroup": "<resource-group-name>", "storageAccountName": "<storage-account-name>" } } ]
オンライン エディターで [保存] を選択します。
[プロジェクトの詳細] セクションで、[サブスクリプション] ドロップダウンから、ターゲットの Data Share アカウントがデプロイされるサブスクリプションを選択します。
[リソース グループ] ドロップダウンを選択して、ターゲットの Data Share アカウントがデプロイされるリソース グループを選択します。 [新規作成] を選択すると、ターゲットの Data Share アカウント用の新しいリソース グループを作成できます。
[場所] フィールドが、Data Share アカウントをデプロするターゲットの場所に設定されていることを確認します。
[インスタンスの詳細] で、名前が上記のパラメーター エディターで入力した名前と一致することを確認します。
[確認と作成] を選択して、次のページに進みます。
条件を確認し、[作成] を選択してデプロイを開始します。
デプロイが完了したら、新しく作成した Data Share アカウントに移動します。
テンプレートを使用してデータセットを転送できなかった場合は、すべての送信済み共有にデータセットを読み取る必要があります。
送信した共有のすべての受信者に招待を再送信し、共有のコンシューマーに、共有しているデータを再受信して再マップする必要があることを通知します。
確認
送信済み共有
- ソースの Data Share アカウントのすべての送信済み共有が、ターゲットの Data Share アカウントに存在していることを確認します。
- 送信済み共有ごとに、ソース共有のすべてのデータ セットがターゲット共有に存在していることを確認します。 そうでない場合は、手動で読み取る必要があります。
- ソース アカウントで送信された各共有のすべての共有サブスクリプションについて、共有のすべての受信者に招待を送信したことを確認して、データに再度アクセスできるようにします。
受信済み共有
- ソースの Data Share アカウントのすべての受信済み共有について、新しい招待の送信をデータ プロバイダーに要求したことを確認します。
- これらの招待を受け取ったら、データ セットを再マップし、スナップショットを実行してデータに再度アクセスする必要があります。
ソース リソースをクリーンアップする
Data Share アカウントの移動を完了するには、ソースの Data Share アカウントを削除します。 これを行うには、Azure portal のダッシュボードからリソース グループを選択し、削除する Data Share アカウントに移動し、ページ上部の [削除] を選択します。
次のステップ
このチュートリアルでは、Azure Data Share アカウントをあるリージョンから別のリージョンに移動し、元のリソースをクリーンアップしました。 リージョン間でのリソースの移動と Azure でのディザスター リカバリーの詳細については、以下を参照してください。