在 Azure 上发现虚拟机实例

本文档介绍了使用 Migration Center 资产识别客户端 CLI 在 Azure 账号中运行目录发现的步骤。

借助 mcdc CLI,您可以收集有关 Azure 虚拟机 (VM) 实例的信息。然后,mcdc CLI 会将此信息发送到 Migration Center,您可以在 Migration Center 中继续进行评估。

准备工作

  1. 查看下载和运行 mcdc CLI 的要求
  2. 完成下载 mcdc CLI 的步骤。Migration Center 不支持 Azure PowerShell;请使用 Azure CLI 运行 mcdc CLI 命令。

向 Azure 进行身份验证

如需允许 mcdc CLI 访问您的 Azure 环境,您需要使用以下方法之一配置访问权限:

使用现有的 Azure 凭据

如需使用现有的 Azure 凭据,请直接从 Azure Cloud Shell 运行 mcdc CLI 命令。如果您从 Azure Cloud Shell 运行 mcdc CLI,则无需客户端密钥即可使用现有凭据。在这种情况下,mcdc CLI 可以访问您的 Azure 环境,以便根据您的凭据发现虚拟机实例。

mcdc CLI 创建客户端密钥

如需允许 mcdc CLI 访问 Azure 资源,请在您的 Azure 账号中将 mcdc CLI 注册为应用,然后创建客户端密钥。

如需为 mcdc CLI 创建客户端密钥,请按以下步骤操作:

  1. 在 Azure 门户中,进入应用注册页面,然后点击新注册
  2. 如需添加新的客户端凭据,请点击 Add a certificate or secret(添加证书或密钥)。
  3. 如需添加新的客户端密钥,请点击 + New client secret(+ 新建客户端密钥),然后输入客户端密钥的说明和失效日期。
  4. 点击添加

您的客户端密钥现已准备就绪。复制客户端密钥值,因为您稍后在运行 mcdc CLI 命令时需要用到它。

创建自定义角色

为确保 mcdc CLI 拥有访问您的 Azure 资源所需的权限,您需要创建具有所需权限的自定义角色。

如需创建自定义角色,请按以下步骤操作:

  1. 在 Azure 门户中,进入订阅页面,然后选择您的 Azure 订阅。
  2. 点击订阅 ID 以复制该 ID。
  3. 保存以下 JSON 模板,并将 SUBSCRIPTION_ID 替换为您在第 2 步中复制的订阅 ID

      {
      "properties": {
            "roleName": "Minimum permissions role",
            "description": "This role contains the bare minimum of Azure IAM permissions",
            "assignableScopes": [
                  "/subscriptions/SUBSCRIPTION_ID"
            ],
      "permissions": [
                  {
                  "actions": [
                    "Microsoft.Compute/virtualMachines/read",
                    "Microsoft.Compute/disks/read",
                    "Microsoft.Insights/MetricDefinitions/read",
                    "Microsoft.Insights/Metrics/Read",
                    "Microsoft.Network/networkInterfaces/read"
                  ],
                  "notActions": [],
                  "dataActions": [],
                  "notDataActions": []
                  }
            ]
      }
      }
      

    如需详细了解权限,请参阅权限详细信息

  4. 在 Azure 门户中,转到访问权限控制 (IAM) 页面。

  5. 如需添加自定义角色,请点击 + 添加

  6. 点击从 JSON 开始,然后点击选择文件以上传您在第 3 步中创建的 JSON 文件。

  7. 如需查看您的输入,请点击查看 + 创建,然后点击创建以创建自定义角色。

将自定义角色分配给 mcdc CLI

创建自定义角色后,您需要将其分配给 mcdc CLI 应用,以向其授予必要的权限。

如需向 mcdc CLI 分配自定义角色,请按以下步骤操作:

  1. 在 Azure 门户中,转到访问权限控制 (IAM) 页面。
  2. 点击 + 添加,然后点击添加角色分配
  3. 在您创建的自定义角色(创建自定义角色)中,输入 m2vm 并选择该角色。
  4. 点击下一步
  5. 点击 + 选择成员,然后搜索您在注册 mcdc CLI 中注册的 mcdc CLI,然后点击选择
  6. 如需查看自定义角色并将其分配给您的应用,请点击查看 + 分配

在 Azure 上发现虚拟机实例

如需从 Azure 虚拟机实例收集清单信息,请按以下步骤操作:

  1. 在命令行终端中,切换到下载 mcdc CLI 的目录。

  2. 运行发现:

    Azure Cloud Shell

    如需使用现有的 Azure 凭据从 Azure Cloud Shell 发现虚拟机实例,请运行以下命令:

    Linux

    ./mcdc discover azure --tenant TENANT_ID 
    --subscription SUBSCRIPTION_ID
    --host-credentials

    Windows

    mcdc.exe discover azure --tenant TENANT_ID 
    --subscription SUBSCRIPTION_ID
    --host-credentials

    客户端密钥

    如需使用客户端密钥从有权访问您的 Azure 账号的任何计算机发现虚拟机实例,请运行以下命令:

    Linux

    ./mcdc discover azure --tenant TENANT_ID 
    --subscription SUBSCRIPTION_ID
    --client CLIENT_ID
    --secret CLIENT_SECRET
    [--resource-group RESOURCE_GROUP]

    Windows

    mcdc.exe discover azure --tenant TENANT_ID 
    --subscription SUBSCRIPTION_ID
    --client CLIENT_ID
    --secret CLIENT_SECRET
    [--resource-group RESOURCE_GROUP]

    替换以下内容:

    • TENANT_ID:Azure Active Directory (AAD) 租户的唯一标识符。
    • SUBSCRIPTION_ID:您在创建自定义角色部分中创建的订阅 ID。
    • CLIENT_ID:您在注册 mcdc CLI 部分创建的客户端 ID。
    • CLIENT_SECRET:您在注册 mcdc CLI 部分创建的客户端密钥。
    • RESOURCE_GROUP:包含要发现的虚拟机实例的 Azure 资源组。此标志是可选标志。

输出应类似如下所示:

  [+] Collecting Azure VM instances...
  Collecting region eu-west-1
  Collected 73 Azure VM instances
  [✓] Collection completed.

发现完成后,如需查看收集的数据,请运行 discover ls 命令:

Linux

./mcdc discover ls

Windows

mcdc.exe discover ls

输出应类似如下所示:

    VM Assets
    PLATFORM VM ID                        NAME              COLLECTED DATA   OS                          IP ADDRESSES
    4f7bd883-b9cd-42e8-a67d-af3ec82b7f29  abc-rhel9.0-arm   AZUREVM          Red Hat Enterprise Linux    192.0.2.1
    b5bcefcc-5565-4e45-a05a-fac055f73f14  def-rhel9.0-arm   AZUREVM          Red Hat Enterprise Linux    192.0.2.2
    sfbcesdc-8865-4e4t-a0sf-f8sfyjf75723  ghi-ol9.3         AZUREVM          Linux/UNIX                  192.0.2.3

后续步骤