Rilevare le istanze di macchine virtuali su Azure

Questo documento descrive i passaggi per eseguire una rilevamento dell'inventario sul tuo account Azure utilizzando l'interfaccia a riga di comando del client di rilevamento del Centro di migrazione.

L'interfaccia a riga di comando mcdc consente di raccogliere informazioni sulle istanze di macchine virtuali (VM) di Azure. L'interfaccia a riga di comando mcdc invia queste informazioni a Migration Center, dove puoi continuare con la valutazione.

Dati raccolti durante il rilevamento dell'inventario

L'interfaccia a riga di comando mcdc raccoglie le seguenti informazioni dalle VM di Azure:

  • Dettagli istanza (ID, nome, tipo, stato)
  • Dettagli sul tipo di istanza (CPU, memoria)
  • Dettagli sul sistema operativo (tipo e versione)
  • Dimensione disco
  • Interfacce di rete (indirizzi IP e MAC)
  • Tag
  • Regione dell'istanza
  • Metriche sul rendimento (utilizzo della CPU, utilizzo della memoria, I/O di rete, I/O del disco)

Prima di iniziare

  1. Esamina i requisiti per il download e l'esecuzione dell'interfaccia a riga di comando mcdc.
  2. Completa i passaggi per scaricare l'interfaccia a riga di comando mcdc. Migration Center non supporta Azure PowerShell; utilizza l'interfaccia a riga di comando di Azure per eseguire i comandi dell'interfaccia a riga di comando mcdc.

Eseguire l'autenticazione in Azure

Per consentire all'interfaccia a riga di comando mcdc di accedere al tuo ambiente Azure, devi configurare l'accesso utilizzando uno dei seguenti metodi:

Utilizzare le credenziali Azure esistenti

Per utilizzare le credenziali Azure esistenti, esegui i comandi dell'interfaccia a riga di comando mcdc direttamente da Azure Cloud Shell. Se esegui l'interfaccia a riga di comando mcdc da Azure Cloud Shell, puoi utilizzare le credenziali esistenti senza un client secret. In questo caso, l'interfaccia a riga di comando mcdc può accedere al tuo ambiente Azure per rilevare le istanze VM, come consentito dalle tue credenziali.

Creare un client secret per l'interfaccia a riga di comando mcdc

Per consentire all'interfaccia a riga di comando mcdc di accedere alle risorse Azure, registra l'interfaccia a riga di comando mcdc come applicazione nel tuo account Azure e crea un client secret.

Per creare un client secret per l'interfaccia a riga di comando mcdc:

  1. Nel portale di Azure, vai alla pagina Registrazione app e fai clic su Nuova registrazione.
  2. Per aggiungere nuove credenziali client, fai clic su Aggiungi un certificato o un secret.
  3. Per aggiungere un nuovo client secret, fai clic su + Nuovo client secret e inserisci una descrizione e una data di scadenza per il client secret.
  4. Fai clic su Aggiungi.

Il client secret è ora pronto per l'uso. Copia il valore del client secret perché ti servirà in un secondo momento quando esegui i comandi dell'interfaccia a riga di comando mcdc.

Creare un ruolo personalizzato

Per assicurarti che l'interfaccia a riga di comando mcdc disponga delle autorizzazioni necessarie per accedere alle tue risorse Azure, devi creare un ruolo personalizzato con le autorizzazioni richieste.

Per creare un ruolo personalizzato:

  1. Nel portale di Azure, vai alla pagina Abbonamenti e seleziona il tuo abbonamento Azure.
  2. Copia l'ID abbonamento facendo clic su di esso.
  3. Salva il seguente modello JSON e sostituisci SUBSCRIPTION_ID con l'ID abbonamento che hai copiato nel passaggio 2:

      {
      "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": []
                  }
            ]
      }
      }
      

    Per ulteriori informazioni sui dettagli delle autorizzazioni, vedi dettagli delle autorizzazioni.

  4. Nel portale di Azure, vai alla pagina Controllo dell'accesso (IAM).

  5. Per aggiungere un ruolo personalizzato, fai clic su + Aggiungi.

  6. Fai clic su Inizia da JSON e poi su Seleziona file per caricare il file JSON che hai creato nel passaggio 3.

  7. Per rivedere gli input, fai clic su Rivedi + crea, quindi fai clic su Crea per creare il ruolo personalizzato.

Assegnare il ruolo personalizzato all'interfaccia a riga di comando mcdc

Dopo aver creato il ruolo personalizzato, devi assegnarlo all'applicazione dell'interfaccia a riga di comando mcdc per concederle le autorizzazioni necessarie.

Per assegnare un ruolo personalizzato all'interfaccia a riga di comando mcdc:

  1. Nel portale di Azure, vai alla pagina Controllo dell'accesso (IAM).
  2. Fai clic su + Aggiungi e poi su Aggiungi assegnazione di ruolo.
  3. Nel ruolo personalizzato che hai creato (Creare un ruolo personalizzato), inserisci m2vm e seleziona il ruolo.
  4. Fai clic su Avanti.
  5. Fai clic su + Seleziona membri , cerca l'interfaccia a riga di comando mcdc che hai registrato in Registrare l'interfaccia a riga di comando mcdc e fai clic su Seleziona.
  6. Per rivedere e assegnare il ruolo personalizzato alla tua app, fai clic su Rivedi + assegna.

Rilevare le istanze VM su Azure

Per raccogliere informazioni sull'inventario dalle istanze VM di Azure:

  1. Nel terminale della riga di comando, passa alla directory in cui hai scaricato l'interfaccia a riga di comando mcdc.

  2. Esegui il rilevamento:

    Azure Cloud Shell

    Per rilevare le istanze VM da Azure Cloud Shell utilizzando le credenziali Azure esistenti, esegui il seguente comando:

    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]

    Sostituisci quanto segue:

    • TENANT_ID: l'identificatore univoco del tenant di Azure Active Directory (AAD).
    • SUBSCRIPTION_ID: l'ID abbonamento che vuoi rilevare. Questo flag è facoltativo. Se omesso, verranno raccolti tutti gli abbonamenti nel tenant.
    • RESOURCE_GROUP: il gruppo di risorse Azure che contiene le istanze VM che vuoi rilevare. Questo flag è facoltativo.

    Client secret

    Per rilevare le istanze VM da qualsiasi computer con accesso al tuo account Azure utilizzando il client secret, esegui il seguente comando:

    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]

    Sostituisci quanto segue:

    • TENANT_ID: l'identificatore univoco del tenant di Azure Active Directory (AAD).
    • CLIENT_ID: l'ID client che hai creato nella sezione Registrare l'interfaccia a riga di comando mcdc.
    • CLIENT_SECRET: il client secret che hai creato in nella sezione Registrare l'interfaccia a riga di comando mcdc.
    • SUBSCRIPTION_ID: l'ID abbonamento che vuoi rilevare. Questo flag è facoltativo. Se omesso, verranno raccolti tutti gli abbonamenti nel tenant.
    • RESOURCE_GROUP: il gruppo di risorse Azure che contiene le istanze VM che vuoi rilevare. Questo flag è facoltativo.

L'output dovrebbe essere simile al seguente:

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

Al termine del rilevamento, per esaminare i dati raccolti, esegui il comando discover ls:

Linux

./mcdc discover ls

Windows

mcdc.exe discover ls

L'output dovrebbe essere simile al seguente:

    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

Passaggi successivi