Azure CLI を使用してクラシックから Azure Resource Manager へ IaaS リソースを移行するMigrate IaaS resources from classic to Azure Resource Manager by using Azure CLI

以下の手順では、Azure コマンド ライン インターフェイス (CLI) コマンドを使用して、サービスとしてのインフラストラクチャ (IaaS) のリソースをクラシック デプロイ モデルから Azure Resource Manager デプロイ モデルに移行する方法を説明します。These steps show you how to use Azure command-line interface (CLI) commands to migrate infrastructure as a service (IaaS) resources from the classic deployment model to the Azure Resource Manager deployment model. この記事では、Azure クラシック CLI が必要です。The article requires the Azure classic CLI. Azure CLI は、Azure Resource Manager リソースにのみ適用されるため、この移行には使用できません。Since Azure CLI is only applicable for Azure Resource Manager resources, it cannot be used for this migration.

注意

ここで説明するすべての操作がべき等です。All the operations described here are idempotent. サポートされていない機能や構成エラー以外の問題が発生した場合は、準備、中止、またはコミット操作を再試行することをお勧めします。If you have a problem other than an unsupported feature or a configuration error, we recommend that you retry the prepare, abort, or commit operation. これによりプラットフォームでアクションが再試行されます。The platform will then try the action again.


移行プロセス中に実行する必要のある手順を順番に示すフローチャートを以下に示しますHere is a flowchart to identify the order in which steps need to be executed during a migration process

Screenshot that shows the migration steps

手順 1:移行を準備するStep 1: Prepare for migration

ここでは、クラシックから Resource Manager への IaaS リソースの移行を評価するときに推奨できるベスト プラクティスをいくつか紹介します。Here are a few best practices that we recommend as you evaluate migrating IaaS resources from classic to Resource Manager:

  • サポートされていない構成または機能の一覧をご確認ください。Read through the list of unsupported configurations or features. サポートされていない構成または機能を使用する仮想マシンがある場合、機能または構成のサポートが発表されるまで待つことをお勧めします。If you have virtual machines that use unsupported configurations or features, we recommend that you wait for the feature/configuration support to be announced. または、必要に応じて、その機能を削除するか、その構成を外して、移行を可能にすることもできます。Alternatively, you can remove that feature or move out of that configuration to enable migration if it suits your needs.
  • インフラストラクチャとアプリケーションをデプロイする自動化スクリプトを今お持ちの場合は、これらのスクリプトを移行に使用して、同様のテスト設定を作成してみてください。If you have automated scripts that deploy your infrastructure and applications today, try to create a similar test setup by using those scripts for migration. または、Azure ポータルを使用してサンプル環境をセットアップすることもできます。Alternatively, you can set up sample environments by using the Azure portal.

重要

現在、Application Gateway は、クラシックから Resource Manager への移行には対応していません。Application Gateways are not currently supported for migration from classic to Resource Manager. Application Gateway が設定された従来の仮想ネットワークを移行するには、準備操作を実行してネットワークを移動する前に、まずそのゲートウェイを削除する必要があります。To migrate a classic virtual network with an Application gateway, remove the gateway before running a Prepare operation to move the network. 移行が完了した後、Azure Resource Manager でゲートウェイに再接続します。After you complete the migration, reconnect the gateway in Azure Resource Manager.

別のサブスクリプションの ExpressRoute 回線に接続する ExpressRoute ゲートウェイは自動移行できません。ExpressRoute gateways connecting to ExpressRoute circuits in another subscription cannot be migrated automatically. そのような場合は、ExpressRoute ゲートウェイを削除し、仮想ネットワークを移行してゲートウェイを再作成します。In such cases, remove the ExpressRoute gateway, migrate the virtual network and recreate the gateway. 詳細については、「クラシック デプロイ モデルから Resource Manager デプロイ モデルへの ExpressRoute 回線および関連する仮想ネットワークの移行」を参照してください。Please see Migrate ExpressRoute circuits and associated virtual networks from the classic to the Resource Manager deployment model for more information.

手順 2:ご自分のサブスクリプションを設定し、プロバイダーを登録するStep 2: Set your subscription and register the provider

移行のシナリオの場合、クラシックと Resource Manager の両方に合わせて環境をセットアップする必要があります。For migration scenarios, you need to set up your environment for both classic and Resource Manager. Azure CLI をインストールし、サブスクリプションを選択します。Install Azure CLI and select your subscription.

アカウントにサインインします。Sign-in to your account.

azure login

次のコマンドを使用して Azure サブスクリプションを選択します。Select the Azure subscription by using the following command.

azure account set "<azure-subscription-name>"

注意

登録は 1 回限りの手順ですが、移行を試みる前に実行する必要があります。Registration is a one time step but it needs to be done once before attempting migration. 登録を行わないと、次のエラー メッセージが表示されますWithout registering you'll see the following error message

BadRequest: 移行の対象サブスクリプションが登録されていません。BadRequest : Subscription is not registered for migration.

移行リソース プロバイダーに登録するには、次のコマンドを使用します。Register with the migration resource provider by using the following command. 次のコマンドは、場合によってはタイムアウトになるため注意してください。ただし、登録は成功します。Note that in some cases, this command times out. However, the registration will be successful.

azure provider register Microsoft.ClassicInfrastructureMigrate

登録が完了するまで 5 分間お待ちください。Please wait five minutes for the registration to finish. 承認の状態を確認するには、次のコマンドを使用します。You can check the status of the approval by using the following command. RegistrationState が Registered であることを確認してから続行してください。Make sure that RegistrationState is Registered before you proceed.

azure provider show Microsoft.ClassicInfrastructureMigrate

次に、CLI を asm モードに切り替えます。Now switch CLI to the asm mode.

azure config mode asm

手順 3:現在のデプロイまたは VNET の Azure リージョンで Azure Resource Manager 仮想マシンの vCPU 数が十分にあることを確認するStep 3: Make sure you have enough Azure Resource Manager Virtual Machine vCPUs in the Azure region of your current deployment or VNET

この手順では、arm モードに切り替える必要があります。For this step you'll need to switch to arm mode. これを行うには、次のコマンドを使用します。Do this with the following command.

azure config mode arm

Azure Resource Manager での現在の vCPU 数は、次の CLI コマンドを使用して確認できます。You can use the following CLI command to check the current number of vCPUs you have in Azure Resource Manager. vCPU クォータの詳細については、「制限と Azure Resource Manager」を参照してください。To learn more about vCPU quotas, see Limits and the Azure Resource Manager

azure vm list-usage -l "<Your VNET or Deployment's Azure region"

確認が終わったら、 asm モードに切り替えることができます。Once you're done verifying this step, you can switch back to asm mode.

azure config mode asm

手順 4:オプション 1 - クラウド サービス内の仮想マシンを移行するStep 4: Option 1 - Migrate virtual machines in a cloud service

次のコマンドを使用してクラウド サービスの一覧を取得し、移行するクラウド サービスを選択します。Get the list of cloud services by using the following command, and then pick the cloud service that you want to migrate. クラウド サービスの VM が仮想ネットワーク内にある場合、または Web/worker ロールを持つ場合は、エラー メッセージが返されます。Note that if the VMs in the cloud service are in a virtual network or if they have web/worker roles, you will get an error message.

azure service list

次のコマンドを実行して、詳細出力からクラウド サービスのデプロイ名を取得します。Run the following command to get the deployment name for the cloud service from the verbose output. ほとんどの場合、デプロイ名はクラウド サービス名と同じです。In most cases, the deployment name is the same as the cloud service name.

azure service show <serviceName> -vv

最初に、次のコマンドを使用して、クラウド サービスを移行できるかどうかを検証します。First, validate if you can migrate the cloud service using the following commands:

azure service deployment validate-migration <serviceName> <deploymentName> new "" "" ""

移行に合わせてクラウド サービスの仮想マシンを準備します。Prepare the virtual machines in the cloud service for migration. 2 つのオプションから選択できます。You have two options to choose from.

プラットフォームで作成した仮想ネットワークに VM を移行する場合は、次のコマンドを使用します。If you want to migrate the VMs to a platform-created virtual network, use the following command.

azure service deployment prepare-migration <serviceName> <deploymentName> new "" "" ""

Resource Manager デプロイ モデルの既存の仮想ネットワークに移行する場合は、次のコマンドを使用します。If you want to migrate to an existing virtual network in the Resource Manager deployment model, use the following command.

azure service deployment prepare-migration <serviceName> <deploymentName> existing <destinationVNETResourceGroupName> <subnetName> <vnetName>

準備操作が正常に完了したら、詳細出力で VM の移行状態を調べ、VM が Prepared 状態であることを確認します。After the prepare operation is successful, you can look through the verbose output to get the migration state of the VMs and ensure that they are in the Prepared state.

azure vm show <vmName> -vv

CLI または Azure ポータルを使用して、準備したリソースの構成を確認します。Check the configuration for the prepared resources by using either CLI or the Azure portal. 移行の準備ができていない場合に以前の状態に戻すには、次のコマンドを使用します。If you are not ready for migration and you want to go back to the old state, use the following command.

azure service deployment abort-migration <serviceName> <deploymentName>

準備した構成が正しい場合は、次に進み、次のコマンドを使用してリソースをコミットできます。If the prepared configuration looks good, you can move forward and commit the resources by using the following command.

azure service deployment commit-migration <serviceName> <deploymentName>

手順 4:オプション 2 - 仮想ネットワーク内の仮想マシンを移行するStep 4: Option 2 - Migrate virtual machines in a virtual network

移行する仮想ネットワークを選択します。Pick the virtual network that you want to migrate. 仮想ネットワークに Web/worker ロールが含まれる場合、またはサポートされない構成の VM が含まれる場合は、検証エラー メッセージが返されます。Note that if the virtual network contains web/worker roles or VMs with unsupported configurations, you will get a validation error message.

次のコマンドを使用して、サブスクリプションのすべての仮想ネットワークを取得します。Get all the virtual networks in the subscription by using the following command.

azure network vnet list

出力は次のようになります。The output will look something like this:

仮想ネットワークの名前全体が強調表示されているコマンド ラインのスクリーン ショット。

上の例では、 "Group classicubuntu16 classicubuntu16" 全体が virtualNetworkName です。In the above example, the virtualNetworkName is the entire name "Group classicubuntu16 classicubuntu16".

最初に、次のコマンドを使用して、仮想ネットワークを移行できるかどうかを検証します。First, validate if you can migrate the virtual network using the following command:

azure network vnet validate-migration <virtualNetworkName>

次のコマンドを使用して、移行対象の仮想ネットワークを準備します。Prepare the virtual network of your choice for migration by using the following command.

azure network vnet prepare-migration <virtualNetworkName>

CLI または Azure ポータルを使用して、準備した仮想マシンの構成を確認します。Check the configuration for the prepared virtual machines by using either CLI or the Azure portal. 移行の準備ができていない場合に以前の状態に戻すには、次のコマンドを使用します。If you are not ready for migration and you want to go back to the old state, use the following command.

azure network vnet abort-migration <virtualNetworkName>

準備した構成が正しい場合は、次に進み、次のコマンドを使用してリソースをコミットできます。If the prepared configuration looks good, you can move forward and commit the resources by using the following command.

azure network vnet commit-migration <virtualNetworkName>

手順 5:ストレージ アカウントを移行するStep 5: Migrate a storage account

仮想マシンの移行が完了したら、ストレージ アカウントを移行することをお勧めします。Once you're done migrating the virtual machines, we recommend you migrate the storage account.

次のコマンドを使用して、移行対象のストレージ アカウントを準備しますPrepare the storage account for migration by using the following command

azure storage account prepare-migration <storageAccountName>

CLI または Azure ポータルを使用して、準備したストレージ アカウントの構成を確認します。Check the configuration for the prepared storage account by using either CLI or the Azure portal. 移行の準備ができていない場合に以前の状態に戻すには、次のコマンドを使用します。If you are not ready for migration and you want to go back to the old state, use the following command.

azure storage account abort-migration <storageAccountName>

準備した構成が正しい場合は、次に進み、次のコマンドを使用してリソースをコミットできます。If the prepared configuration looks good, you can move forward and commit the resources by using the following command.

azure storage account commit-migration <storageAccountName>

次の手順Next steps