この記事では、Azure Migrate: Server Migration tool を使用して、Always On フェールオーバー クラスター インスタンス (FCI) を Azure VM 上のSQL Serverに移行する方法について説明します。 移行ツールを使用すると、フェールオーバー クラスター インスタンス内の各ノードを、クラスターと FCI メタデータだけでなく、SQL ServerをホストするAzure VM に移行できます。
この記事では、次のことについて説明します。
- 移行のためにAzureとソース環境を準備します。
- VM のレプリケートを開始します。
- レプリケーションを監視します。
- 完全な VM 移行を実行します。
- Azure共有ディスクを使用して SQL フェールオーバー クラスターを再構成します。
このガイドでは、任意のサーバーまたは仮想マシンを物理サーバーとして扱う、Azure Migrateのエージェント ベースの移行アプローチを使用します。 物理マシンを移行する場合、Azure Migrate: Server Migration では、Azure Site Recovery サービスのエージェント ベースのディザスター リカバリーと同じレプリケーション アーキテクチャが使用され、一部のコンポーネントは同じコード ベースを共有します。 一部のコンテンツは、Site Recoveryドキュメントにリンクされている場合があります。
前提条件
このチュートリアルを始める前に、次の準備が必要です。
- Azure サブスクリプション。 必要に応じて、無料アカウントを作成します。
-
Azure PowerShell
Azモジュールをインストールします。 - GitHub リポジトリから PowerShell サンプル スクリプト をダウンロードします。
Azureの準備
Server Migration を使用して移行のAzureを準備します。
| タスク | 詳細 |
|---|---|
| Azure Migrate プロジェクトを作成します | Azure アカウントには、新しいプロジェクトを作成するための共同作成者または所有者のアクセス許可が必要です。 |
| Azure アカウントのアクセス許可 | Azure アカウントには、Azure サブスクリプションに対する共同作成者または所有者のアクセス許可、Microsoft Entra ID (以前の Azure Active Directory) にアプリを登録する権限、およびAzure サブスクリプションに対するユーザー アクセス管理者のアクセス許可が必要です。これらの権限は、Key Vault を作成し、VM を作成し、Azure マネージド ディスクに書き込むために必要です。 |
| Azure仮想ネットワークを設定します | Setup Azure仮想ネットワーク (VNet) です。 Azureにレプリケートすると、Azure VM が作成され、移行のセットアップ時に指定したAzure VNet に参加します。 |
適切なアクセス許可を持っているか確認するには、次の手順に従います。
- Azure ポータルでサブスクリプションを開き、Access コントロール (IAM) を選択します。
- [アクセスの確認] で関連するアカウントを探し、それを選択してアクセス許可を表示します。
- 共同作成者または所有者のアクセス許可を持っている必要があります。
- 無料のAzure アカウントを作成したばかりの場合は、サブスクリプションの所有者になります。
- サブスクリプションの所有者でない場合は、所有者と協力してロールを割り当てます。
アクセス許可を割り当てる必要がある場合は、Azureユーザー アカウントのPrepareの手順に従います。
移行を準備する
サーバーの移行を準備するには、サーバー設定を確認し、レプリケーション アプライアンスをデプロイする準備を行う必要があります。
マシンの要件を確認する
マシンがAzureへの移行の要件に準拠していることを確認します。
- サーバーの要件を確認します。
- レプリケート先のソース マシンAzure、Azure VM の要件に準拠していることを確認します。
- 一部の Windows ソースでは、いくつかの追加の変更が必要です。 これらの変更を行う前にソースを移行すると、VM がAzureで起動できなくなる可能性があります。 オペレーティング システムによっては、これらの変更Azure Migrate自動的に行われます。
レプリケーションの準備
Azure Migrate: サーバー移行では、レプリケーション アプライアンスを使用してマシンをAzureにレプリケートします。 レプリケーション アプライアンスは、次のコンポーネントを実行します。
- Configuration server: 構成サーバーは、オンプレミスとAzure間の通信を調整し、データ レプリケーションを管理します。
- プロセス サーバー:プロセス サーバーはレプリケーション ゲートウェイとして機能します。 レプリケーション データを受信します。は、キャッシュ、圧縮、および暗号化を使用して最適化し、Azureのキャッシュ ストレージ アカウントに送信します。
次のようにして、アプライアンスのデプロイの準備をします。
- レプリケーション アプライアンスをホストするWindows Server 2016 マシンを作成します。 マシンの要件を確認します。
- レプリケーション アプライアンスでは MySQL が使用されます。 アプライアンスに MySQL をインストールするためのいくつかの方法を確認します。
- レプリケーション アプライアンスが public および government クラウドにアクセスするために必要なAzure URL を確認します。
- レプリケーション アプライアンスのポート アクセス要件を確認します。
注意
レプリケーション アプライアンスは、レプリケートまたは移行するソース マシン以外のコンピューターにインストールする必要があります。Azure Migrate検出および評価アプライアンスが以前にインストールされていたマシンにはインストールしないでください。
レプリケーション アプライアンス インストーラーをダウンロードする
レプリケーション アプライアンス インストーラーをダウンロードするには、次の手順に従います。
Azure Migrate プロジェクト >Servers の Azure Migrate: Server Migration で、Discover を選択します。
VM の [検出] オプションのスクリーンショット。
[マシンの検出][マシンは仮想化されていますか?] で、 [物理またはその他 (AWS、GCP、Xen など)] を選択します。
Target リージョンで、マシンを移行するAzureリージョンを選択します。
[移行先のリージョンが <リージョン名> であることを確認してください] を選択します。
[リソースの作成] を選択します。 これにより、バックグラウンドでAzure Site Recovery ボールトが作成されます。
- Azure Migrate Server Migration を使用して移行を既に設定している場合は、リソースが以前に設定されているため、ターゲット オプションを構成できません。
- このボタンの選択後は、このプロジェクトのターゲット リージョンを変更することはできません。
- 以降のすべての移行は、このリージョンに対して行われます。
[新しいレプリケーション アプライアンスをインストールしますか?] で、 [レプリケーション アプライアンスのインストール] を選択します。
[レプリケーション アプライアンス ソフトウェアをダウンロードしてインストールする] で、アプライアンスのインストーラーと登録キーをダウンロードします。 このキーは、アプライアンスを登録するために必要です。 キーは、ダウンロード後 5 日間有効です。
プロバイダーの [ダウンロード] オプションのスクリーンショット。
アプライアンスのセットアップ ファイルとキー ファイルを、アプライアンス用に作成したWindows Server 2016 マシンにコピーします。
インストールが完了すると、アプライアンス構成ウィザードが自動的に起動します (アプライアンス マシンのデスクトップに作成された cspsconfigtool ショートカットを使用して、ウィザードを手動で起動することもできます)。 ウィザードの [アカウントの管理] タブを使用して、次の詳細を含むダミー アカウントを作成します。
- フレンドリーネームとしての「guest」
- ユーザー名として「username」
- アカウントのパスワードに "password" を使用します。
このダミー アカウントは、レプリケーションを有効にするステージで使用します。
セットアップが完了しアプライアンスが再起動した後に、 [マシンの検出] の [構成サーバーの選択] で新しいアプライアンスを選択し、 [登録の終了処理] を選択します。 登録の終了処理では、レプリケーション アプライアンスを準備するための終了タスクがいくつか実行されます。
[登録の最終処理] オプションのスクリーンショット。
Mobility Serviceをインストールする
移行するサーバーにMobility Service エージェントをインストールします。 エージェント インストーラーは、レプリケーション アプライアンス上で使用できます。 適切なインストーラーを見つけて、移行したい各マシンにエージェントをインストールします。
Mobility Serviceをインストールするには、次の手順に従います。
レプリケーション アプライアンスにサインインします。
に移動します。
マシンのオペレーティング システムとバージョンに合ったインストーラーを見つけます。 サポートされているオペレーティング システムを確認してください。
移行したいマシンにインストーラー ファイルをコピーします。
アプライアンスをデプロイしたときに生成されたパスフレーズを持っていることを確認します。
- マシン上の一時テキスト ファイルにファイルを格納します。
- レプリケーション アプライアンスのパスフレーズを取得できます。 現在のパスフレーズを表示するには、コマンド ラインで を実行します。
- パスフレーズを再生成しないでください。 そうすると接続が切断され、レプリケーション アプライアンスを再登録しなければならなりません。
- /Platform パラメーターで、VMware マシンと物理マシンの両方に VMware を指定します。
マシンに接続し、インストーラー ファイルの内容をローカル フォルダー (c:\temp など) に抽出します。 管理者のコマンド プロンプトでこれを実行します。
ren Microsoft-ASR_UA*Windows*release.exe MobilityServiceInstaller.exe MobilityServiceInstaller.exe /q /x:C:\Temp\Extracted cd C:\Temp\Extractedモビリティ サービスのインストーラーを実行します。
UnifiedAgent.exe /Role "MS" /Platform "VmWare" /Silentレプリケーション アプライアンスにエージェントを登録します。
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、およびプローブ ポートが ファイルに出力されます。 この CSV ファイルを使用して、この記事の後半Azureリソースを作成して割り当てます。
./Get-ClusterInfo.ps1
ロード バランサーの作成
クラスターとクラスターのロールが要求に適切に応答するには、Azureロード バランサーが必要です。 ロード バランサーを使用しない場合、VM は、ネットワークまたはクラスターに所属しているとは認識されないので、クラスター IP アドレスに到達できません。
ファイルの列を埋めてください。
列ヘッダー 説明 NewIPCSV ファイル内のリソースごとに、Azure仮想ネットワーク (またはサブネット) の IP アドレスを指定します。 ServicePortCSV ファイル内の各リソースで使用するサービス ポートを指定します。 SQL クラスター リソースの場合は、CSV のプローブ ポートと同じ値をサービス ポートに使用します。 他のクラスター ロールの場合、使用される既定値は 1433 ですが、現在のセットアップで構成されているポート番号を引き続き使用できます。 次の必須パラメーターを使用して、 スクリプトを実行し、ロード バランサーを作成します。
パラメーター タイプ 説明 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 台をひとまとまりとして同時にレプリケートしてください。
Azure Migrate プロジェクト >Servers、 Azure Migrate: Server Migration で、 Replicate を選択します。
[レプリケート][ソース設定][マシンは仮想化されていますか?] で、[物理またはその他 (AWS、GCP、Xen など)] を選択します。
オンプレミス アプライアンスで、設定したAzure Migrate アプライアンスの名前を選択します。
[プロセス サーバー] で、レプリケーション アプライアンスの名前を選択します。
[ゲストの資格情報] で、「レプリケーション インストーラーのセットアップ」で作成したダミー アカウントを選択します。 その後、 [次へ: 仮想マシン] を選択します。
[レプリケート] 画面で [ゲストの資格情報] フィールドが強調表示されている [ソースの設定] タブのスクリーンショット。
Virtual Machines では、評価からの移行設定をインポートしますか? では、既定の設定いいえのままにして、移行設定を手動で指定します。
移行したい各 VM を確認します。 次に、 [次のステップ: ターゲット設定] をクリックします。
VM の選択オプションのスクリーンショット。
Target 設定で、移行先のサブスクリプションとターゲット リージョンを選択し、移行後にAzure VM が存在するリソース グループを指定します。
Virtual Network で、移行後にAzure VM が参加するAzure VNet/サブネットを選択します。
[可用性オプション] で、以下を選択します。
- 可用性ゾーン。移行されたマシンをリージョン内の特定の可用性ゾーンにピン留めします。 マルチノード アプリケーション層を形成するサーバーをAvailability Zonesに分散するには、このオプションを使用します。 このオプションを選択した場合は、[コンピューティング] タブで、選択した各マシンに使用する可用性ゾーンを指定する必要があります。このオプションは、移行用に選択されたターゲット リージョンがAvailability Zonesをサポートしている場合にのみ使用できます。
- 可用性セット。移行されたマシンを可用性セットに配置します。 このオプションを使用するには、選択されたターゲット リソース グループに 1 つ以上の可用性セットが必要です。
- [インフラストラクチャ冗長は必要ありません] オプション (移行されたマシンに対してこれらの可用性構成がいずれも不要な場合)。
[Disk encryption type](ディスク暗号化の種類) で、以下を選択します。
- プラットフォーム管理キーによるデータ保存時の暗号化
- カスタマー マネージド キーを使用したデータ保存時の暗号化
- プラットフォーム マネージド キーとカスタマー マネージド キーを使用した二重暗号化
注意
CMK を使用して VM をレプリケートするには、ターゲット リソース グループにディスク暗号化セットを作成する必要があります。 ディスク暗号化セット オブジェクトは、Managed Disksを SSE に使用する CMK を含むKey Vaultにマップします。
Azure ハイブリッド特典 について:- Azure ハイブリッド特典を適用しない場合は、No を選択します。 [次へ] を選択します。
- アクティブなソフトウェア アシュアランスまたはWindows Server サブスクリプションの対象となるWindows Serverマシンがあり>移行するマシンに特典を適用する場合は、
Yes
[ターゲット設定] オプションのスクリーンショット。
[コンピューティング] で、VM の名前、サイズ、OS ディスクの種類、および可用性構成 (前の手順で選択した場合) を確認します。 VM は、Azure要件に準拠している必要があります。
- [VM サイズ]: 評価の推奨事項を使用している場合は、[VM サイズ] ドロップダウン リストに推奨サイズが表示されます。 それ以外の場合Azure Migrate、Azure サブスクリプション内の最も近い一致に基づいてサイズを選択します。 または、Azure VM サイズで手動サイズを選択します。
- OS ディスク: VM の OS (ブート) ディスクを指定します。 OS ディスクは、オペレーティング システムのブートローダーとインストーラーがあるディスクです。
- 可用性ゾーン:使用する可用性ゾーンを指定します。
- 可用性セット:使用する可用性セットを指定します。
[コンピューティング] 設定オプションのスクリーンショット。
Disksで、VM ディスクをAzureにレプリケートするかどうかを指定し、Azureでディスクの種類 (Standard SSD/HDD または Premium マネージド ディスク) を選択します。 [次へ] を選択します。
- 前に作成した一覧を使用して、各サーバーでレプリケートするディスクを選択します。 レプリケーションからその他のディスクを除外します。
[ディスク] 設定オプションのスクリーンショット。
[レプリケーションの確認と開始] で設定を確認し、 [レプリケート] を選択して、サーバーの初期レプリケーションを開始します。
注意
レプリケーションが開始される前であれば、 [管理][マシンのレプリケート] でレプリケーションの設定をいつでも更新できます。 レプリケーションの開始後は、設定を変更することができません。
追跡して監視する
レプリケーションは、次の順序で進められます。
- [レプリケート] を選択すると、レプリケーションの開始ジョブが開始されます。
- Start Replication ジョブが正常に完了すると、マシンはAzureへの初期レプリケーションを開始します。
- 初期レプリケーションが完了すると、差分レプリケーションが開始されます。 オンプレミス ディスクに対する増分変更は、Azureのレプリカ ディスクに定期的にレプリケートされます。
- 初期レプリケーションが完了したら、各 VM の [コンピューティング] 項目と [ネットワーク] 項目を構成します。 通常、クラスターには複数の NIC がありますが、移行に必要な NIC は 1 つのみです (他の NIC は作成しないように設定します)。
ジョブの状態は、ポータルの通知で追跡できます。
レプリケーションの状態を監視するには、サーバーの複製Azure Migrate: Server Migration で選択します。
[レプリケーションの監視] オプションのスクリーンショット。
VM の移行
マシンがレプリケートされると、移行の準備が整います。 サーバーを移行するには、次の手順に従います。
Azure Migrate プロジェクト >Servers>Azure Migrate: Server Migration で、Replicating servers を選択します。
「レプリケートサーバー」オプションのスクリーンショット。
移行されたサーバーがソース サーバーと確実に同期されるようにするには、 クラスター ディスクがオンラインであることを確認しながら、SQL Server リソース (Failover クラスター マネージャー>Roles>その他のリソース) を停止します。
マシンの複製を選択し、サーバー名 >Overview を選択し、移行対象のサーバー上でSQL Serverリソースを停止した後も最後の同期されたタイムスタンプが更新されていることを、次の手順に進む前に確認します。 わずか数分で完了します。
レプリケーション マシン で VM を右クリックし、マイグレート を選択します。
[移行][仮想マシンをシャットダウンし、データ損失のない計画された移行を実行しますか] で、 [いいえ][OK] の順に選択します。
注意
物理サーバーを移行する場合、ソース マシンのシャットダウンは自動的にはサポートされません。 移行期間の一環としてアプリケーションを停止させ (アプリケーションが接続を受け付けないようにして)、移行を開始することをお勧めします (移行の完了前に残りの変更を同期できるように、サーバーは動作させ続けておく必要があります)。
VM に対して移行ジョブが開始されます。 Azureの通知メッセージでジョブを追跡します。
ジョブが完了したら、Virtual Machines ページから VM を表示および管理できます。
クラスターを再構成する
VM を移行し終えたら、クラスターを再構成します。 次の手順に従います。
Azureで移行されたサーバーをシャットダウンします。
移行したマシンをロード バランサーのバックエンド プールに追加します。 Load Balancer>バックエンドプールに移動します。
バックエンド プールを選択し、移行したマシンを追加します。
スクリプトを実行して、サーバーの移行するディスクを共有ディスクとして再構成します。 スクリプトは対話型であり、マシンの一覧が表示された後に、抽出可能なディスクが表示されます (データ ディスクのみ)。 共有ディスクに変更するドライブが含まれるマシンを選択するようにというメッセージが表示されます。 選択すると、マシンごとに 1 回、特定のディスクを選択するようにというメッセージが表示されます。
パラメーター タイプ 説明 ResourceGroupName必須 移行するサーバーが含まれるリソース グループの名前を指定します。 NumberofNodes省略可能 フェールオーバー クラスター インスタンス内のノード数を指定します。 このパラメーターは、作成する共有ディスクの適切な SKU を識別するために使用されます。 既定では、このスクリプトは、クラスター内のノード数が 2 であると想定しています。 DiskNamePrefix省略可能 共有ディスクの名前に追加するプレフィックスを指定します。 ./Create-SharedDisks.ps1 -ResourceGroupName $resourcegroupname -NumberofNodes $nodesincluster -DiskNamePrefix $disknameprefixスクリプトを実行して、移行するサーバーに共有ディスクを接続します。
パラメーター タイプ 説明 ResourceGroupName必須 移行するサーバーが含まれるリソース グループの名前を指定します。 StartingLunNumber省略可能 共有ディスクの接続先として使用できる開始 LUN 番号を指定します。 既定では、スクリプトは最初に LUN 0 から共有ディスクをアタッチしようとします。 ./Attach-ShareDisks.ps1 -ResourceGroupName $resourcegroupnameAzureで移行されたサーバーを起動し、任意のノードにサインインします。
ファイルをコピーし、CSV をパラメーターとして渡して スクリプトを実行します。 これにより、クラスター リソースが、Azureで動作するようにクラスターの新しい構成で更新されます。
./Update-ClusterConfig.ps1 -ConfigFilePath $filepath
SQL Server フェールオーバー クラスター インスタンスの準備ができました。
移行を完了する
- 移行が完了したら、VM を右クリックして、[移行の停止] を選択します。 次の処理が実行されます。
- オンプレミス マシンのレプリケーションを停止します。
- Azure Migrate: Server Migration の Replicating servers カウントからマシンを削除します。
- マシンのレプリケーション状態情報をクリーンアップします。
- 移行されたマシンに Azure VM for Windows エージェントをインストールします。
- データベース接続文字列、および Web サーバー構成の更新など、移行後のアプリの微調整を実行します。
- Azureで実行されている移行済みアプリケーションに対して、最終的なアプリケーションと移行の受け入れテストを実行します。
- 移行されたAzure VM インスタンスへのトラフィックをカットオーバーします。
- ローカル VM インベントリからオンプレミスの VM を削除します。
- ローカル バックアップからオンプレミスの VM を削除します。
- 内部ドキュメントを更新して、Azure VM の新しい場所と IP アドレスを表示します。
移行後のベスト プラクティス
- SQL Serverの場合:
- SQL Server IaaS Agent 拡張機能をインストールして、管理タスクと管理タスクを自動化します。 SQL IaaS Agent 拡張機能では、SQL Serverフェールオーバー クラスター化インスタンスでの制限付き機能のみがサポートされます。
- Azure VM での Optimize SQL Server パフォーマンス。
- AzureのSQL Serverpricingについて理解します。
- セキュリティの強化:
- Microsoft Defender for Cloud - Just-In-Time 管理を使用して、受信トラフィック アクセスをロックダウンして制限します。
- ネットワーク セキュリティ グループを使用して、ネットワーク トラフィックを管理エンドポイントに制限します。
- Azure Disk Encryptionをデプロイしてディスクをセキュリティで保護し、データを盗難や不正アクセスから保護します。
- IaaS リソースのセキュリティについて詳しく読むか、Microsoft Defender for Cloudをご覧ください。
- 監視と管理:
- リソースの使用状況と支出を監視するために 、Microsoft Cost Management をデプロイすることを検討してください。
関連するコンテンツ
- はじめに: 移行を促進する