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 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
  • Nombre, versión y arquitectura del sistema operativo.
  • Estado de encendido (encendido o apagado)
  • Interfaces de red y direcciones IP y MAC asociadas.
  • Información del disco, incluidos el tipo de interfaz, el tipo de volumen, la etiqueta y el tamaño
  • Compatibilidad con Hyper-Threading
  • 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 del 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 recopila datos solo 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 Linux para recopilar datos de instancias de EC2 de Windows de AWS. 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 la detección del 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. Recomendamos usar 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 las siguientes:

  • AWS CloudShell
  • Una instancia de EC2 de Linux
  • Una instancia EC2 de Windows
  • Cualquier computadora en la que hayas instalado la CLI de mcdc y tengas 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 del 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": "*"
    }
  ]
}

Autenticación en AWS

Para permitir que la CLI de mcdc acceda a tu entorno de AWS, autentica tu cuenta con uno de los siguientes métodos:

Usa tus credenciales de AWS existentes

Para usar tus credenciales existentes de AWS, ejecuta los comandos de la CLI de mcdc directamente desde AWS Cloud Shell. 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 detectar instancias de VM, según lo permiten 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 hasta el 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 de clave de acceso y la clave de acceso. Necesitas esta información para analizar 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 recursos. Estos datos también ayudan a evaluar la idoneidad de los recorridos de creación de contenedores en Google Kubernetes Engine, GKE Autopilot 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 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 la línea de comandos, cambia al directorio en el que descargaste la CLI de mcdc.

  2. Ejecuta el descubrimiento:

    AWS CloudShell

    Para detectar 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]
    [--tag AWS_TAG]

    Windows

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

    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 detectarán tanto las instancias de EC2 como las bases de datos de RDS.
    • AWS_REGION: Es la región de AWS en la que se encuentran tus instancias de EC2 y bases de datos de RDS. Esta marca es opcional. Si no proporcionas esta marca, se detectarán los recursos de todas las regiones de AWS habilitadas.
    • AWS_TAG: Es la etiqueta de AWS para filtrar recursos por una etiqueta específica o una combinación de etiqueta y valor en el formato key=value o key. Si proporcionas varias etiquetas, la CLI de mcdc solo recopila los recursos que contienen todas las etiquetas.

    Clave de acceso de AWS

    Para descubrir instancias de EC2 y bases de datos de RDS con tu ID de clave de acceso y 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]
    [--tag AWS_TAG]

    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]
    [--tag AWS_TAG]

    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 detectarán tanto las instancias de EC2 como las bases de datos de RDS.
    • AWS_REGION: Es la región de AWS en la que se encuentran tus instancias de EC2 y bases de datos de RDS. Esta marca es opcional. Si no proporcionas esta marca, se detectarán los recursos de todas las regiones de AWS habilitadas.
    • AWS_TAG: Es la etiqueta de AWS para filtrar recursos por una etiqueta específica o una combinación de etiqueta y valor en el formato key=value o key. Si proporcionas varias etiquetas, la CLI de mcdc solo recopila los recursos que contienen todas las etiquetas.

    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 manera opcional, usa el parámetro --asset-types para mostrar solo las VMs o las bases de datos. Por ejemplo, para mostrar solo las instancias de VM, ejecuta discover ls --asset-types=vm; para mostrar solo las 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?