Descubre instancias de EC2 y bases de datos en AWS

En este documento, se describen los pasos para ejecutar un descubrimiento de inventario en tu cuenta de AWS con la CLI del cliente de descubrimiento de Migration Center.

La CLI de mcdc te permite recopilar información sobre tus instancias de Amazon Elastic Compute Cloud (EC2) y las bases de datos del Servicio de Base de datos Relacionales de Amazon (RDS) en AWS. Luego, la CLI de mcdc envía esta información a Migration Center, donde puedes continuar con la evaluación.

Información recopilada durante el descubrimiento del inventario

La CLI de mcdc recopila la siguiente información de tus instancias de EC2:

  • ID, nombre y región de la instancia
  • Tipo de instancia
  • Tamaño de la máquina, incluidos el tamaño de la CPU, la memoria y el almacenamiento
  • SO invitado: nombre, versión y arquitectura
  • Estado de energía (encendido/apagado)
  • Interfaces de red y direcciones IP y MAC asociadas
  • Discos: tipo de interfaz, tipo de volumen, etiqueta y tamaño
  • Datos de rendimiento
  • Compatibilidad con hipersubprocesos

La CLI de mcdc recopila la siguiente información de tus bases de datos de RDS:

  • Plataforma
  • Motor
  • Nombre
  • ID generado
  • Versión
  • Edición
  • Bytes asignados en el disco
  • Recuento de núcleos físicos
  • Bytes de memoria
  • Datos de rendimiento

Bases de datos compatibles

Se admiten las siguientes bases de datos:

  • Microsoft SQL Server
  • MySQL
  • PostgreSQL

Antes de comenzar

  1. Revisa los requisitos para descargar y ejecutar la CLI de mcdc.
  2. Completa los pasos para descargar la CLI de mcdc.
  3. Asegúrate de tener acceso a tu cuenta de AWS. Te recomendamos que uses la configuración y las credenciales de AWS en estaciones de trabajo configuradas para funcionar con herramientas de AWS, como la CLI de AWS.

Configura AWS

En las siguientes secciones, se describe cómo configurar tu cuenta de AWS para permitir que la CLI de mcdc recopile datos de tus instancias de EC2.

Crea una política de IAM de AWS

Crea una política de IAM de AWS con los siguientes permisos para leer los datos del inventario:

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "ec2:DescribeRegions",
        "ec2:DescribeInstances",
        "ec2:DescribeVolumes",
        "ec2:DescribeInstanceTypes",
        "rds:DescribeDBInstances",
        "rds:DescribeDBEngineVersions",
        "ssm:DescribeInstanceInformation",
        "cloudwatch:GetMetricData"
      ],
      "Resource": "*"
    }
  ]
}

Elige un método de autenticación en AWS

  1. Crea un usuario de IAM dedicado para interactuar con la API de AWS.
  2. Adjunta la política de IAM que creaste en el paso anterior a tu usuario nuevo.
  3. Elige un método de autenticación.

    • Crea un token de sesión de AWS con el comando get-session-token de la CLI de AWS.
    • Configura la configuración que usa la interfaz de línea de comandos de AWS (AWS CLI) para interactuar con AWS. Para obtener más información, consulta Cómo configurar la AWS CLI.
    • Crea una clave de acceso. En la consola de AWS, navega al usuario de IAM que creaste en el paso anterior: Usuario  > Credenciales de seguridad  > Crear clave de acceso  > Otro  > Siguiente  > Crear clave de acceso.

      Almacena la información de autenticación de AWS que se crea cuando creas la clave de acceso. La necesitarás para analizar el inventario de AWS con la CLI de mcdc.

Descubre instancias de EC2 y bases de datos de RDS

  1. En la terminal de línea de comandos, cambia al directorio en el que descargaste la CLI de mcdc.

  2. Ejecuta el descubrimiento:

    Para recopilar información de inventario de tus instancias de EC2 y bases de datos de RDS de una región de AWS específica, haz lo siguiente:

    Linux

    ./mcdc discover aws --access-key-id AWS_ACCESS_KEY_ID 
    --secret-access-key AWS_SECRET_ACCESS_KEY
    --session-token AWS_SESSION_TOKEN
    --services AWS_SERVICE_NAME
    --region AWS_REGION

    Windows

    mcdc.exe discover aws --access-key-id AWS_ACCESS_KEY_ID 
    --secret-access-key AWS_SECRET_ACCESS_KEY
    --session-token AWS_SESSION_TOKEN
    --services AWS_SERVICE_NAME
    --region AWS_REGION

    Para autenticarte en AWS con la configuración de AWS CLI del host, especifica la marca --host-config, que localiza automáticamente tu configuración de AWS:

    Linux

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

    Windows

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

    Para autenticarte en AWS con tu ID de clave de acceso y clave secreta de AWS, especifica las marcas --access-key-id y --secret-access-key:

    Linux

    ./mcdc discover aws --access-key-id AWS_ACCESS_KEY_ID 
    --secret-access-key AWS_SECRET_ACCESS_KEY
    --services AWS_SERVICE_NAME
    [--region AWS_REGION]

    Windows

    mcdc.exe discover aws --access-key-id AWS_ACCESS_KEY_ID 
    --secret-access-key AWS_SECRET_ACCESS_KEY
    --services AWS_SERVICE_NAME
    [--region AWS_REGION]

    Reemplaza lo siguiente:

    • AWS_SESSION_TOKEN: Es el token de sesión que creaste en la sección Configura el entorno de AWS.
    • AWS_ACCESS_KEY_ID: Es el ID de la clave de acceso que creaste en la sección Configura el entorno de AWS.
    • AWS_SECRET_ACCESS_KEY: La clave de acceso secreta que creaste en la sección Configura el entorno de AWS.
    • AWS_HOST_CONFIG: La configuración de la CLI de AWS del host. Para obtener más información, consulta Cómo configurar la AWS CLI.
    • AWS_REGION: Es la región de AWS en la que se encuentran tus instancias de EC2 y las bases de datos de RDS. Esta marca es opcional. Si no proporcionas esta marca, se descubrirán los recursos de todas las regiones de AWS habilitadas.
    • AWS_SERVICE_NAME: Es el nombre del servicio de AWS (rds o ec2). Esta marca es opcional. Si no proporcionas esta marca, se descubrirán las instancias de EC2 y las bases de datos de RDS.

El resultado debería ser similar al siguiente:

  [+] Collecting EC2...
  Collecting region eu-west-1
  Collected 73 EC2 instances
  [+] Collecting RDS...
  [+] Collecting region eu-west-1
  [✓] Collected 1 DB instances
  [✓] Collected total of 1 DB instances
  [✓] Collection completed.

Cuando finalice el descubrimiento, ejecuta el comando discover ls para revisar los datos recopilados.

Linux

./mcdc discover ls

Windows

mcdc.exe discover ls

De forma opcional, usa el parámetro --asset-types para mostrar solo VMs o bases de datos. Por ejemplo, ejecuta discover ls --asset-types=vm para mostrar solo instancias de VM o discover ls --asset-types=db para mostrar solo bases de datos.

El resultado debería ser similar al siguiente:

    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

¿Qué sigue?