Scoprire gli asset su AWS

Questo documento descrive come eseguire una ricerca dell'inventario sul tuo account Amazon Web Services (AWS) utilizzando l'interfaccia a riga di comando del client predittivo di Migration Center.

Puoi utilizzare l'interfaccia a riga di comando mcdc per raccogliere informazioni sulle seguenti risorse nel tuo account AWS:

  • Amazon CloudFront (anteprima)
  • Amazon Elastic Compute Cloud (EC2)
  • Amazon Elastic Container Service (ECS) (anteprima)
  • Amazon Elastic File System (EFS) (anteprima)
  • Amazon Elastic Kubernetes Service (EKS) (anteprima)
  • Amazon Redshift (anteprima)
  • Amazon Relational Database Service (RDS)
    • Microsoft SQL Server
    • MySQL
    • PostgreSQL
  • Amazon Simple Storage Service (S3) (anteprima)
  • Amazon Virtual Private Cloud (VPC) (anteprima)
  • AWS Lambda (anteprima)
  • Elastic Load Balancing (ELB) (anteprima)

La CLI mcdc invia quindi le informazioni raccolte a Migration Center, dove puoi completare la valutazione.

Limitazioni

Quando esegui l'individuazione dell'inventario sul tuo account AWS, la CLI mcdc presenta le seguenti limitazioni:

  • Nel report sul TCO sono inclusi solo i tipi di asset EC2 e RDS. Per esportare e analizzare tutti i tipi di asset al di fuori di Migration Center, esporta il tuo inventario.
  • Le seguenti informazioni per le istanze EC2 non vengono raccolte:
    • L'utilizzo della memoria non viene raccolto. Per raccogliere queste informazioni, assicurati che l'agente Amazon CloudWatch sia installato e configurato sulle tue istanze EC2.
    • Spazio libero su disco. Per raccogliere queste informazioni, esegui una ricerca di ospiti.
  • Non puoi eseguire l'interfaccia a riga di comando mcdc su computer Linux per raccogliere dati dalle istanze AWS Windows EC2. Per raccogliere informazioni dalle istanze Windows EC2, esegui l'interfaccia a riga di comando mcdc su un computer Windows.

Dati raccolti durante l'individuazione dell'inventario

La CLI mcdc raccoglie le seguenti informazioni dai servizi AWS supportati:

Tipo di asset Dati raccolti
Amazon EC2
Fai clic per mostrare i dati raccolti.
  • Dettagli istanza (ID, tipo, stato)
  • ID sconto proprietario
  • Dettagli del tipo di istanza (CPU, memoria)
  • Tag
  • Informazioni sul sistema operativo (da SSM)
  • Bloccare i mapping dei dispositivi e i dettagli del volume
  • Metriche sulle prestazioni (utilizzo della CPU, I/O di rete, I/O del disco)
Amazon RDS
Fai clic per mostrare i dati raccolti.
  • Dettagli dell'istanza di database (identificatore, classe, stato)
  • Dettagli del motore e della versione del motore
  • Spazio di archiviazione allocato
  • Tag
  • Metriche sul rendimento (utilizzo della CPU, throughput di rete, IOPS, spazio di archiviazione libero)
  • Informazioni sul rendimento (memoria libera)
Amazon S3
Fai clic per mostrare i dati raccolti.
  • Dettagli del bucket (nome, ARN, regione, data di creazione)
  • Tag
  • Stato del controllo delle versioni
  • Regole del ciclo di vita
  • Metriche sul rendimento (dimensioni del bucket per classe di archiviazione, numero di oggetti)
Amazon EKS
Fai clic per mostrare i dati raccolti.
  • Per cluster:
    • Dettagli del cluster (nome, ARN, versione, stato, endpoint)
    • Tag
    • ARN del ruolo
    • Configurazione VPC
    • Configurazione di logging
    • Tipi di avvio (EC2 o Fargate)
  • Per gruppo di nodi gestito:
    • Dettagli del gruppo di nodi (nome, ARN, tipo di AMI, tipi di istanza, dimensioni del disco)
    • Configurazione dello scaling (min, max, dimensione selezionata)
    • Gruppi di scalabilità automatica associati
  • Per profilo Fargate:
    • Dettagli del profilo (nome, ARN del ruolo di esecuzione del pod)
    • Subnet
    • Selettori (spazio dei nomi, etichette)
Amazon ECS
Fai clic per mostrare i dati raccolti.
  • Per cluster:
    • Dettagli del cluster (nome, ARN, stato)
    • Tag
    • Numero di servizi e attività
    • Istanze di container registrate
  • Per servizio:
    • Dettagli del servizio (nome, ARN, tipo di lancio)
    • Definizione dell'attività
    • Strategia di programmazione
    • Configurazione del deployment
    • Informazioni sul bilanciatore del carico
  • Per attività:
    • Dettagli attività (ARN, ultimo stato, stato selezionato)
    • CPU e memoria
    • Informazioni sul contenitore
ELB
Fai clic per mostrare i dati raccolti.
  • Per bilanciatore del carico (versioni 1 e 2):
    • Dettagli (nome, ARN/ID, nome DNS, tipo, schema)
    • Tag
    • VPC e zone di disponibilità
    • Listener e regole
    • Gruppi target e stato dei target
    • Integrità istanza (per i bilanciatori del carico ELB classici)
AWS Lambda
Fai clic per mostrare i dati raccolti.
  • Per funzione:
    • Configurazione (nome, ARN, runtime, ruolo, gestore, timeout)
    • Tag
    • Dimensioni della memoria e spazio di archiviazione temporaneo
    • Tipo di pacchetto e dimensioni del codice
    • Architetture
    • Base
    • Variabili di ambiente
    • Configurazione della tracciatura
    • Mappature delle origini evento
    • Impostazioni di concorrenza
Amazon CloudFront
Fai clic per mostrare i dati raccolti.
  • Per distribuzione:
    • Dettagli (ID, ARN, nome di dominio, stato, attivato)
    • Tag
    • Alias (CNAME)
    • Origini e gruppi di origini
    • Comportamenti della cache
    • Classe di prezzo, versione HTTP, IPv6 abilitato
Amazon EFS
Fai clic per mostrare i dati raccolti.
  • Per file system:
    • Dettagli (ID, ARN, nome, ora di creazione)
    • Tag
    • Dimensioni totali (accesso standard e sporadico)
    • Modalità Prestazioni e throughput
    • Stato crittografia
    • Criteri di ciclo di vita
    • Policy di backup
    • Configurazioni di replica
    • Supporti e punti di accesso
Amazon Redshift
Fai clic per mostrare i dati raccolti.
  • Per cluster di cui è stato eseguito il provisioning:
    • Dettagli del cluster (identificatore, ARN, stato, versione)
    • Tag
    • Tipo e conteggio dei nodi
    • Nome database
    • Ruoli VPC e IAM
    • Stato crittografia
    • Configurazione di snapshot e aqua
  • Per gruppo di lavoro serverless:
    • Dettagli del gruppo di lavoro (nome, ARN, stato, RPU di base)
    • Tag
    • Informazioni sullo spazio dei nomi (nome del database, ruoli IAM, chiave KMS)
    • Endpoint VPC
    • Configurazioni di copia snapshot
Amazon VPC
Fai clic per mostrare i dati raccolti.
  • Per VPC:
    • Dettagli VPC (ID, ARN, stato, blocco CIDR, tenancy)
    • Tag
    • ID opzioni DHCP
    • Subnet associate
    • ACL di rete associate

La CLI mcdc raccoglie le metriche degli ultimi 30 giorni, ad eccezione dell'utilizzo della memoria del database. Per l'utilizzo della memoria del database, AWS salva solo fino a 7 giorni di dati per impostazione predefinita, quindi la CLI mcdc raccoglie i dati solo per gli ultimi 7 giorni.

Prima di iniziare

Prima di iniziare l'individuazione dell'inventario, completa i seguenti passaggi:

  1. Esamina i requisiti per scaricare ed eseguire la CLI mcdc.
  2. Scegli dove scaricare l'interfaccia a riga di comando di mcdc e completa i passaggi per scaricare l'interfaccia a riga di comando di mcdc.
  3. Assicurati di avere accesso al tuo account AWS.

Scegliere dove scaricare la CLI mcdc

Puoi scaricare la CLI mcdc su macchine Linux e Windows. Ti consigliamo di utilizzare un'istanza EC2 Windows per scaricare ed eseguire la CLI mcdc, perché supporta tutti i metodi di raccolta disponibili.

Puoi scaricare la CLI mcdc in una posizione con accesso agli asset di destinazione, ad esempio:

  • AWS CloudShell
  • Un'istanza EC2 Linux
  • Un'istanza EC2 Windows
  • Qualsiasi computer su cui hai installato la CLI mcdc e hai accesso remoto al tuo account AWS.

Per istruzioni sul download dell'interfaccia a riga di comando di mcdc, consulta Scaricare l'interfaccia a riga di comando di mcdc.

Crea un criterio AWS IAM

Per autorizzare la CLI mcdc a leggere i dati dell'inventario delle risorse AWS, crea una policy AWS IAM con le seguenti autorizzazioni:

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "cloudfront:ListDistributions",
        "cloudfront:ListTagsForResource",
        "cloudwatch:DescribeAlarms",
        "cloudwatch:ListTagsForResource",
        "cloudwatch:GetMetricData",
        "ec2:DescribeRegions",
        "ec2:DescribeInstances",
        "ec2:DescribeInstanceTypes",
        "ec2:DescribeVolumes",
        "ec2:DescribeVpcs",
        "ec2:DescribeSubnets",
        "ec2:DescribeNetworkAcls",
        "ecs:ListClusters",
        "ecs:DescribeClusters",
        "ecs:ListServices",
        "ecs:DescribeServices",
        "ecs:ListTasks",
        "ecs:DescribeTasks",
        "ecs:ListContainerInstances",
        "ecs:DescribeContainerInstances",
        "efs:DescribeFileSystems",
        "efs:ListTagsForResource",
        "efs:DescribeLifecycleConfiguration",
        "efs:DescribeBackupPolicy",
        "efs:DescribeReplicationConfigurations",
        "efs:DescribeMountTargets",
        "efs:DescribeAccessPoints",
        "eks:ListClusters",
        "eks:DescribeCluster",
        "eks:ListNodegroups",
        "eks:DescribeNodegroup",
        "eks:ListFargateProfiles",
        "eks:DescribeFargateProfile",
        "autoscaling:DescribeAutoScalingGroups",
        "elasticloadbalancing:DescribeLoadBalancers",
        "elasticloadbalancing:DescribeTags",
        "elasticloadbalancing:DescribeListeners",
        "elasticloadbalancing:DescribeRules",
        "elasticloadbalancing:DescribeTargetGroups",
        "elasticloadbalancing:DescribeTargetHealth",
        "elasticloadbalancing:DescribeInstanceHealth",
        "lambda:ListFunctions",
        "lambda:ListTags",
        "lambda:ListEventSourceMappings",
        "lambda:GetFunctionConcurrency",
        "rds:DescribeDBInstances",
        "rds:DescribeDBEngineVersions",
        "pi:GetResourceMetrics",
        "redshift:DescribeClusters",
        "redshift-serverless:ListWorkgroups",
        "redshift-serverless:GetNamespace",
        "redshift-serverless:ListSnapshotCopyConfigurations",
        "redshift-serverless:ListTagsForResource",
        "s3:ListAllMyBuckets",
        "s3:GetBucketLocation",
        "s3:GetBucketTagging",
        "s3:GetBucketVersioning",
        "s3:GetLifecycleConfiguration",
        "ssm:DescribeInstanceInformation"
      ],
      "Resource": "*"
    }
  ]
}

Autenticarsi su AWS

Per autorizzare l'accesso dell'interfaccia a riga di comando mcdc al tuo ambiente AWS, autentica il tuo account utilizzando uno dei seguenti metodi:

Utilizza le credenziali AWS esistenti

Per utilizzare le credenziali AWS esistenti, esegui i comandi dell'interfaccia a riga di comando mcdc direttamente da AWS Cloud Shell. Se esegui la CLI mcdc da AWS Cloud Shell, puoi utilizzare le tue credenziali esistenti senza una chiave di accesso. In questo caso, la CLI mcdc può accedere al tuo ambiente AWS per rilevare gli asset AWS, poiché l'accesso viene concesso dalle tue credenziali.

Crea una chiave di accesso per la CLI mcdc

Per creare una chiave di accesso per la CLI mcdc, segui questi passaggi:

  1. Crea un utente IAM dedicato per interagire con l'API AWS.
  2. Collega il criterio IAM che hai creato nella sezione precedente al nuovo utente.
  3. Nella console AWS, vai all'utente IAM che hai creato nel passaggio precedente e fai clic su Utente  > Credenziali di sicurezza  > Crea chiave di accesso  > Altro  > Avanti  > Crea chiave di accesso.

    Per saperne di più, consulta Creare una chiave di accesso.

Memorizza l'ID chiave di accesso e la chiave di accesso. Queste informazioni sono necessarie per scansionare l'inventario AWS.

(Facoltativo) Configura l'accesso per raccogliere i dati del sistema operativo guest

I dati del sistema operativo guest arricchiscono i report sui prezzi, i report sulle licenze e le esportazioni dei dettagli degli asset. Questi dati aiutano anche a valutare l'idoneità per le migrazioni di containerizzazione a Google Kubernetes Engine, GKE Autopilot e Cloud Run. Se non vuoi raccogliere dati sul sistema operativo, puoi saltare questa sezione.

Per raccogliere i dati del sistema operativo guest, la workstation che esegue la CLI mcdc deve connettersi alle istanze EC2 di destinazione. Assicurati che le seguenti porte siano aperte sulle istanze EC2 di destinazione:

  • Porta 22 (SSH) per le macchine Linux
  • Porta 135 (WMI) per macchine Windows

Scopri gli asset nel tuo account AWS

Per scoprire gli asset nel tuo account AWS:

  1. Nel terminale della riga di comando, passa alla directory in cui hai scaricato la CLI mcdc.

  2. Esegui il rilevamento:

    AWS CloudShell

    Per rilevare gli asset nel tuo account AWS, esegui il seguente comando:

    Linux

    ./mcdc discover aws --host-config \ 
    [--services AWS_SERVICE_NAMES] \
    [--region AWS_REGION]

    Windows

    mcdc.exe discover aws --host-config \ 
    [--services AWS_SERVICE_NAMES] \
    [--region AWS_REGION]

    Sostituisci quanto segue:

    • AWS_SERVICE_NAMES: i tipi di asset da scoprire. Fornisci un elenco separato da virgole. I valori supportati sono cloudfront, dynamodb, ecs, efs, eks, elb, lambda, db (RDS), redshift, route53, s3, vm (EC2) e vpc. Se non fornisci questo flag, vengono rilevati tutti i tipi di asset supportati.
    • AWS_REGION: la regione AWS in cui si trovano le istanze EC2 e i database RDS. Questo flag è facoltativo. Se non fornisci questo flag, vengono rilevate le risorse di tutte le regioni AWS abilitate.

    Chiave di accesso AWS

    Per rilevare gli asset nel tuo account AWS utilizzando l'ID chiave di accesso AWS e la chiave di accesso, esegui il seguente comando:

    Linux

    ./mcdc discover aws --access-key-id AWS_ACCESS_KEY_ID \  
    --secret-access-key AWS_ACCESS_KEY \
    [--services AWS_SERVICE_NAMES] \
    [--region AWS_REGION]

    Windows

    mcdc.exe discover aws --access-key-id AWS_ACCESS_KEY_ID \  
    --secret-access-key AWS_ACCESS_KEY \
    [--services AWS_SERVICE_NAMES] \
    [--region AWS_REGION]

    Sostituisci quanto segue:

    • AWS_ACCESS_KEY_ID: l'ID chiave di accesso che hai creato nella sezione Crea una chiave di accesso per l'interfaccia a riga di comando di mcdc.
    • AWS_ACCESS_KEY: la chiave di accesso che hai creato nella sezione Crea una chiave di accesso per la CLI mcdc.
    • AWS_SERVICE_NAMES: i tipi di asset da scoprire. Fornisci un elenco separato da virgole. I valori supportati sono cloudfront, dynamodb, ecs, efs, eks, elb, lambda, db (RDS), redshift, route53, s3, vm (EC2) e vpc. Se non fornisci questo flag, vengono rilevati tutti i tipi di asset supportati.
    • AWS_REGION: la regione AWS in cui si trovano le tue risorse AWS. Questo flag è facoltativo. Se non fornisci questo flag, vengono rilevate le risorse di tutte le regioni AWS abilitate.

    L'output dovrebbe essere simile al seguente:

    [+] Collecting for AWS Account: 123456789012
    [+] Collecting RDS in region eu-north-1
    [✓] Collected 0 DB instances
    [!] No DB instances found
    [+] Collecting ECS in region eu-north-1
    [+] Successfully collected data for 2 ECS clusters in region eu-north-1
    [+] Collecting S3...
    [+] Successfully collected data for 74 S3 buckets
    [✓] Collection completed.
    
  3. (Facoltativo) Per esaminare i dati raccolti, esegui questo comando:

    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
    i-011d6234b5769fe2a  abc-rhel9.0-arm   AWSVM            Red Hat Enterprise Linux    192.0.2.1
    i-08f7e5e469508460f  def-rhel9.0-arm   AWSVM            Red Hat Enterprise Linux    192.0.2.2
    i-09e28bb6eggg94db8  ghi-ol9.3         AWSVM            Linux/UNIX                  192.0.2.3
    
    Database Assets
    GENERATED ID                                         PROVIDER        ENGINE
    arn:aws:rds:eu-west-1:12345678912:db:abc-sqlserver   RDS             SQL Server
    
    AWS CloudFront Distribution: 2 assets were collected.
    AWS ECS Cluster: 3 assets were collected.
    AWS EFS: 5 assets were collected.
    AWS Elastic Load Balancer: 7 assets were collected.
    AWS Lambda: 9 assets were collected.
    AWS Redshift: 2 assets were collected.
    AWS S3 Bucket: 77 assets were collected.
    AWS VPC: 84 assets were collected.
    

    (Facoltativo) Utilizza il flag --asset-types per visualizzare le risorse di un tipo specifico. Ad esempio, per visualizzare solo le istanze EC2, esegui questo comando:

    Linux

    ./mcdc discover ls --asset-types=vm

    Windows

    mcdc.exe discover ls --asset-types=vm

    Quando utilizzi il flag --asset-types, sono supportati solo i seguenti tipi di asset:

    • db: Servizio database relazionale (RDS)
    • vm: Elastic Compute Cloud (EC2)

  4. Dopo aver scoperto gli asset, per visualizzarli, esporta i dati raccolti in Migration Center.

Passaggi successivi