本文档介绍了使用 Migration Center 资产识别客户端 CLI 在 Azure 账号中运行目录发现的步骤。
借助 mcdc
CLI,您可以收集有关 Azure 虚拟机 (VM) 实例的信息。然后,mcdc
CLI 会将此信息发送到 Migration Center,您可以在 Migration Center 中继续进行评估。
准备工作
- 查看下载和运行
mcdc
CLI 的要求。 - 完成下载
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 创建客户端密钥,请按以下步骤操作:
- 在 Azure 门户中,进入应用注册页面,然后点击新注册。
- 如需添加新的客户端凭据,请点击 Add a certificate or secret(添加证书或密钥)。
- 如需添加新的客户端密钥,请点击 + New client secret(+ 新建客户端密钥),然后输入客户端密钥的说明和失效日期。
- 点击添加。
您的客户端密钥现已准备就绪。复制客户端密钥值,因为您稍后在运行 mcdc
CLI 命令时需要用到它。
创建自定义角色
为确保 mcdc
CLI 拥有访问您的 Azure 资源所需的权限,您需要创建具有所需权限的自定义角色。
如需创建自定义角色,请按以下步骤操作:
- 在 Azure 门户中,进入订阅页面,然后选择您的 Azure 订阅。
- 点击订阅 ID 以复制该 ID。
保存以下 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": [] } ] } }
如需详细了解权限,请参阅权限详细信息。
在 Azure 门户中,转到访问权限控制 (IAM) 页面。
如需添加自定义角色,请点击 + 添加。
点击从 JSON 开始,然后点击选择文件以上传您在第 3 步中创建的 JSON 文件。
如需查看您的输入,请点击查看 + 创建,然后点击创建以创建自定义角色。
将自定义角色分配给 mcdc
CLI
创建自定义角色后,您需要将其分配给 mcdc
CLI 应用,以向其授予必要的权限。
如需向 mcdc
CLI 分配自定义角色,请按以下步骤操作:
- 在 Azure 门户中,转到访问权限控制 (IAM) 页面。
- 点击 + 添加,然后点击添加角色分配。
- 在您创建的自定义角色(创建自定义角色)中,输入
m2vm
并选择该角色。 - 点击下一步。
- 点击 + 选择成员,然后搜索您在注册
mcdc
CLI 中注册的mcdc
CLI,然后点击选择。 - 如需查看自定义角色并将其分配给您的应用,请点击查看 + 分配。
在 Azure 上发现虚拟机实例
如需从 Azure 虚拟机实例收集清单信息,请按以下步骤操作:
在命令行终端中,切换到下载
mcdc
CLI 的目录。运行发现:
Azure Cloud Shell
如需使用现有的 Azure 凭据从 Azure Cloud Shell 发现虚拟机实例,请运行以下命令:
Linux
./mcdc discover azure --tenant TENANT_ID
--subscription SUBSCRIPTION_ID
--host-credentialsWindows
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
后续步骤
- 了解如何运行客机发现。
- 了解如何将收集的数据导出到 Migration Center。