次の方法で共有


可用性グループを Azure VM 上のSQL Serverに移行する

対象:Azure 仮想マシン上の SQL Server

この記事では、Azure Migrate: Server Migration tool を使用して、SQL Server Always On 可用性グループを Azure 仮想マシン (VM) 上のSQL Serverに移行する方法について説明します>。 移行ツールを使用すると、可用性グループ内の各レプリカを、クラスター メタデータ、可用性グループのメタデータ、およびその他の必要な高可用性コンポーネントと共に、SQL ServerをホストするAzure仮想マシンに移行できます。

この記事では、次のことについて説明します。

  • 移行のためにAzureとソース環境を準備します。
  • サーバーのレプリケートを開始します。
  • レプリケーションを監視します。
  • 完全なサーバーの移行を実行します。
  • AlwaysOn 可用性グループを再構成します。

このガイドでは、任意のサーバーまたは仮想マシンを物理サーバーとして扱う、Azure Migrateのエージェント ベースの移行アプローチを使用します。 物理マシンを移行する場合、Azure Migrate: Server Migration では、Azure Site Recovery サービスのエージェント ベースのディザスター リカバリーと同じレプリケーション アーキテクチャが使用され、一部のコンポーネントは同じコード ベースを共有します。 一部のコンテンツは、Site Recoveryドキュメントにリンクされている場合があります。

前提条件

このチュートリアルを開始する前に、以下の前提条件を完了している必要があります。

  1. Azure サブスクリプション。 必要に応じて、無料アカウントを作成します。
  2. Azure PowerShell Az モジュールをインストールします。
  3. GitHub リポジトリから PowerShell サンプル スクリプト をダウンロードします。

Azureの準備

Server Migration tool を使用して移行Azureを準備します。

タスク 詳細
Azure Migrate プロジェクトを作成します Azure アカウントには、新しいプロジェクトを作成するための共同作成者または所有者のアクセス許可が必要です。
Azure アカウントのアクセス許可 Azure アカウントには、Key Vaultの作成、VM の作成、Azureマネージド ディスクへの書き込みには、次のアクセス許可が必要です。Azure サブスクリプションに対する共同作成者または所有者のアクセス許可、Microsoft Entra ID にアプリを登録するアクセス許可 (Azure Active Directory)、および Azure サブスクリプションに対するユーザー アクセス管理者のアクセス許可。
Azure仮想ネットワークを設定します Azure仮想ネットワークをセットアップする。 Azureにレプリケートすると、Azure VM が作成され、移行の設定時に指定したAzure仮想ネットワークに参加します。

適切なアクセス許可を持っているか確認するには、次の手順に従います。

  1. Azure ポータルでサブスクリプションを開き、Access コントロール (IAM) を選択します。
  2. [アクセスの確認] で関連するアカウントを探し、それを選択してアクセス許可を表示します。
  3. 共同作成者または所有者のアクセス許可を持っている必要があります。
    • 無料のAzure アカウントを作成したばかりの場合は、サブスクリプションの所有者になります。
    • サブスクリプションの所有者でない場合は、所有者と協力してロールを割り当てます。

アクセス許可を割り当てる必要がある場合は、Azureユーザー アカウントのPrepareの手順に従います。

移行を準備する

サーバーの移行を準備するには、物理サーバーの設定を確認し、レプリケーション アプライアンスをデプロイする準備を行います。

マシンの要件を確認する

Azureに移行するには、ソース マシンが要件に準拠していることを確認します。 次の手順に従います。

  1. サーバーの要件を確認します。
  2. レプリケート先のソース マシンAzure、Azure VM の要件に準拠していることを確認します。
  3. 一部の Windows ソースでは、さらにいくつかの変更が必要です。 これらの変更を行う前にソースを移行すると、VM がAzureで起動できなくなる可能性があります。 オペレーティング システムによっては、これらの変更Azure Migrate自動的に行われます。

レプリケーションの準備

Azure Migrate: サーバー移行では、レプリケーション アプライアンスを使用してマシンをAzureにレプリケートします。 レプリケーション アプライアンスは、次のコンポーネントを実行します。

  • Configuration server: 構成サーバーは、オンプレミスとAzure間の通信を調整し、データ レプリケーションを管理します。
  • プロセス サーバー:プロセス サーバーはレプリケーション ゲートウェイとして機能します。 レプリケーション データを受信します。は、キャッシュ、圧縮、および暗号化を使用して最適化し、Azureのキャッシュ ストレージ アカウントに送信します。

次のようにして、アプライアンスのデプロイの準備をします。

  • レプリケーション アプライアンスをホストするWindows Server 2016 マシンを作成します。 マシンの要件を確認します。
  • レプリケーション アプライアンスでは MySQL が使用されます。 アプライアンスに MySQL をインストールするためのいくつかの方法を確認します。
  • レプリケーション アプライアンスが public および government クラウドにアクセスするために必要なAzure URL を確認します。
  • レプリケーション アプライアンスのポート アクセス要件を確認します。

注意

レプリケーション アプライアンスは、レプリケートまたは移行するソース マシン以外のマシンにインストールする必要があります。 Azure Migrate検出および評価アプライアンスが以前にインストールされたコンピューターにはインストールしないでください。

レプリケーション アプライアンス インストーラーをダウンロードする

レプリケーション アプライアンス インストーラーをダウンロードするには、次の手順に従います。

  1. Azure Migrate プロジェクト >ServersAzure Migrate: Server Migration で、Discover を選択します。

    VM の [検出] オプションのスクリーンショット。

  2. [マシンの検出][マシンは仮想化されていますか?] で、 [物理またはその他 (AWS、GCP、Xen など)] を選択します。

  3. Target リージョンで、マシンを移行するAzureリージョンを選択します。

  4. [移行先のリージョンが <リージョン名> であることを確認してください] を選択します。

  5. [リソースの作成] を選択します。 この操作により、バックグラウンドで Azure Site Recovery ボールトが作成されます。

    • 移行が既に Azure Migrate: Server Migration で設定されている場合は、リソースが以前に設定されているため、ターゲット オプションを構成できません。
    • このボタンの選択後は、このプロジェクトのターゲット リージョンを変更することはできません。
    • 以降のすべての移行は、このリージョンに対して行われます。
  6. [新しいレプリケーション アプライアンスをインストールしますか?] で、 [レプリケーション アプライアンスのインストール] を選択します。

  7. [レプリケーション アプライアンス ソフトウェアをダウンロードしてインストールする] で、アプライアンスのインストーラーと登録キーをダウンロードします。 アプライアンスを登録するには、キーをダウンロードする必要があります。 キーは、ダウンロード後 5 日間有効です。

    プロバイダーの [ダウンロード] のスクリーンショット。

  8. アプライアンスのセットアップ ファイルとキー ファイルを、アプライアンス用に作成したWindows Server 2016 マシンにコピーします。

  9. インストールが完了すると、アプライアンス構成ウィザードが自動的に起動します (アプライアンス マシンのデスクトップに作成された cspsconfigtool ショートカットを使用して、ウィザードを手動で起動することもできます)。 ウィザードの [アカウントの管理] タブを使用して、次の詳細を含むダミー アカウントを作成します。

    • フレンドリーネームとしての「guest」
    • ユーザー名として「username」
    • アカウントのパスワードに "password" を使用します。

    このダミー アカウントは、レプリケーションを有効にするステージで使用します。

  10. セットアップが完了しアプライアンスが再起動した後に、 [マシンの検出] の [構成サーバーの選択] で新しいアプライアンスを選択し、 [登録の終了処理] を選択します。 登録の最終処理では、いくつかの最終的なタスクを実行して、レプリケーション アプライアンスを準備します。

    [登録の最終処理] オプションのスクリーンショット。

Mobility Serviceのインストール

移行するサーバーにMobility Service エージェントをインストールします。 エージェント インストーラーは、レプリケーション アプライアンス上で使用できます。 適切なインストーラーを見つけて、移行したい各マシンにエージェントをインストールします。

Mobility Serviceをインストールするには、次の手順に従います。

  1. レプリケーション アプライアンスにサインインします。

  2. に移動します。

  3. マシンのオペレーティング システムとバージョンに合ったインストーラーを見つけます。 サポートされているオペレーティング システムを確認してください。

  4. 移行したいマシンにインストーラー ファイルをコピーします。

  5. アプライアンスをデプロイしたときに生成されたパスフレーズを持っていることを確認します。

    • マシン上の一時テキスト ファイルにファイルを格納します。
    • レプリケーション アプライアンスのパスフレーズを取得できます。 現在のパスフレーズを表示するには、コマンド ラインで を実行します。
    • パスフレーズを再生成しないでください。 そうすると接続が切断され、レプリケーション アプライアンスを再登録する必要があります。
    • パラメーターで、VMware マシンと物理マシンの両方に を指定します。
  6. マシンに接続し、インストーラー ファイルの内容をローカル フォルダー (c:\temp など) に抽出します。 管理者コマンド プロンプトで次のコマンドを実行します。

    ren Microsoft-ASR_UA*Windows*release.exe MobilityServiceInstaller.exe
    MobilityServiceInstaller.exe /q /x:C:\Temp\Extracted
    cd C:\Temp\Extracted
    
  7. モビリティ サービスのインストーラーを実行します。

    UnifiedAgent.exe /Role "MS" /Platform "VmWare" /Silent
    
  8. レプリケーション アプライアンスにエージェントを登録します。

    cd C:\Program Files (x86)\Microsoft Azure Site Recovery\agent
    UnifiedAgentConfigurator.exe  /CSEndPoint <replication appliance IP address> /PassphraseFilePath <Passphrase File Path>
    

検出されたマシンが Azure Migrate: Server Migration に表示されるまで、インストール後にしばらく時間がかかる場合があります。 VM が検出されると、 [検出済みサーバー] の数が増えます。

検出されたサーバーを示すスクリーンショット。

ソース マシンを準備する

ソース マシンを準備するには、クラスター ノードで スクリプトを実行して、クラスター リソースに関する情報を取得します。 このスクリプトは、ロール名、リソース名、IP、プローブ ポートを ファイルに出力します。

./Get-ClusterInfo.ps1

ロード バランサーの作成

クラスターとクラスターのロールが要求に適切に応答するには、Azureロード バランサーが必要です。 ロード バランサーがないと、他の VM は、ネットワークまたはクラスターに属すると認識されないため、クラスターの IP アドレスに到達できません。

ロード バランサーを作成するには、次の手順に従います。

  1. ファイルの列を埋めてください。
列ヘッダー 説明
NewIP CSV ファイル内のリソースごとに、Azure仮想ネットワーク (またはサブネット) の IP アドレスを指定します。
ServicePort CSV ファイル内の各リソースで使用するサービス ポートを指定します。 SQL クラスター リソースの場合は、CSV のプローブ ポートと同じ値をサービス ポートに使用します。 他のクラスター ロールの場合、使用される既定値は 1433 ですが、現在のセットアップで構成されているポート番号を引き続き使用できます。
  1. 次のパラメーターを使用して、 スクリプトを実行して、ロード バランサーを作成します。
パラメーター タイプ 説明
ConfigFilePath 必須 前の手順で入力した ファイルのパスを指定します。
ResourceGroupName 必須 ロード バランサーを作成するリソース グループの名前を指定します。
VNetName 必須 ロード バランサーを関連付けるAzure仮想ネットワークの名前を指定します。
SubnetName 必須 ロード バランサーを関連付けるAzure仮想ネットワーク内のサブネットの名前を指定します。
VNetResourceGroupName 必須 ロード バランサーを関連付けるAzure仮想ネットワークのリソース グループの名前を指定します。
Location 必須 ロード バランサーを作成する場所を指定します。
LoadBalancerName 必須 作成するロード バランサーの名前を指定します。
./Create-ClusterLoadBalancer.ps1 -ConfigFilePath ./cluster-config.csv -ResourceGroupName $resourcegroupname -VNetName $vnetname -subnetName $subnetname -VnetResourceGroupName $vnetresourcegroupname -Location "eastus" -LoadBalancerName $loadbalancername

マシンをレプリケートする

今度は、移行の対象となるマシンを選択します。 最大 10 台のマシンをまとめてレプリケートできます。 レプリケートするマシンがそれより多い場合は、10 台をひとまとまりとして同時にレプリケートしてください。

マシンをレプリケートするには、次の手順に従います。

  1. Azure Migrate プロジェクト >ServersAzure Migrate: Server Migration で、 Replicate を選択します。

    [Azure Migrate - サーバー] 画面のスクリーンショットで、移行ツール内の [Azure Migrate: サーバーの移行] の [レプリケート] ボタンが選択されていることを示します。

  2. [レプリケート][ソース設定][マシンは仮想化されていますか?] で、[物理またはその他 (AWS、GCP、Xen など)] を選択します。

  3. オンプレミス アプライアンスで、設定したAzure Migrate アプライアンスの名前を選択します。

  4. [プロセス サーバー] で、レプリケーション アプライアンスの名前を選択します。

  5. [ゲストの資格情報] で、この記事で以前に「レプリケーション インストーラーのセットアップ」で作成したダミー アカウントを選択します。 その後、 [次へ: 仮想マシン] を選択します。

    [レプリケート] 画面で [ゲストの資格情報] フィールドが強調表示されている [ソースの設定] タブのスクリーンショット。

  6. Virtual Machines では、評価からの移行設定をインポートしますか? では、既定の設定いいえのままにして、移行設定を手動で指定します

  7. 移行したい各 VM を確認します。 次に、 [次のステップ: ターゲット設定] をクリックします。

    VM の選択オプションのスクリーンショット。

  8. ターゲット設定で、移行先のサブスクリプションとターゲット リージョンを選択し、移行後にAzure VM が存在するリソース グループを指定します。

  9. Virtual Network で、移行後にAzure VM が参加するAzure virtual network/サブネットを選択します。

  10. [可用性オプション] で、以下を選択します。

    • 可用性ゾーン。移行されたマシンをリージョン内の特定の可用性ゾーンにピン留めします。 マルチノード アプリケーション層を形成するサーバーをAvailability Zonesに分散するには、このオプションを使用します。 このオプションを選択した場合は、[コンピューティング] タブで選択した各マシンに使用する可用性ゾーンを指定する必要があります。このオプションは、移行用に選択されたターゲット リージョンがAvailability Zonesをサポートしている場合にのみ使用できます。
    • 可用性セット。移行されたマシンを可用性セットに配置します。 このオプションを使用するには、選択されたターゲット リソース グループに 1 つ以上の可用性セットが必要です。
    • [インフラストラクチャ冗長は必要ありません] オプション (移行されたマシンに対してこれらの可用性構成がいずれも不要な場合)。
  11. [Disk encryption type](ディスク暗号化の種類) で、以下を選択します。

    • プラットフォーム管理キーによるデータ保存時の暗号化
    • カスタマー マネージド キーを使用したデータ保存時の暗号化
    • プラットフォーム マネージド キーとカスタマー マネージド キーを使用した二重暗号化

    注意

    カスタマー マネージド キー (CMK) を使用して仮想マシンをレプリケートするには、ターゲット リソース グループの下に ディスク暗号化セットを作成 する必要があります。 ディスク暗号化セット オブジェクトは、Managed Disksを SSE に使用する CMK を含むKey Vaultにマップします。

  12. Azure ハイブリッド特典 について:

    • Azure ハイブリッド特典を適用しない場合は、No を選択します。 [次へ] を選択します。
    • アクティブなソフトウェア アシュアランスまたはWindows Server サブスクリプションの対象となるWindows Serverマシンがあり>移行するマシンに特典を適用する場合は、Yes

    [ターゲット設定] のスクリーンショット。

  13. [コンピューティング] で、VM の名前、サイズ、OS ディスクの種類、および可用性構成 (前の手順で選択した場合) を確認します。 VM は、Azure要件に準拠している必要があります。

    • [VM サイズ]: 評価の推奨事項を使用している場合は、[VM サイズ] ドロップダウン リストに推奨サイズが表示されます。 それ以外の場合Azure Migrate、Azure サブスクリプション内の最も近い一致に基づいてサイズを選択します。 または、Azure VM サイズで手動サイズを選択します。
    • OS ディスク: VM の OS (ブート) ディスクを指定します。 OS ディスクは、オペレーティング システムのブートローダーとインストーラーがあるディスクです。
    • 可用性ゾーン:使用する可用性ゾーンを指定します。
    • 可用性セット:使用する可用性セットを指定します。

    [コンピューティング] 設定のスクリーンショット。

  14. Disksで、VM ディスクをAzureにレプリケートするかどうかを指定し、Azureでディスクの種類 (Standard SSD/HDD または Premium マネージド ディスク) を選択します。 [次へ] を選択します。

    [ディスク] 設定のスクリーンショット。

  15. [レプリケーションの確認と開始] で設定を確認し、 [レプリケート] を選択して、サーバーの初期レプリケーションを開始します。

注意

レプリケーションが開始される前であれば、 [管理][マシンのレプリケート] でレプリケーションの設定をいつでも更新できます。 レプリケーションの開始後は、設定を変更することができません。

追跡して監視する

レプリケーションは、次の順序で進められます。

  • [レプリケート] を選択すると、"レプリケーションの開始" ジョブが開始されます。
  • Start Replication ジョブが正常に完了すると、マシンはAzureへの初期レプリケーションを開始します。
  • 初期レプリケーションが完了すると、差分レプリケーションが開始されます。 オンプレミス ディスクに対する増分変更は、Azureのレプリカ ディスクに定期的にレプリケートされます。

ジョブの状態は、ポータルの通知で追跡できます。

レプリケーションの状態を監視するには、サーバーの複製Azure Migrate: Server Migration で選択します。

モニターのレプリケーションを示すスクリーンショット。

VM の移行

マシンがレプリケートされたら、移行の準備が整います。 サーバーを移行するには、次の手順に従います。

  1. Azure Migrate プロジェクト >Servers>Azure Migrate: Server Migration で、Replicating servers を選択します。

    「レプリケートサーバー」オプションのスクリーンショット。

  2. 移行されたサーバーがソース サーバーと確実に同期されるようにするには、SQL データをホストするディスクがオンラインであることを確認しながら、可用性グループ内のすべてのレプリカ (SQL Server 構成マネージャー>Services) で始まるSQL Server サービスを停止します。

  3. レプリケーティングマシンでサーバー名概要を選択します。 次の手順に進む前に、移行するサーバーでSQL Server サービスを停止した後に、最後に同期されたタイムスタンプを確認してください。 このプロセスには数分しかかからなくなります。

  4. [マシンのレプリケート] で VM を右クリックし、[移行] を選択します。

  5. [移行][仮想マシンをシャットダウンし、データ損失のない計画された移行を実行しますか] で、 [いいえ][OK] の順に選択します。

    注意

    物理サーバーの移行では、ソース マシンのシャットダウンは自動的にはサポートされません。 移行ウィンドウの一部としてアプリケーションを停止することをお勧めします (アプリケーションが接続を受け入れないようにします)。 次に、移行が完了する前に、移行を開始します (残りの変更を同期できるように、サーバーを実行し続ける必要があります)。

  6. VM に対して移行ジョブが開始されます。 Azureの通知メッセージでジョブを追跡します。

  7. ジョブが完了したら、Virtual Machines ページから VM を表示および管理できます。

クラスターを再構成する

VM が移行されたら、次の手順に従ってクラスターを再構成します。

  1. Azureで移行されたサーバーをシャットダウンします。

  2. 移行したマシンをロード バランサーのバックエンド プールに追加します。 Load Balancer>バックエンドプールに移動します。

  3. バックエンド プールを選択し、移行したマシンを追加します。

  4. Azureで移行されたサーバーを起動し、任意のノードにサインインします。

  5. ファイルをコピーし、CSV をパラメーターとして渡して スクリプトを実行します。 このスクリプトにより、クラスター リソースが、Azureで動作するようにクラスターの新しい構成で更新されます。

    ./Update-ClusterConfig.ps1 -ConfigFilePath $filepath
    

「Always On」可用性グループの準備が完了しました。

移行を完了する

  1. 移行が完了したら、VM を右クリックして、[移行の停止] を選択します。 このコマンド:
    • オンプレミス マシンのレプリケーションを停止します。
    • Azure Migrate: Server Migration の Replicating servers カウントからマシンを削除します。
    • マシンのレプリケーション状態情報をクリーンアップします。
  2. 移行されたマシンに Azure VM for Windows エージェントをインストールします。
  3. データベース接続文字列、および Web サーバー構成の更新など、移行後のアプリの微調整を実行します。
  4. Azureで実行されている移行済みアプリケーションに対して、最終的なアプリケーションと移行の受け入れテストを実行します。
  5. 移行されたAzure VM インスタンスへのトラフィックをカットオーバーします。
  6. ローカル VM インベントリからオンプレミスの VM を削除します。
  7. ローカル バックアップからオンプレミスの VM を削除します。
  8. 内部ドキュメントを更新して、Azure VM の新しい場所と IP アドレスを表示します。

移行後のベスト プラクティス

  • SQL Serverの場合:
  • レジリエンスの向上:
    • Azure Backup サービスを使用してAZURE VM をバックアップして、データをセキュリティで保護します。
    • Site Recovery を使用してセカンダリ リージョンにAzure VM をレプリケートすることで、ワークロードの実行と継続的な可用性を維持します。
  • セキュリティの強化:
  • 監視と管理:
    • リソースの使用状況と支出を監視するために 、Microsoft Cost Management をデプロイすることを検討してください。
  • はじめに: 移行を促進する