Azure SQL Database リソースを別のリージョンに移動する

このチュートリアルでは、Azure Resource Mover を使って、Azure SQL データベースとエラスティック プールを別の Azure リージョンに移動する方法について説明します。

このチュートリアルでは、次の作業を行う方法について説明します。

  • Azure SQL データベースやエラスティック プールを異なる Azure リージョンに移動する

Note

各チュートリアルでは、シナリオを試すための最も簡単な方法を紹介し、既定のオプションを使用します。

前提条件

作業を開始する前に、次のことを行います。

  • 移動するリソースを含むサブスクリプションに "所有者" アクセス権があることを確認します。
    • Azure サブスクリプションの特定のソースと宛先のペアに対してリソースを初めて追加すると、Resource Mover では、サブスクリプションによって信頼されているシステム割り当てマネージド ID (旧称: Managed Service ID (MSI)) が作成されます。
    • ID を作成し、必要なロール (ソース サブスクリプションの共同作成者またはユーザー アクセス管理者) に割り当てるには、リソースを追加するのに使用するアカウントに、サブスクリプションに対する "所有者" 権限が必要です。 Azure ロールの詳細については、こちらを参照してください
  • ターゲット リージョンで移動するリソースを作成するのに十分なクォータがサブスクリプションにあるかどうかを確認します。 クォータがない場合は、上限の引き上げを依頼してください。
  • リソースの移動先となるターゲット リージョンに関連付けられている料金と課金を確認します。 料金計算ツールを使用すると便利です。

Azure へのサインイン

Azure サブスクリプションをお持ちでない場合は、開始する前に 無料アカウント を作成してください。 次に、Azure Portal にサインインします。

SQL の要件を確認する

移動前に SQL の要件を確認するには:

  1. 別のリージョンへの移動でサポートされているデータベースまたはエラスティック プールの機能を確認します。
  2. ターゲット リージョンで、各ソース サーバーに対してターゲット サーバーを作成し、適切なユーザー アクセス権を確認します。 ログインとユーザーの構成方法については、こちらを参照してください
  3. Transparent Data Encryption (TDE) を使ってデータベースが暗号化されているかどうかを確認します。 データベースが Transparent Data Encryption を使って暗号化されており、Azure Key Vault で独自の暗号化キーを使う場合は、キー コンテナーを別のリージョンに移動する方法を参照してください
  4. SQL データ同期が有効になっている場合は、メンバー データベースの移動がサポートされています。 移動後、新しいターゲット データベースへの SQL データ同期を設定する必要があります。
  5. 移動前に、高度なデータ セキュリティ設定を削除します。 移動後、ターゲット リージョンの SQL Server レベルで設定を構成します。
  6. 監査が有効になっている場合は、移動後にポリシーが既定にリセットされます。 移動後に再度監査を設定します。
  7. ソース データベースのバックアップ保有ポリシーは、ターゲット データベースに引き継がれます。 移動後に設定を変更する方法の詳細について、こちらを参照してください
  8. 移動前に、サーバーレベルのファイアウォール規則を削除します。 移動中に、データベースレベルのファイアウォール規則がソース サーバーからターゲット サーバーにコピーされます。 移動後にターゲット リージョンの SQL Server に対してファイアウォール規則を設定します。
  9. 移動前に自動チューニング設定を削除します。 移動後に再度自動チューニングを設定します。
  10. 移動前に、データベースのアラート設定を削除します。 移動後に再設定します

リソースを選択する

選択したソース リージョンの任意のリソース グループで、サポートされている任意のリソースの種類を選択できます。 ソース リージョンと同じサブスクリプションのターゲット リージョンにリソースを移動します。 サブスクリプションを変更する場合は、リソースの移動後に変更を行うことができます。

移動するリソースを選ぶには、次の手順を実行します。

  1. Azure portal で、Resource Mover を検索します。 その後、 [サービス][Azure Resource Mover] を選択します。

    Azure portal の resource mover の検索結果を示すスクリーンショット。

  2. Azure Resource Mover の [概要] ペインで、 [Move across regions](リージョン間で移動する) を選択します。

    他のリージョンに移動するリソースを追加するボタンを示すスクリーンショット。

  3. [リソースの移動]>[ソースと接続先] で次の手順を実行します。

    1. ソースの [サブスクリプション][リージョン] を選びます。
    2. [宛先] で、リソースの移動先となるリージョンを選びます。 [次へ] を選択します。

    ソースと宛先のリージョンを選ぶページを示すスクリーンショット。

  4. [リソースの移動]>[移動するリソース] で次の手順を実行します。

    1. [リソースの選択] に移動します。

    2. [リソースの選択] ペインでリソースを選びます。 追加できるのは、移動がサポートされているリソースのみです。 [完了] を選択します。

      移動する SQL リソースを選ぶページを示すスクリーンショット。

    3. [移動するリソース] で、 [次へ] を選択します。

  5. [確認 + 追加] で、ソースと宛先の設定を確認します。 移動に関するメタデータが、メタデータ リージョン内のこの目的のために作成されたリソース グループに格納されることを理解していることを確認します。

    設定を確認し、移動を続行するページを示すスクリーンショット。

  6. [続行] を選んで、リソースの追加を開始します。

  7. 追加プロセスが正常に完了した後、通知アイコンの [Adding resources for move] (移動するリソースの追加) を選びます。

  8. 通知を選んだら、[Across regions] (リージョン間) ページでリソースを確認します。

注意

  • これで、SQL Server は "手動割り当てが保留中" の状態になります。
  • 追加されたその他のリソースは、"準備が保留中" の状態にあります。
  • 移動コレクションからリソースを削除する場合、その方法は移動プロセスのどの段階であるかによって異なります。 詳細については、こちらを参照してください

依存関係を解決する

移動する依存リソースを解決するには、次の手順を実行します。

  1. リソースを追加すると、依存関係はバックグラウンドで自動検証されます。 最初の自動検証で問題が解決しない場合は、[依存関係の検証] オプションが表示されるので、それを選択して手動で検証します。

  2. 依存関係が見つかった場合は、 [依存関係の追加] を選択します。

    依存関係を追加するボタンを示すスクリーンショット。

  3. [依存関係の追加] で、依存リソース、[依存関係の追加] の順に選択します。 通知で進行状況を監視できます。

  4. 依存関係を追加すると、その依存関係はバックグラウンドで自動検証されます。 [Validate dependencies] (依存関係の検証) オプションが表示された場合は、それを選んで手動検証をトリガーします。

  5. [Across regions] (リージョン間) ページで、リソースが現在 "準備が保留中" の状態であり、問題がないことを確認します。

    準備が保留中の状態であるリソースを示すページが表示されているスクリーンショット。

SQL サーバーを移動する

現在、Azure Resource Mover はリージョンをまたがる SQL サーバーの移動を行いません。 まずターゲット リージョンでターゲット SQL サーバーを割り当ててから、移動をコミットする必要があります。

宛先リソースを手動で割り当てるには、次の手順を実行します。

  1. ターゲット SQL サーバーを割り当てる - ターゲット SQL サーバーを割り当てるには、次の手順を実行します。

    1. [Across regions] (リージョン間) で、SQL Server リソースの [Destination configuration] (宛先の構成) 列にある [Resource not assigned] (リソースが割り当てられていません) を選びます。

    2. ターゲット リージョンの既存の SQL Server リソースを選択します。

      SQL Server の状態が

    注意

    ソース SQL Server の状態が "移動のコミットが保留中" に変わります。

  2. SQL サーバーの移動をコミットする - ターゲット SQL サーバーをコミットして移動プロセスを完了するには、次の手順を実行します。

    1. [Across regions] (リージョン間) で SQL Server を選び、[Commit move] (移動のコミット) を選びます。

    2. [Commit resources](リソースのコミット) で、 [コミット] を選択します。

      SQL サーバーの移動をコミットするページを示すスクリーンショット。

    3. 通知バーで移動の進行状況を追跡します。

    注意

    コミットが完了すると、SQL Server は "ソースの削除が保留中" の状態になります。

移動するリソースを準備する

ソース SQL Server が移動されたので、他のリソースを移動する準備を行うことができます。

エラスティック プールを準備する

移動のためにエラスティック プールを準備するには、次の手順を実行します。

  1. [Across regions] (リージョン間) でソース エラスティック プール (このチュートリアルでは demo-test1-elasticpool) を選び、[準備] を選びます。

    リソースを準備するボタンを示すスクリーンショット。

  2. [リソースの準備] で、 [準備] を選択します。

  3. 準備処理が正常に完了したことを示す通知が表示されたら、[更新] を選びます。

注意

これで、エラスティック プールは "移動の開始が保留中" の状態になります。

単一のデータベースを準備する

移動のために単一データベースを準備するには、次の手順を実行します。

  1. [Across regions] (リージョン間) で (エラスティック プール内ではなく) 単一のデータベースを選び、[準備] を選びます。

    選んだリソースを準備するボタンを示すスクリーンショット。

  2. [リソースの準備] で、 [準備] を選択します。

  3. 準備処理が正常に完了したことを示す通知が表示されたら、[更新] を選びます。

注意

これで、データベースは "移動の開始が保留中" の状態になり、ターゲット リージョン内に作成されました。

プールを移動し、プール データベースを準備する

エラスティック プール内のデータベースを準備するには、エラスティック プールが "移動のコミットが保留中" の状態にある必要があります この状態に移行するには、プールの移動を開始します。

移動の開始 - エラスティック プール

エラスティック プールの移動を開始するには、次の手順を実行します。

  1. [Across regions] (リージョン間) でソース エラスティック プール (このチュートリアルでは demo-test1-elasticpool) を選び、[移動の開始] を選びます。

  2. [リソースの移動] で、 [移動の開始] を選択します。

    エラスティック プールの移動を開始するボタンを示すスクリーンショット。

  3. 通知バーで移動の進行状況を追跡します。

  4. 移動が正常に完了したことを示す通知が表示されたら、 [更新] を選択します。

注意

これで、エラスティック プールは "移動のコミットが保留中" の状態になります。

データベースを準備する

移動のためにデータベースを準備するには、次の手順を実行します。

  1. [Across regions] (リージョン間) でデータベース (このチュートリアルでは demo-test2-sqldb) を選び、[準備] を選びます。

  2. [リソースの準備] で、 [準備] を選択します。

    エラスティック プールにデータベースを準備するボタンを示すスクリーンショット。

準備段階中に、ターゲット リージョン内にターゲット データベースが作成され、データ レプリケーションが始まります。 準備が完了すると、データベースは "移動の開始が保留中" の状態になります。

エラスティック プール内の選択されたデータベースを準備するボタンを示すスクリーンショット。

データベースの移動

リソースの準備が完了したら、移動を開始できます。

データベースを移動するには、次の手順を実行します。

  1. [Across regions](リージョン間) で、"移動の開始が保留中" 状態のリソースを選択します。 次に、 [移動の開始] を選択します。

  2. [リソースの移動] で、 [移動の開始] を選択します。

    移動を開始するページを示すスクリーンショット。

  3. 通知バーで移動の進行状況を追跡します。

注意

これで、データベースは "移動のコミットが保留" の状態になります。

移動をコミットまたは破棄する

最初の移動後に、移動をコミットするか、破棄するかを決定できます。

  • 破棄: テストする場合は移動を破棄できますが、実際にはソース リソースを移動したくありません。 移動を破棄すると、リソースが "移動の開始が保留中" の状態に戻ります。
  • コミット:コミットすると、ターゲット リージョンへの移動が完了します。 コミット後、ソース リソースは "ソースの削除が保留中" の状態になり、削除するかどうかを決定できます。

移動を破棄する

移動を破棄するには、次の手順を実行します。

  1. [Across regions](リージョン間) で、"移動のコミットが保留中" 状態のリソースを選択し、 [移動の破棄] を選択します。
  2. [移動の破棄] で、 [破棄] を選択します。
  3. 通知バーで移動の進行状況を追跡します。

注意

  • リソースを破棄した後、リソースは "移動の開始が保留中" の状態になります。
  • エラスティック プールのみが存在する場合は、破棄が進行し、ターゲット リージョンに作成されたエラスティック プールが削除されます。
  • データベースが関連付けられているエラスティック プールが "移動のコミットが保留中" の状態にある場合、エラスティック プールを破棄することはできません。
  • SQL データベースを破棄しても、ターゲット リージョンのリソースは削除されません。

破棄後にもう一度移動を開始する場合は、SQL データベースまたはエラスティック プールを選び、移動を再度開始します。

移動をコミットする

次の手順に従って、データベースとエラスティック プールの移動を完了します。

  1. SQL Server が "ソースの削除が保留中" の状態になっていることを確認します。

  2. コミットする前に、データベース接続文字列をターゲット リージョンに更新します。

  3. [Across regions] (リージョン間) で SQL リソースを選び、[Commit move] (移動のコミット) を選びます。

  4. [Commit resources](リソースのコミット) で、 [コミット] を選択します。

    コミットの移動を示すスクリーンショット。

  5. 通知バーでコミットの進行状況を追跡します。

注意

コミット処理中に SQL データベースのダウンタイムが発生することがあります。 これで、コミットされたデータベースおよびエラスティック プールは "ソースの削除が保留中" の状態になります。 コミット後、ターゲット データベースでファイアウォール規則、ポリシー、アラートなどのデータベース関連の設定を更新します。

コミット後にソース リソースを削除する

移動後に、必要に応じて、ソース リージョンのリソースを削除できます。

注意

SQL Server サーバーは、ポータルからは削除できません。リソースのプロパティ ページから削除する必要があります。

  1. [Across Regions] (リージョン間) ペインで、削除するソース リソースの名前を選びます。
  2. [ソースの削除] を選択します。

次の手順

Azure VM の別リージョンへの移行について確認します