在 Azure 上探索虛擬機器執行個體

本文說明如何使用 Migration Center 用戶資產評估器 CLI,在 Azure 帳戶中執行資產目錄探索作業。

您可以使用 mcdc CLI 收集 Azure 虛擬機器 (VM) 執行個體的相關資訊。mcdc CLI 隨後會將這項資訊傳送至 Migration Center,您可以在該處繼續進行評估。

事前準備

  1. 詳閱下載及執行 mcdc CLI 的需求條件
  2. 完成下載 mcdc CLI 的步驟。 遷移中心不支援 Azure PowerShell,請使用 Azure CLI 執行 mcdc CLI 指令。

向 Azure 進行驗證

如要允許 mcdc CLI 存取 Azure 環境,您需要使用下列其中一種方法設定存取權:

使用現有的 Azure 憑證

如要使用現有的 Azure 憑證,請直接從 Azure Cloud Shell 執行 mcdc CLI 指令。如果您從 Azure Cloud Shell 執行 mcdc CLI,可以使用現有憑證,不必提供用戶端密碼。在這種情況下,CLI 可以存取您的 Azure 環境,並根據憑證探索 VM 執行個體。mcdc

mcdc CLI 建立用戶端密碼

如要允許 mcdc CLI 存取 Azure 資源,請在 Azure 帳戶中將 mcdc CLI 註冊為應用程式,並建立用戶端密碼。

如要為 mcdc CLI 建立用戶端密碼,請按照下列步驟操作:

  1. 在 Azure 入口網站中,前往「App Registration」頁面,然後按一下「New registration」
  2. 如要新增用戶端憑證,請按一下「新增憑證或密鑰」
  3. 如要新增用戶端密鑰,請按一下「+ New client secret」(新增用戶端密鑰),然後輸入用戶端密鑰的說明和到期日。
  4. 按一下「新增」

現在可以使用用戶端密鑰。複製用戶端密鑰值,因為稍後執行 mcdc CLI 指令時會用到。

建立自訂角色

為確保 mcdc CLI 具備存取 Azure 資源的必要權限,您必須建立具備必要權限的自訂角色。

如要建立自訂角色,請按照下列步驟操作:

  1. 在 Azure 入口網站中,前往「Subscriptions」(訂閱項目) 頁面,然後選取您的 Azure 訂閱項目。
  2. 按一下「訂閱 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 上的 VM 執行個體

如要從 Azure VM 執行個體收集清查資訊,請按照下列步驟操作:

  1. 在指令列終端機中,切換至您下載 mcdc CLI 的目錄。

  2. 執行探索作業:

    Azure Cloud Shell

    如要使用現有的 Azure 憑證,透過 Azure Cloud Shell 探索 VM 執行個體,請執行下列指令:

    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 帳戶的電腦,使用用戶端密碼探索 VM 執行個體,請執行下列指令:

    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) 租戶的專屬 ID。
    • SUBSCRIPTION_ID:您在「建立自訂角色」一節中建立的訂閱 ID。
    • CLIENT_ID:您在「註冊 mcdc CLI」一節中建立的用戶端 ID。
    • CLIENT_SECRET:您在「註冊 mcdc CLI」一節中建立的用戶端密鑰。
    • RESOURCE_GROUP:包含您要探索的 VM 執行個體的 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

後續步驟