Azure を移行元とする Migrate to Virtual Machines

はじめに

Migrate to Virtual Machines では、Azure アカウントから Compute Engine インスタンスに Azure 仮想マシン(VM)を移行できます。

前提条件

手順: Azure ソースからワークロードを移行する

Azure からの移行を始める前に、次の作業を完了して Azure 環境を設定します。

  1. Azure ポータルでアプリを登録します。
  2. Migrate to Virtual Machines サービスからアクセスするカスタムロールを作成します。
  3. カスタムロールをアプリに割り当てます
  4. Google Cloud で Azure ソースを作成します。

アプリを登録する

アプリを登録する手順は次のとおりです。

  1. Azure ポータルで [App Registration] ページに移動し、[New registration] をクリックします。
  2. 新しいクライアント認証情報を追加するには、[Add a certificate or secret] をクリックします。
  3. 新しいクライアント シークレットを追加するには、[+ New client secret] をクリックし、クライアント シークレットの説明と有効期限を入力します。
  4. [Add] をクリックします。

これで、クライアント シークレットの準備が整いました。クライアント シークレットの値を必ずコピーしてください。この値は、後でソースを設定するときに必要になります。

カスタムロールを作成する

Azure ワークロードを移行するには、カスタムロールを作成し、アプリの登録ステップで登録したアプリに割り当てます。

カスタムロールを作成する手順は次のとおりです。

  1. Azure ポータルで [Subscriptions] ページに移動し、Azure サブスクリプションを選択します。
  2. [Subscription ID] をクリックしてコピーします。
  3. 次の JSON テンプレートを保存し、SUBSCRIPTION_ID を手順 2 でコピーしたサブスクリプション ID に置き換えます。

      {
      "properties": {
            "roleName": "Minimum M2VM permissions role",
            "description": "This role contains the bare minimum of Azure IAM permissions to support M2VM flow",
            "assignableScopes": [
                  "/subscriptions/<code><var>SUBSCRIPTION_ID</var></code>"
            ],
      "permissions": [
                  {
                  "actions": [
                        "Microsoft.Resources/subscriptions/resourceGroups/write",
                        "Microsoft.Resources/subscriptions/resourceGroups/read",
                        "Microsoft.Resources/subscriptions/resourceGroups/delete",
                        "Microsoft.Compute/virtualMachines/read",
                        "Microsoft.Compute/virtualMachines/write",
                        "Microsoft.Compute/virtualMachines/deallocate/action",
                        "Microsoft.Compute/disks/read",
                        "Microsoft.Compute/snapshots/delete",
                        "Microsoft.Compute/snapshots/write",
                        "Microsoft.Compute/snapshots/beginGetAccess/action",
                        "Microsoft.Compute/snapshots/read",
                        "Microsoft.Compute/snapshots/endGetAccess/action"
                  ],
                  "notActions": [],
                  "dataActions": [],
                  "notDataActions": []
                  }
            ]
      }
      }
    

    権限の詳細については、権限の詳細をご覧ください。

  4. Azure ポータルで、[Access control (IAM)] ページに移動します。

  5. カスタムロールを追加するには、[+ Add] をクリックします。

  6. [Start from JSON] をクリックし、[Select file] をクリックして、手順 3 で作成した JSON ファイルをアップロードします。

  7. [Review + Create] をクリックして入力内容を確認し、[Create] をクリックしてカスタムロールを作成します。

アプリにカスタムロールを割り当てる

アプリにカスタムロールを割り当てる手順は次のとおりです。

  1. Azure ポータルで、[Access control (IAM)] ページに移動します。
  2. [+ Add] をクリックし、[Add role assignment] をクリックします。
  3. m2vm」と入力し、カスタムロールを作成するで作成したカスタムロールを検索して選択します。
  4. [Next] をクリックします。
  5. [+ Select members] をクリックし、アプリの登録で登録したアプリ名を検索して、[Select] をクリックします。
  6. カスタムロールを確認してアプリに割り当てるには、[Review + Assign] をクリックします。

Azure ソースを作成する

アプリを登録し、シークレットを追加して権限を設定したら、Migrate to Virtual Machines サービスで Azure ソースを作成します。

Azure ソースを作成する手順は次のとおりです。

  1. Google Cloud コンソールで、[Migrate to Virtual Machines] ページに移動します。
  2. [ソース] タブを選択します。
  3. [ソースを追加] リストから、[+ Azure ソースを追加] を選択します。
  4. [Azure ソースの作成] パネルにソースの詳細を入力します。

    次の表に、Azure ソースの詳細に使用されるパラメータを示します。

    パラメータ 説明
    名前(必須) ソースを識別する文字列。この文字列は、Compute Engine の命名規則に従う必要があります。ソースの作成後にこのフィールドを更新することはできません。
    Google Cloud リージョン(必須) インスタンスの移行先となる Google Cloud のリージョン。ソースの作成後にこのフィールドを更新することはできません。

    詳細については、ロケーションをご覧ください。
    Azure のロケーション(必須) VM の移行元となる Azure のリージョン(centralus など)。Migrate to Virtual Machines コンソールに表示されるインベントリでは、この Azure ロケーションの VM のみが表示されます。ソースの作成後にこのフィールドを更新することはできません。

    注: 入力ミスを防ぐために、プルダウンリストのオプションからリージョンを選択するか、Azure コンソールの JSON ビューからリージョンをコピーして、ソースの詳細フィールドに貼り付けることをおすすめします。リージョンで入力ミスがあると、ソースはアクティブにならないため、新しいソースを作成する必要があります。ソースのステータスはコンソールで確認できます。
    サブスクリプション ID(必須) ユーザー認証情報の一部。ソースの作成後にこのフィールドを更新することはできません。
    クライアント ID(必須) ユーザー認証情報の一部。
    テナント ID(必須) ユーザー認証情報の一部。ソースの作成後にこのフィールドを更新することはできません。
    クライアント シークレット(必須) これは、クライアント シークレットの作成時に保存した値です。

    注: 設定後に、この値を Azure ポータルまたは Google Cloud コンソールで取得することはできません。認証情報を更新する場合は、この値を新しいシークレットで更新します。
    顧客管理の暗号鍵(プレビュー Google Cloud でデータを保護するために使用する鍵。Google Cloud のデフォルトでは、Google 管理の暗号鍵を使用して、自動的に保存データが暗号化されます。データを保護する鍵について特定のコンプライアンスや規制の要件がある場合、顧客管理の暗号鍵(CMEK)を使用して保存データの暗号化と復号を行うことができます。これらの暗号鍵は、ユーザーによって作成、管理、所有されます。CMEK は projects/PROJECT/locations/LOCATIONS/keyRings/KEY_RING/cryptoKeys/KEY の形式にする必要があります。
    次のように置き換えます。
    • PROJECT_ID: 移行に使用されるプロジェクトの名前。
    • LOCATIONS: プロジェクトのロケーション。
    • KEY_RING: CMEK が含まれるキーリングの名前。
    • KEY: CMEK の名前。
    省略可: 移行リソースのユーザータグ Migrate to Virtual Machines サービスは、VM ディスクのスナップショットを作成して Google Cloud に移行します。
    これらのリソースにカスタムタグを関連付ける場合は、ここで指定します。これにより、Azure 環境で Migrate to Virtual Machines によって作成されたすべてのリソースを識別できるようになります。スナップショットには、スナップショットで説明したタグも含まれています。

    ソースを作成すると、すべてのスナップショットが 1 つのリソース グループに自動的に作成されます。リソース グループ名は、[ソースの詳細] ページで確認できます。
  5. [作成] をクリックします。新しいソースに関する情報が表示されます。

  6. [ソースのステータス] が「アクティブ」に変わるまで待ちます(最大で 15 分ですが、通常はそれほどかかりません)。

インベントリを検証して、ソースの作成時に指定したタグ(またはセキュリティ グループ)に対応するインスタンスがあることを確認します。

プロジェクトは、ソースを作成するときにターゲット プロジェクトとして自動的に追加されます。

次のステップ: 移行を開始する

Azure ソースを作成したら、移行を開始できます。Azure ソースからワークロードを移行する残りのプロセスは、Migrate to Virtual Machines で他のソースから移行する場合と同じです。

移行プロセスを開始する方法については、個々の VM の移行をご覧ください。

ソースとして VMware Engine を使用する場合との違い

Azure をソースとして使用する場合、いくつかの違いがあります。

  • UI から Azure ソースを作成および編集できます。
  • Azure ソースの使用量を示すレポートはありません。

ソースとして AWS を使用する場合との違い

使用方法は、AWS をソースとして使用する場合とほぼ同じです。