发现 Azure 上的虚拟机实例

本文档介绍了使用 Migration Center 资产识别客户端 CLI 对 Azure 账号运行资产识别的步骤。

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

资产识别期间收集的数据

mcdc CLI 会从 Azure 虚拟机收集以下信息:

  • 实例详情(ID、名称、类型、状态)
  • 实例类型详情(CPU、内存)
  • 操作系统详情(类型和版本)
  • 磁盘大小
  • 网络接口(IP 和 MAC 地址)
  • 标记
  • 实例区域
  • 性能指标(CPU 利用率、内存利用率、网络 I/O、磁盘 I/O)

准备工作

  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 资源,请将 mcdc CLI 注册为 Azure 账号中的应用,并创建客户端密钥。

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

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

客户端密钥现已准备就绪,可供使用。复制客户端密钥值,因为您稍后在运行 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 
    --host-credentials
    [--subscription SUBSCRIPTION_ID]
    [--resource-group RESOURCE_GROUP]

    Windows

    mcdc.exe discover azure --tenant TENANT_ID 
    --host-credentials
    [--subscription SUBSCRIPTION_ID]
    [--resource-group RESOURCE_GROUP]

    替换以下内容:

    • TENANT_ID:您的 Azure Active Directory (AAD) 租户的唯一标识符。
    • SUBSCRIPTION_ID:您 要发现的订阅 ID。此标志是可选标志,如果省略,系统将收集租户中的所有订阅。
    • RESOURCE_GROUP:包含您要发现的虚拟机实例的 Azure 资源组。此标志是可选标志。

    客户端密钥

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

    Linux

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

    Windows

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

    替换以下内容:

    • TENANT_ID:您的 Azure Active Directory (AAD) 租户的唯一标识符。
    • CLIENT_ID:您在 注册 mcdc CLI 部分中创建的客户端 ID。
    • CLIENT_SECRET:您在 注册 mcdc CLI 部分中创建的客户端密钥。
    • SUBSCRIPTION_ID:您 要发现的订阅 ID。此标志是可选标志,如果省略,系统将收集租户中的所有订阅。
    • 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

后续步骤