Descubrir recursos en AWS

En este documento se describe cómo ejecutar una detección de inventario en tu cuenta de Amazon Web Services (AWS) mediante la CLI del cliente de detección de Migration Center.

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

La CLI mcdc envía la información recogida a Migration Center, donde puedes completar la evaluación.

Limitaciones

Al ejecutar una detección 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 EC2 y RDS. Para exportar y analizar todos los tipos de recursos fuera de Migration Center, exporta tu inventario.
  • No se recoge la siguiente información de las instancias EC2:
    • No se recoge el uso de memoria. Para recoger esta información, asegúrese de que el agente de Amazon CloudWatch esté instalado y configurado en sus instancias EC2.
    • Espacio libre en disco. Para recoger esta información, ejecuta una detección de invitados.
  • No puedes ejecutar la CLI de mcdc en máquinas Linux para recoger datos de instancias de AWS Windows EC2. Para recoger información de instancias de Windows EC2, ejecuta la CLI de mcdc en un equipo Windows.

Datos recogidos durante la detección de inventario

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

Tipo de recurso Datos recogidos
Amazon EC2
Haz clic para mostrar los datos recogidos.
  • Detalles de la instancia (ID, tipo y estado)
  • ID de descuento del propietario
  • Detalles del tipo de instancia (CPU, memoria)
  • Etiquetas
  • Información del sistema operativo (de SSM)
  • Bloquear asignaciones de dispositivos y detalles de volumen
  • Métricas de rendimiento (uso de CPU, E/S de red y E/S de disco)
Amazon RDS
Haz clic para mostrar los datos recogidos.
  • Detalles de la instancia de base de datos (identificador, clase y estado)
  • Detalles del motor y de la versión del motor
  • Almacenamiento asignado
  • Etiquetas
  • Métricas de rendimiento (uso de CPU, rendimiento de la red, IOPS y almacenamiento libre)
  • Estadísticas de rendimiento (memoria libre)
Amazon S3
Haz clic para mostrar los datos recogidos.
  • Detalles del segmento (nombre, ARN, región y fecha de creación)
  • Etiquetas
  • Estado de la gestión de versiones
  • Reglas del ciclo de vida
  • Métricas de rendimiento (tamaño del segmento por clase de almacenamiento, número de objetos)
Amazon EKS
Haz clic para mostrar los datos recogidos.
  • Por clúster:
    • Detalles del clúster (nombre, ARN, versión, estado y endpoint)
    • Etiquetas
    • ARN del rol
    • Configuración de VPC
    • Configuración de registro
    • Tipos de lanzamiento (EC2 o Fargate)
  • Por grupo de nodos gestionado:
    • Detalles del grupo de nodos (nombre, ARN, tipo de AMI, tipos de instancia, tamaño del disco)
    • Configuración del escalado (mínimo, máximo y tamaño seleccionado)
    • Grupos de escalado automático asociados
  • Por perfil de Fargate:
    • Detalles del perfil (nombre y ARN del rol de ejecución del pod)
    • Subredes
    • Selectores (espacio de nombres, etiquetas)
Amazon ECS
Haz clic para mostrar los datos recogidos.
  • Por clúster:
    • Detalles del clúster (nombre, ARN y estado)
    • Etiquetas
    • Número de servicios y tareas
    • Instancias de contenedor registradas
  • Por servicio:
    • Detalles del servicio (nombre, ARN y tipo de lanzamiento)
    • Definición de la tarea
    • Estrategia de programación
    • Configuración del despliegue
    • Información del balanceador de carga
  • Por tarea:
    • Detalles de la tarea (ARN, último estado y estado seleccionado)
    • CPU y memoria
    • Información del contenedor
ELB
Haz clic para mostrar los datos recogidos.
  • Por balanceador de carga (versiones 1 y 2):
    • Detalles (nombre, ARN/ID, nombre de DNS, tipo, esquema)
    • Etiquetas
    • VPC y zonas de disponibilidad
    • Procesadores y reglas
    • Grupos de destino y estado de salud de destino
    • Estado de las instancias (en el caso de los ELBs clásicos)
AWS Lambda
Haz clic para mostrar los datos recogidos.
  • 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 del seguimiento
    • Asignaciones de origen de eventos
    • Configuración de simultaneidad
Amazon CloudFront
Haz clic para mostrar los datos recogidos.
  • Por distribución:
    • Detalles (ID, ARN, nombre de dominio, estado y habilitación)
    • Etiquetas
    • Alias (CNAMEs)
    • Orígenes y grupos de orígenes
    • Comportamientos de la caché
    • Clase de precio, versión HTTP e IPv6 habilitado
Amazon EFS
Haz clic para mostrar los datos recogidos.
  • Por sistema de archivos:
    • Detalles (ID, ARN, nombre, hora de creación)
    • Etiquetas
    • Tamaño total (acceso estándar e infrecuente)
    • Modo de rendimiento y de procesamiento
    • Estado de cifrado
    • Políticas de ciclo de vida
    • Política de copias de seguridad
    • Configuraciones de replicación
    • Montar destinos y puntos de acceso
Amazon Redshift
Haz clic para mostrar los datos recogidos.
  • 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 VPC y de gestión de identidades y accesos
    • Estado de cifrado
    • Configuración de las funciones de captura y de agua
  • Por grupo de trabajo sin servidor:
    • 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 gestión de identidades y accesos, clave de KMS)
    • Endpoint de VPC
    • Configuraciones de copias de snapshot
Amazon VPC
Haz clic para mostrar los datos recogidos.
  • Por VPC:
    • Detalles de la VPC (ID, ARN, estado, bloque CIDR y arrendamiento)
    • Etiquetas
    • ID de opciones de DHCP
    • Subredes asociadas
    • LCAs de red asociadas

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

Antes de empezar

Antes de empezar a descubrir el inventario, completa los siguientes pasos:

  1. Consulta los requisitos para descargar y ejecutar la CLI de mcdc.
  2. Elige dónde descargar la CLI de mcdc y sigue los pasos para descargar la CLI de mcdc.
  3. Asegúrate de que tienes 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 utilices una instancia EC2 de Windows para descargar y ejecutar la mcdc CLI, ya que admite todos los métodos de recogida disponibles.

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

  • AWS CloudShell
  • Una instancia de Linux EC2
  • Una instancia de Windows EC2
  • Cualquier ordenador en el que hayas instalado la CLI de mcdc y tengas acceso remoto a tu cuenta de AWS.

Para obtener instrucciones sobre cómo descargar la CLI de mcdc, consulta Descargar la CLI de mcdc.

Crear una política de gestión de identidades y accesos de AWS

Para autorizar a la CLI de mcdc a leer los datos del inventario de recursos de AWS, crea una política de gestión de identidades y accesos 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": "*"
    }
  ]
}

Autenticarse en AWS

Para autorizar a la CLI de mcdc a acceder a tu entorno de AWS, autentica tu cuenta mediante uno de los siguientes métodos:

Usar tus credenciales de AWS

Para usar tus credenciales 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 sin una clave de acceso. En este caso, la CLI mcdc puede acceder a tu entorno de AWS para descubrir recursos de AWS, ya que el acceso se concede mediante tus credenciales.

Crear 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 gestión de identidades y accesos específico para interactuar con la API de AWS.
  2. Asocia la política de gestión de identidades y accesos que has creado en la sección anterior al nuevo usuario.
  3. En la consola de AWS, ve al usuario de gestión de identidades y accesos que has creado 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 Crear 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: Configurar el acceso para recoger 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 recursos. Estos datos también ayudan a evaluar la idoneidad de las migraciones de contenedores a Google Kubernetes Engine, GKE Autopilot y Cloud Run. Si no quieres recoger datos del sistema operativo, puedes saltarte esta sección.

Para recoger datos del sistema operativo invitado, la estación de trabajo que ejecuta la CLI 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

Descubrir recursos en tu cuenta de AWS

Para descubrir recursos en su cuenta de AWS, siga estos pasos:

  1. En la terminal de la línea de comandos, ve al directorio en el que has descargado la CLI mcdc.

  2. Ejecuta el descubrimiento:

    AWS CloudShell

    Para detectar recursos 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]

    Haz los cambios siguientes:

    • AWS_SERVICE_NAMES: los tipos de recursos que se van a detectar. 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 instancias de EC2 y bases de datos de RDS. Esta marca es opcional. Si no proporciona este indicador, se detectarán los recursos de todas las regiones de AWS habilitadas.

    Clave de acceso de AWS

    Para descubrir recursos en tu cuenta de AWS mediante tu ID de clave de acceso y tu 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]

    Haz los cambios siguientes:

    • AWS_ACCESS_KEY_ID: el ID de clave de acceso que has creado en la sección Crear una clave de acceso para la CLI de mcdc.
    • AWS_ACCESS_KEY: la clave de acceso que has creado en la sección Crear una clave de acceso para la CLI de mcdc.
    • AWS_SERVICE_NAMES: los tipos de recursos que se van a detectar. 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 recursos de AWS. Esta marca es opcional. Si no proporciona este indicador, se detectarán los recursos de todas las regiones de AWS habilitadas.

    La salida debería ser similar a la 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 recogidos, ejecuta el siguiente comando:

    Linux

    ./mcdc discover ls

    Windows

    mcdc.exe discover ls

    La salida debería ser similar a la 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.
    

    También puede usar la bandera --asset-types para mostrar recursos de un tipo específico. Por ejemplo, para mostrar solo las instancias EC2, ejecuta el siguiente comando:

    Linux

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

    Windows

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

    Cuando se usa la marca --asset-types, solo se admiten los siguientes tipos de recursos:

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

  4. Una vez que haya descubierto sus recursos, para verlos, exporte los datos recogidos a Migration Center.

Siguientes pasos