Descubre recursos 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.

Puedes usar la CLI de mcdc para recopilar información sobre los siguientes recursos de tu cuenta de AWS:

Luego, la CLI de mcdc envía la información recopilada a Migration Center, donde puedes completar la evaluación.

Limitaciones

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

  • En el informe de TCO, solo se incluyen los tipos de recursos de EC2 y RDS. Para exportar y analizar todos los tipos de recursos fuera de Migration Center, exporta tu inventario.
  • No se recopila la siguiente información de las instancias de EC2:
    • No se recopila el uso de memoria. Para recopilar esta información, asegúrate de que el agente de Amazon CloudWatch esté instalado y configurado en tus instancias de EC2.
    • Espacio libre en el disco Para recopilar esta información, ejecuta un descubrimiento de invitado.
  • 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.

Datos recopilados durante el descubrimiento del inventario

La CLI de mcdc recopila la siguiente información de los servicios de AWS compatibles:

Tipo de recurso Datos recopilados
Amazon EC2
Haz clic para mostrar los datos recopilados.
  • Detalles de la instancia (ID, tipo, estado)
  • ID del descuento del propietario
  • Detalles del tipo de instancia (CPU, memoria)
  • Etiquetas
  • Información del sistema operativo (del SSM)
  • Bloquea las asignaciones de dispositivos y los detalles de volumen
  • Métricas de rendimiento (uso de CPU, E/S de red, E/S de disco)
Amazon RDS
Haz clic para mostrar los datos recopilados.
  • Detalles de la instancia de la base de datos (identificador, clase, estado)
  • Detalles del motor y la versión del motor
  • Almacenamiento asignado
  • Etiquetas
  • Métricas de rendimiento (uso de CPU, capacidad de procesamiento de la red, IOPS, almacenamiento libre)
  • Estadísticas de rendimiento (memoria disponible)
Amazon S3
Haz clic para mostrar los datos recopilados.
  • Detalles del bucket (nombre, ARN, región y fecha de creación)
  • Etiquetas
  • Estado del control de versiones
  • Reglas del ciclo de vida
  • Métricas de rendimiento (tamaño del bucket por clase de almacenamiento, cantidad de objetos)
Amazon EKS
Haz clic para mostrar los datos recopilados.
  • Por clúster:
    • Detalles del clúster (nombre, ARN, versión, estado y extremo)
    • Etiquetas
    • ARN del rol
    • Configuración de VPC
    • Configuración de registros
    • Tipos de lanzamiento (EC2 o Fargate)
  • Por grupo de nodos administrado:
    • Detalles del grupo de nodos (nombre, ARN, tipo de AMI, tipos de instancias, tamaño del disco)
    • Configuración de escalamiento (tamaño mínimo, máximo y seleccionado)
    • Grupos de ajuste de escala automático asociados
  • Por perfil de Fargate:
    • Detalles del perfil (nombre, ARN del rol de ejecución del pod)
    • Subredes
    • Selectores (espacio de nombres, etiquetas)
Amazon ECS
Haz clic para mostrar los datos recopilados.
  • Por clúster:
    • Detalles del clúster (nombre, ARN y estado)
    • Etiquetas
    • Cantidad de servicios y tareas
    • Instancias de contenedor registradas
  • Por servicio:
    • Detalles del servicio (nombre, ARN, tipo de lanzamiento)
    • Definición de la tarea
    • Estrategia de programación
    • Configuración de implementación
    • Información del balanceador de cargas
  • Por tarea:
    • Detalles de la tarea (ARN, último estado, estado seleccionado)
    • CPU y memoria
    • Información del contenedor
ELB
Haz clic para mostrar los datos recopilados.
  • Por balanceador de cargas (versiones 1 y 2):
    • Detalles (nombre, ARN/ID, nombre de DNS, tipo, esquema)
    • Etiquetas
    • VPC y zonas de disponibilidad
    • Objetos de escucha y reglas
    • Grupos objetivo y estado del objetivo
    • Estado de la instancia (para ELB clásicos)
AWS Lambda
Haz clic para mostrar los datos recopilados.
  • Por función:
    • Configuración (nombre, ARN, tiempo de ejecución, rol, controlador, tiempo de espera)
    • Etiquetas
    • Tamaño de la memoria y almacenamiento efímero
    • Tipo de paquete y tamaño del código
    • Arquitecturas
    • Capas
    • Variables de entorno
    • Configuración de registro
    • Asignaciones de la fuente de eventos
    • Configuración de simultaneidad
Amazon CloudFront
Haz clic para mostrar los datos recopilados.
  • Por distribución:
    • Detalles (ID, ARN, nombre de dominio, estado, habilitado)
    • Etiquetas
    • Alias (CNAME)
    • Orígenes y grupos de orígenes
    • Comportamientos de la caché
    • Clase de precio, versión de HTTP, IPv6 habilitado
Amazon EFS
Haz clic para mostrar los datos recopilados.
  • Por sistema de archivos:
    • Detalles (ID, ARN, nombre, hora de creación)
    • Etiquetas
    • Tamaño total (acceso estándar y poco frecuente)
    • Modo de rendimiento y capacidad de procesamiento
    • Estado de la encriptación
    • Políticas de ciclo de vida
    • Política de copia de seguridad
    • Configuraciones de replicación
    • Objetivos de activación y puntos de acceso
Amazon Redshift
Haz clic para mostrar los datos recopilados.
  • Por clúster aprovisionado:
    • Detalles del clúster (identificador, ARN, estado y versión)
    • Etiquetas
    • Tipo y recuento de nodos
    • Nombre de la base de datos
    • Roles de IAM y de VPC
    • Estado de la encriptación
    • Configuración de instantáneas y Aqua
  • Por grupo de trabajo sin servidores:
    • Detalles del grupo de trabajo (nombre, ARN, estado y RPU base)
    • Etiquetas
    • Información del espacio de nombres (nombre de la base de datos, roles de IAM, clave de KMS)
    • Extremo de VPC
    • Configuraciones de copias de instantáneas
VPC de Amazon
Haz clic para mostrar los datos recopilados.
  • Por VPC:
    • Detalles de la VPC (ID, ARN, estado, bloque CIDR y arrendamiento)
    • Etiquetas
    • ID de opciones de DHCP
    • Subredes asociadas
    • LCA de red asociadas

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.

Antes de comenzar

Antes de comenzar la detección de inventario, completa 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 autorizar a la CLI de mcdc a leer los datos del inventario de activos de AWS, crea una política de IAM de AWS con los siguientes permisos:

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

Autenticación en AWS

Para autorizar a la CLI de mcdc a acceder 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 descubrir activos de AWS, ya que tus credenciales otorgan el acceso.

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 las migraciones de creación de contenedores a 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 recursos en tu cuenta de AWS

Para descubrir recursos en tu cuenta de AWS, 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 descubrir activos en tu cuenta de AWS, ejecuta el siguiente 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]

    Reemplaza lo siguiente:

    • AWS_SERVICE_NAMES: Son los tipos de recursos que se pueden descubrir. Proporciona una lista separada por comas. Los valores admitidos son cloudfront, dynamodb, ecs, efs, eks, elb, lambda, db (RDS), redshift, route53, s3, vm (EC2) y vpc. Si no proporcionas esta marca, se detectarán todos los tipos de recursos admitidos.
    • 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.

    Clave de acceso de AWS

    Para descubrir activos en tu cuenta de AWS 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_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]

    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_NAMES: Son los tipos de recursos que se pueden descubrir. Proporciona una lista separada por comas. Los valores admitidos son cloudfront, dynamodb, ecs, efs, eks, elb, lambda, db (RDS), redshift, route53, s3, vm (EC2) y vpc. Si no proporcionas esta marca, se detectarán todos los tipos de recursos admitidos.
    • AWS_REGION: La región de AWS en la que se encuentran tus activos de AWS. Esta marca es opcional. Si no proporcionas esta marca, se detectarán los recursos de todas las regiones de AWS habilitadas.

    El resultado debería ser similar al siguiente:

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

    Linux

    ./mcdc discover ls

    Windows

    mcdc.exe discover ls

    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
    
    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.
    

    De manera opcional, usa la marca --asset-types para mostrar activos de un tipo específico. Por ejemplo, para mostrar solo las instancias de EC2, ejecuta el siguiente comando:

    Linux

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

    Windows

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

    Cuando uses la marca --asset-types, solo se admitirán los siguientes tipos de recursos:

    • db: Relational Database Service (RDS)
    • vm: Elastic Compute Cloud (EC2)

  4. Después de descubrir tus activos, para verlos, exporta los datos recopilados a Migration Center.

¿Qué sigue?