Descubre instancias de EC2 y bases de datos en AWS

En este documento, se describe cómo ejecutar un descubrimiento de inventario en tu cuenta de Amazon Web Services (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 de Amazon Relational Database Service (RDS) en AWS. Luego, la CLI de mcdc envía la información recopilada a Migration Center para su evaluación.

Información recopilada durante el descubrimiento del inventario

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

  • Tipo, ID, nombre y región de la instancia
  • Tamaño de la máquina, incluido el tamaño de la CPU, la memoria y el almacenamiento
  • El nombre, la versión y la arquitectura del sistema operativo
  • Estado de la alimentación (encendido o apagado)
  • Interfaces de red y direcciones IP y MAC asociadas
  • Información del disco, incluido el tipo de interfaz, el tipo de volumen, la etiqueta y el tamaño
  • Compatibilidad con hipersubprocesos
  • Datos de rendimiento de cada instancia de EC2:
    • Operaciones de entrada y salida por segundo (IOPS)
    • Uso de CPU
    • Entrada y salida de red

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

  • Plataforma
  • Motor de base de datos
  • Nombre
  • ID generado
  • Versión
  • Edición
  • Bytes asignados en el disco
  • Recuento de núcleos físicos
  • Bytes de memoria
  • Datos de rendimiento de cada base de datos:
    • Uso de memoria
    • IOPS del disco
    • Entrada y salida de red
    • Uso de CPU

La CLI de mcdc recopila métricas de los últimos 30 días, excepto el uso de memoria de la base de datos. En el caso del uso de memoria de la base de datos, AWS solo guarda hasta 7 días de datos de forma predeterminada, por lo que la CLI de mcdc solo recopila datos de los últimos 7 días.

Bases de datos compatibles

Se admiten las siguientes bases de datos:

  • Microsoft SQL Server
  • MySQL
  • PostgreSQL

Limitaciones

Cuando ejecutas un descubrimiento de inventario en tu cuenta de AWS, la CLI de mcdc tiene las siguientes limitaciones:

  • No se recopila la siguiente información de las instancias de EC2:
  • No puedes ejecutar la CLI de mcdc en máquinas de Linux para recopilar datos de instancias de AWS EC2 de Windows. Para recopilar información de instancias de EC2 de Windows, ejecuta la CLI de mcdc en una máquina de Windows.

Antes de comenzar

Antes de comenzar el descubrimiento de inventario, asegúrate de haber completado los siguientes pasos:

  1. Revisa los requisitos para descargar y ejecutar la CLI de mcdc.
  2. Elige dónde descargar la CLI de mcdc y completa los pasos para descargar la CLI de mcdc.
  3. Asegúrate de tener acceso a tu cuenta de AWS.

Elige dónde descargar la CLI de mcdc

Puedes descargar la CLI de mcdc en máquinas Linux y Windows. Te recomendamos que uses una instancia de EC2 de Windows para descargar y ejecutar la CLI de mcdc, ya que admite todos los métodos de recopilación disponibles.

Puedes descargar la CLI de mcdc en una ubicación con acceso a tus recursos de destino, como los siguientes:

  • AWS CloudShell
  • Una instancia de EC2 de Linux
  • Una instancia de EC2 de Windows
  • Cualquier computadora en la que hayas instalado la CLI de mcdc y que tenga acceso remoto a tu cuenta de AWS

Para obtener instrucciones para descargar la CLI de mcdc, consulta Descarga la CLI de mcdc.

Crea una política de IAM de AWS

Para permitir que la CLI de mcdc lea los datos de inventario de EC2 y RDS, crea una política de IAM de AWS con los siguientes permisos:

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

Autentícate en AWS

Para permitir que la CLI de mcdc acceda a tu entorno de AWS, autentícate con una de las siguientes opciones:

Usa tus credenciales de AWS existentes

Para usar tus credenciales de AWS existentes, ejecuta los comandos de CLI de mcdc directamente desde AWS CloudShell. Si ejecutas la CLI de mcdc desde AWS Cloud Shell, puedes usar tus credenciales existentes sin una clave de acceso. En este caso, la CLI de mcdc puede acceder a tu entorno de AWS para descubrir instancias de VM, según lo que te otorgan tus credenciales.

Crea una clave de acceso para la CLI de mcdc

Para crear una clave de acceso para la CLI de mcdc, sigue estos pasos:

  1. Crea un usuario de IAM dedicado para interactuar con la API de AWS.
  2. Adjunta la política de IAM que creaste en la sección anterior a tu usuario nuevo.
  3. En la consola de AWS, navega al usuario de IAM que creaste en el paso anterior y haz clic en Usuario  > Credenciales de seguridad  > Crear clave de acceso  > Otro  > Siguiente  > Crear clave de acceso.

    Para obtener más información, consulta Crea una clave de acceso.

Almacena el ID y la clave de acceso. Necesitas esta información para scanear tu inventario de AWS.

Opcional: Configura el acceso para recopilar datos del sistema operativo invitado

Los datos del sistema operativo invitado enriquecen los informes de precios, los informes de licencias y las exportaciones de detalles de los activos. Estos datos también ayudan a evaluar la idoneidad de los procesos de creación de contenedores en Google Kubernetes Engine, Autopilot de GKE y Cloud Run. Si no quieres recopilar datos del sistema operativo, puedes omitir esta sección.

Para recopilar datos del sistema operativo invitado, la estación de trabajo que ejecuta la CLI de mcdc debe conectarse a las instancias de EC2 de destino. Asegúrate de que los siguientes puertos estén abiertos en las instancias de EC2 de destino:

  • Puerto 22 (SSH) para máquinas Linux
  • Puerto 135 (WMI) para máquinas con Windows

Descubre instancias de EC2 y bases de datos de RDS

Para descubrir instancias de EC2 y bases de datos de RDS, sigue estos pasos:

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

  2. Ejecuta el descubrimiento:

    AWS CloudShell

    Para descubrir instancias de EC2 y bases de datos de RDS en tu cuenta de AWS, ejecuta el siguiente comando:

    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]

    Reemplaza lo siguiente:

    • 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.
    • 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 habilitadas de AWS.

    Clave de acceso de AWS

    Para descubrir instancias de EC2 y bases de datos de RDS con el ID y la clave de acceso de AWS, ejecuta el siguiente comando:

    Linux

    ./mcdc discover aws --access-key-id AWS_ACCESS_KEY_ID 
    --secret-access-key AWS_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_ACCESS_KEY
    [--services AWS_SERVICE_NAME]
    [--region AWS_REGION]

    Reemplaza lo siguiente:

    • AWS_ACCESS_KEY_ID: Es el ID de la clave de acceso que creaste en la sección Crea una clave de acceso para la CLI de mcdc.
    • AWS_ACCESS_KEY: Es la clave de acceso que creaste en la sección Crea una clave de acceso para la CLI de mcdc.
    • 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.
    • 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 habilitadas de AWS.

    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.
    
  3. Para revisar los datos recopilados, ejecuta el siguiente comando:

    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, para mostrar solo instancias de VM, ejecuta discover ls --asset-types=vm. Para mostrar solo bases de datos, ejecuta discover ls --asset-types=db.

    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?