Azure portal を使用して Azure Data Share アカウントを別のリージョンに移動する

既存の Azure Data Share アカウントを別のリージョンに移動することが必要になるさまざまなシナリオがあります。 たとえば、新しいリージョンでテストするための Data Share アカウントを作成することが必要な場合があります。 ディザスター リカバリー計画の一部として、Data Share アカウントを別のリージョンに移動することが必要な場合もあります。

Azure Data Share アカウントをリージョン間で移動することはできません。 ただし、Azure Resource Manager テンプレートを使用して、既存の Data Share アカウントをエクスポートし、移動先リージョンに一致するようにパラメーターを変更してから、テンプレートを新しいリージョンにデプロイすることができます。 Resource Manager とテンプレートの詳細については、「クイック スタート: Azure portal を使用した Azure Resource Manager テンプレートの作成とデプロイ」を参照してください。

前提条件

  • Azure Data Share アカウントが、移動元の Azure リージョンにあることを確認します。
  • Azure Data Share アカウントはリージョン間で移動できません。 送信済み共有にデータセットを追加し直して、Data Share 受信者に招待を再送する必要があります。 受信済みの共有については、新しい招待の送信をデータ プロバイダーに要求する必要があります。

準備と移動

次の手順は、Resource Manager テンプレートを使用してポータルから新しい Data Share アカウントをデプロイする方法を示します。

テンプレートをエクスポートし、ポータルからデプロイする

  1. Azure ポータルにログインします。

  2. [すべてのリソース] を選択してから、Data Share アカウントを選択します

  3. [Automation]>[テンプレートのエクスポート] を選択します

  4. [テンプレートのエクスポート] ブレードで [デプロイ] を選択します。

  5. [パラメーターの編集] を選択して、オンライン エディターで parameters.json ファイルを開きます。

  6. 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>"
        }
       }
    }
    
  7. エディターで [保存] を選択します。

  8. [テンプレートの編集] を選択して、オンライン エディターで template.json ファイルを開きます。

  9. 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": {}
        }
    ]
    
  10. リージョンの場所コードを取得するには、「Azure の場所」を参照してください。 リージョンのコードは、スペースを含まないリージョン名です (Central US = centralus)。

  11. 必要に応じて、テンプレート内の他のパラメーターも変更できます。 要件によっては、これは省略可能です。

    • 送信済み共有 - template.json ファイルの resources セクションに共有を追加、またはそこから共有を削除することによって、どの送信済み共有がターゲットの Data Share アカウントにデプロイされるかを編集できます。
    "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 アカウントとリソースが新しいリージョンに移動したら、データセットを手動で追加し直す必要があります。

    重要

    "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>"
            }
        }
    ]
    
  12. オンライン エディターで [保存] を選択します。

  13. [プロジェクトの詳細] セクションで、[サブスクリプション] ドロップダウンから、ターゲットの Data Share アカウントがデプロイされるサブスクリプションを選択します。

  14. [リソース グループ] ドロップダウンを選択して、ターゲットの Data Share アカウントがデプロイされるリソース グループを選択します。 [新規作成] を選択すると、ターゲットの Data Share アカウント用の新しいリソース グループを作成できます。

  15. [場所] フィールドが、Data Share アカウントをデプロするターゲットの場所に設定されていることを確認します。

  16. [インスタンスの詳細] で、名前が上記のパラメーター エディターで入力した名前と一致することを確認します。

  17. [確認と作成] を選択して、次のページに進みます。

  18. 条件を確認し、[作成] を選択してデプロイを開始します。

  19. デプロイが完了したら、新しく作成した Data Share アカウントに移動します。

  20. テンプレートを使用してデータセットを転送できなかった場合、すべての送信済み共有にデータセットを追加し直す必要があります。

  21. 送信済み共有のすべての受信者に招待を再送し、共有のコンシューマーに、共有しているデータの受け入れとマッピングをやり直す必要があることを警告します。

確認

送信済み共有

  • ソースの Data Share アカウントのすべての送信済み共有が、ターゲットの Data Share アカウントに存在していることを確認します。
  • 送信済み共有ごとに、ソース共有のすべてのデータ セットがターゲット共有に存在していることを確認します。 存在しない場合、手動で追加し直す必要があります。
  • ソース アカウントの各送信済み共有のすべての共有サブスクリプションについて、受信者がまたデータにアクセスできるよう、共有のすべての受信者に招待を送信したことを確認します。

受信済み共有

  • ソースの Data Share アカウントのすべての受信済み共有について、新しい招待の送信をデータ プロバイダーに要求したことを確認します。
  • これらの招待を受け取ったら、データ セットを再マップし、スナップショットを実行してもう一度データにアクセスする必要があります。

ソース リソースをクリーンアップする

Data Share アカウントの移動を完了するには、ソースの Data Share アカウントを削除します。 これを行うには、Azure portal のダッシュボードからリソース グループを選択し、削除する Data Share アカウントに移動し、ページ上部の [削除] を選択します。

次の手順

このチュートリアルでは、Azure Data Share アカウントをあるリージョンから別のリージョンに移動し、元のリソースをクリーンアップしました。 リージョン間でのリソースの移動と Azure でのディザスター リカバリーの詳細については、以下を参照してください。