Découvrir des composants sur AWS

Ce document explique comment exécuter une découverte d'inventaire sur votre compte Amazon Web Services (AWS) à l'aide de la CLI du client de découverte Migration Center.

Vous pouvez utiliser la CLI mcdc pour collecter des informations sur les ressources suivantes de votre compte AWS :

  • Amazon CloudFront (Bêta)
  • Amazon Elastic Compute Cloud (EC2)
  • Amazon Elastic Container Service (ECS) (aperçu)
  • Amazon Elastic File System (EFS) (aperçu)
  • Amazon Elastic Kubernetes Service (EKS) (Aperçu)
  • Amazon Redshift (aperçu)
  • Amazon Relational Database Service (RDS)
    • Microsoft SQL Server
    • MySQL
    • PostgreSQL
  • Amazon Simple Storage Service (S3) (Aperçu)
  • Amazon Virtual Private Cloud (VPC) (Aperçu)
  • AWS Lambda (aperçu)
  • Elastic Load Balancing (ELB) (version bêta)

La CLI mcdc envoie ensuite les informations collectées au centre de migration, où vous pouvez terminer l'évaluation.

Limites

Lorsque vous exécutez une découverte d'inventaire sur votre compte AWS, la CLI mcdc présente les limites suivantes :

  • Seuls les types d'éléments EC2 et RDS sont inclus dans le rapport sur le coût total de possession. Pour exporter et analyser tous les types d'éléments en dehors de Migration Center, exportez votre inventaire.
  • Les informations suivantes pour les instances EC2 ne sont pas collectées :
    • L'utilisation de la mémoire n'est pas collectée. Pour collecter ces informations, assurez-vous que l'agent Amazon CloudWatch est installé et configuré sur vos instances EC2.
    • Espace disque disponible. Pour collecter ces informations, exécutez une découverte d'invités.
  • Vous ne pouvez pas exécuter la CLI mcdc sur des machines Linux pour collecter des données à partir d'instances AWS Windows EC2. Pour collecter des informations à partir d'instances Windows EC2, exécutez la CLI mcdc sur une machine Windows.

Données collectées lors de la découverte de l'inventaire

La CLI mcdc collecte les informations suivantes auprès des services AWS compatibles :

Type d'élément Données collectées
Amazon EC2
Cliquez pour afficher les données collectées.
  • Détails de l'instance (ID, type, état)
  • ID de la remise du propriétaire
  • Détails du type d'instance (processeur, mémoire)
  • Tags
  • Informations sur le système d'exploitation (provenant de SSM)
  • Bloquer les mappages d'appareils et les détails des volumes
  • Métriques de performances (utilisation du processeur, E/S réseau, E/S disque)
Amazon RDS
Cliquez pour afficher les données collectées.
  • Détails de l'instance de base de données (identifiant, classe, état)
  • Informations sur le moteur et sa version
  • Espace de stockage alloué
  • Tags
  • Métriques de performances (utilisation du processeur, débit réseau, IOPS, espace de stockage libre)
  • Insights sur les performances (mémoire disponible)
Amazon S3
Cliquez pour afficher les données collectées.
  • Informations sur le bucket (nom, ARN, région, date de création)
  • Tags
  • État de la gestion des versions
  • Règles de cycle de vie
  • Métriques de performances (taille des buckets par classe de stockage, nombre d'objets)
Amazon EKS
Cliquez pour afficher les données collectées.
  • Par cluster :
    • Détails du cluster (nom, ARN, version, état, point de terminaison)
    • Tags
    • ARN du rôle
    • Configuration du VPC
    • Configuration de la journalisation
    • Types de lancement (EC2 ou Fargate)
  • Par groupe de nœuds géré :
    • Informations sur le groupe de nœuds (nom, ARN, type d'AMI, types d'instances, taille du disque)
    • Configuration du scaling (taille minimale, maximale et sélectionnée)
    • Groupes Autoscaling associés
  • Par profil Fargate :
    • Informations sur le profil (nom, ARN du rôle d'exécution du pod)
    • Sous-réseaux
    • Sélecteurs (espace de noms, libellés)
Amazon ECS
Cliquez pour afficher les données collectées.
  • Par cluster :
    • Détails du cluster (nom, ARN, état)
    • Tags
    • Nombre de services et de tâches
    • Instances de conteneur enregistrées
  • Par service :
    • Informations sur le service (nom, ARN, type de lancement)
    • Définition de la tâche
    • Stratégie de programmation
    • Configuration du déploiement
    • Informations sur l'équilibreur de charge
  • Par tâche :
    • Détails de la tâche (ARN, dernier état, état sélectionné)
    • Processeur et mémoire
    • Informations sur le conteneur
ELB
Cliquez pour afficher les données collectées.
  • Par équilibreur de charge (version 1 et 2) :
    • Détails (nom, ARN/ID, nom DNS, type, schéma)
    • Tags
    • VPC et zones de disponibilité
    • Écouteurs et règles
    • Groupes cibles et état cible
    • État des instances (pour les ELB classiques)
AWS Lambda
Cliquez pour afficher les données collectées.
  • Par fonction :
    • Configuration (nom, ARN, exécution, rôle, gestionnaire, délai avant expiration)
    • Tags
    • Taille de la mémoire et stockage éphémère
    • Type de package et taille du code
    • Architectures
    • de l'image
    • Variables d'environnement
    • Configuration du traçage
    • Mappages de la source d'événement
    • Paramètres de simultanéité
Amazon CloudFront
Cliquez pour afficher les données collectées.
  • Par distribution :
    • Détails (ID, ARN, nom de domaine, état, activé)
    • Tags
    • Alias (CNAME)
    • Origines et groupes d'origines
    • Comportements du cache
    • Classe de prix, version HTTP, IPv6 activé
Amazon EFS
Cliquez pour afficher les données collectées.
  • Par système de fichiers :
    • Détails (ID, ARN, nom, heure de création)
    • Tags
    • Taille totale (accès standard et peu fréquent)
    • Mode Performances et débit
    • État du chiffrement
    • Règles de cycle de vie
    • Règle de sauvegarde
    • Configurations de réplication
    • Cibles de montage et points d'accès
Amazon Redshift
Cliquez pour afficher les données collectées.
  • Par cluster provisionné :
    • Détails du cluster (identifiant, ARN, état, version)
    • Tags
    • Type et nombre de nœuds
    • Nom de la base de données
    • Rôles VPC et IAM
    • État du chiffrement
    • Configuration de Snapshot et Aqua
  • Par groupe de travail sans serveur :
    • Détails du groupe de travail (nom, ARN, état, RPU de base)
    • Tags
    • Informations sur l'espace de noms (nom de la base de données, rôles IAM, clé KMS)
    • Point de terminaison VPC
    • Configurations de copie d'instantané
Réseau VPC Amazon
Cliquez pour afficher les données collectées.
  • Par VPC :
    • Détails du VPC (ID, ARN, état, bloc CIDR, location)
    • Tags
    • ID des options DHCP
    • Sous-réseaux associés
    • LCA réseau associées

L'CLI mcdc collecte les métriques des 30 derniers jours, à l'exception de l'utilisation de la mémoire de la base de données. Pour l'utilisation de la mémoire de la base de données, AWS n'enregistre par défaut que sept jours de données. La CLI mcdc ne collecte donc les données que pour les sept derniers jours.

Avant de commencer

Avant de commencer la découverte de l'inventaire, procédez comme suit :

  1. Consultez les conditions requises pour télécharger et exécuter la CLI mcdc.
  2. Choisissez où télécharger la CLI mcdc et suivez les étapes pour télécharger la CLI mcdc.
  3. Assurez-vous d'avoir accès à votre compte AWS.

Choisir l'emplacement du téléchargement de la CLI mcdc

Vous pouvez télécharger la CLI mcdc sur des machines Linux et Windows. Nous vous recommandons d'utiliser une instance Windows EC2 pour télécharger et exécuter la CLI mcdc, car elle est compatible avec toutes les méthodes de collecte disponibles.

Vous pouvez télécharger la CLI mcdc vers un emplacement ayant accès à vos composants cibles, tels que les suivants :

  • AWS CloudShell
  • Instance Linux EC2
  • Une instance EC2 Windows
  • Tout ordinateur sur lequel vous avez installé la CLI mcdc et qui vous permet d'accéder à distance à votre compte AWS.

Pour savoir comment télécharger la CLI mcdc, consultez Télécharger la CLI mcdc.

Créer une stratégie IAM AWS

Pour autoriser la CLI mcdc à lire les données de l'inventaire des ressources AWS, créez une stratégie IAM AWS avec les autorisations suivantes :

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

S'authentifier auprès d'AWS

Pour autoriser la CLI mcdc à accéder à votre environnement AWS, authentifiez votre compte à l'aide de l'une des méthodes suivantes :

Utiliser vos identifiants AWS existants

Pour utiliser vos identifiants AWS existants, exécutez les commandes CLI mcdc directement depuis AWS CloudShell. Si vous exécutez l'CLI mcdc depuis AWS CloudShell, vous pouvez utiliser vos identifiants existants sans clé d'accès. Dans ce cas, la CLI mcdc peut accéder à votre environnement AWS pour découvrir les ressources AWS, car l'accès est accordé par vos identifiants.

Créer une clé d'accès pour la CLI mcdc

Pour créer une clé d'accès pour la CLI mcdc, procédez comme suit :

  1. Créez un utilisateur IAM dédié pour interagir avec l'API AWS.
  2. Associez à votre nouvel utilisateur la stratégie IAM que vous avez créée à la section précédente.
  3. Dans la console AWS, accédez à l'utilisateur IAM que vous avez créé à l'étape précédente, puis cliquez sur Utilisateur  > Identifiants de sécurité  > Créer une clé d'accès  > Autre  > Suivant  > Créer une clé d'accès.

    Pour en savoir plus, consultez Créer une clé d'accès.

Stockez l'ID et la clé d'accès. Vous aurez besoin de ces informations pour analyser votre inventaire AWS.

Facultatif : Configurer l'accès pour collecter les données du système d'exploitation invité

Les données du système d'exploitation invité enrichissent les rapports sur les tarifs et les licences, ainsi que les exportations de détails sur les composants. Ces données permettent également d'évaluer l'adéquation des migrations de conteneurisation vers Google Kubernetes Engine, GKE Autopilot et Cloud Run. Si vous ne souhaitez pas collecter de données sur le système d'exploitation, vous pouvez ignorer cette section.

Pour collecter les données du système d'exploitation invité, le poste de travail exécutant l'CLI mcdc doit se connecter aux instances EC2 cibles. Assurez-vous que les ports suivants sont ouverts sur les instances EC2 cibles :

  • Port 22 (SSH) pour les machines Linux
  • Port 135 (WMI) pour les machines Windows

Découvrir les composants de votre compte AWS

Pour découvrir les composants de votre compte AWS, procédez comme suit :

  1. Dans le terminal de ligne de commande, accédez au répertoire dans lequel vous avez téléchargé la CLI mcdc.

  2. Exécutez la découverte :

    AWS CloudShell

    Pour découvrir les composants de votre compte AWS, exécutez la commande suivante :

    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]

    Remplacez les éléments suivants :

    • AWS_SERVICE_NAMES : types de composants à découvrir. Saisissez une liste d'éléments séparés par une virgule. Les valeurs acceptées sont cloudfront, dynamodb, ecs, efs, eks, elb, lambda, db (RDS), redshift, route53, s3, vm (EC2) et vpc. Si vous ne fournissez pas cet indicateur, tous les types d'éléments compatibles sont détectés.
    • AWS_REGION : région AWS dans laquelle se trouvent vos instances EC2 et vos bases de données RDS. Cette option est facultative. Si vous ne fournissez pas cet indicateur, les composants de toutes les régions AWS activées sont détectés.

    Clé d'accès AWS

    Pour découvrir les composants de votre compte AWS à l'aide de votre ID de clé d'accès et de votre clé d'accès AWS, exécutez la commande suivante :

    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]

    Remplacez les éléments suivants :

    • AWS_ACCESS_KEY_ID : ID de la clé d'accès que vous avez créée dans la section Créer une clé d'accès pour la CLI mcdc.
    • AWS_ACCESS_KEY : clé d'accès que vous avez créée dans la section Créer une clé d'accès pour la CLI mcdc.
    • AWS_SERVICE_NAMES : types de composants à découvrir. Saisissez une liste d'éléments séparés par une virgule. Les valeurs acceptées sont cloudfront, dynamodb, ecs, efs, eks, elb, lambda, db (RDS), redshift, route53, s3, vm (EC2) et vpc. Si vous ne fournissez pas cet indicateur, tous les types d'éléments compatibles sont détectés.
    • AWS_REGION : région AWS dans laquelle se trouvent vos composants AWS. Cette option est facultative. Si vous ne fournissez pas cet indicateur, les composants de toutes les régions AWS activées sont détectés.

    Le résultat doit ressembler à ce qui suit :

    [+] 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. Facultatif : Pour examiner les données collectées, exécutez la commande suivante :

    Linux

    ./mcdc discover ls

    Windows

    mcdc.exe discover ls

    Le résultat doit ressembler à ce qui suit :

    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.
    

    Vous pouvez éventuellement utiliser l'option --asset-types pour afficher les composants d'un type spécifique. Par exemple, pour n'afficher que les instances EC2, exécutez la commande suivante :

    Linux

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

    Windows

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

    Lorsque vous utilisez l'indicateur --asset-types, seuls les types de composants suivants sont acceptés :

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

  4. Une fois vos composants découverts, pour les afficher, exportez les données collectées vers Migration Center.

Étapes suivantes