

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

# Lancer une analyse des ressources avec le générateur CloudFormation IaC
<a name="iac-generator-start-resource-scan"></a>

Avant de créer un modèle à partir de ressources existantes, vous devez d’abord lancer une analyse des ressources afin d’identifier vos ressources actuelles et leurs relations.

Vous pouvez démarrer une analyse des ressources à l’aide de l’une des solutions suivantes. Pour les nouveaux utilisateurs du générateur IaC, nous recommandons la première option.
+ **Analyser toutes les ressources (analyse complète)** : analyse toutes les ressources existantes du compte courant et de la région. Ce processus d’analyse peut prendre jusqu’à 10 minutes pour 1 000 ressources.
+ **Analyser des ressources spécifiques (analyse partielle)** : sélectionnez manuellement les types de ressources à analyser dans le compte courant et dans la région. Cette option permet un processus de numérisation plus rapide et plus ciblé, ce qui la rend idéale pour le développement itératif de modèles.

Une fois l’analyse terminée, vous pouvez choisir les ressources et leurs ressources associées à inclure lors de la génération de votre modèle. Lorsque vous utilisez l’analyse partielle, les ressources associées ne seront disponibles pendant la génération du modèle que si :
+ Vous les avez spécifiquement sélectionnés avant de commencer le scan, ou
+ Ils étaient tenus de découvrir les types de ressources que vous avez sélectionnés. 

Par exemple, si vous sélectionnez `AWS::EKS::Nodegroup` sans sélectionner `AWS::EKS::Cluster`, le générateur IaC inclut automatiquement les ressources `AWS::EKS::Cluster` dans l’analyse, car la découverte du groupe de nœuds nécessite d’abord la découverte du cluster. Dans tous les autres cas, l’analyse n’inclura que les ressources que vous avez spécifiquement sélectionnées.

**Note**  
Avant de continuer, vérifiez que vous disposez des autorisations nécessaires pour utiliser le générateur IaC. Pour de plus amples informations, veuillez consulter [Autorisations IAM requises pour l’analyse des ressources](generate-IaC.md#iac-generator-permissions).

**Topics**
+ [Lancer une analyse des ressources (console)](#start-resource-scan-console)
+ [Lancer une analyse des ressources (AWS CLI)](#start-resource-scan-cli)

## Lancer une analyse des ressources (console)
<a name="start-resource-scan-console"></a>

**Pour démarrer une analyse de tous les types de ressources (analyse complète)**

1. Ouvrez la [page du générateur iAc](https://console.aws.amazon.com/cloudformation/home?#iac-generator) de la CloudFormation console.

1. Dans la barre de navigation située en haut de l’écran, choisissez la Région AWS qui contient les ressources à numériser.

1. Dans le panneau **Analyses**, choisissez **Démarrer une nouvelle analyse**, puis sélectionnez **Analyser toutes les ressources**. 

**Pour démarrer une analyse des ressources de types de ressources spécifiques (analyse partielle)**

1. Ouvrez la [page du générateur iAc](https://console.aws.amazon.com/cloudformation/home?#iac-generator) de la CloudFormation console.

1. Dans la barre de navigation située en haut de l’écran, choisissez la Région AWS qui contient les ressources à numériser.

1. Dans le panneau **Analyses**, choisissez **Démarrer une nouvelle analyse**, puis sélectionnez **Analyser les ressources spécifiques**. 

1. Dans la boîte de dialogue **Lancer le scan partiel**, sélectionnez jusqu’à 100 types de ressources, puis choisissez **Lancer le scan**. 

## Lancer une analyse des ressources (AWS CLI)
<a name="start-resource-scan-cli"></a>

**Pour démarrer une analyse de tous les types de ressources (analyse complète)**  
Utilisez la commande [start-resource-scan](https://docs.aws.amazon.com/cli/latest/reference/cloudformation/start-resource-scan.html) suivante. {{us-east-1}}Remplacez-le par Région AWS celui qui contient les ressources à analyser.

```
aws cloudformation start-resource-scan --region {{us-east-1}}
```

Si elle aboutit, cette commande renvoie l’ARN de l’analyse. Notez l’ARN dans la propriété `ResourceScanId`. Vous en avez besoin pour créer votre modèle.

```
{
    "ResourceScanId":
      "arn:aws:cloudformation:{{region}}:{{account-id}}:resourceScan/{{0a699f15-489c-43ca-a3ef-3e6ecfa5da60}}"
}
```

**Pour démarrer une analyse des ressources de types de ressources spécifiques (analyse partielle)**

1. Utilisez la commande [cat](https://en.wikipedia.org/wiki/Cat_(Unix)) suivante pour stocker les types de ressources que vous souhaitez analyser dans un fichier JSON nommé `config.json` dans votre répertoire personnel. Voici un exemple de configuration de scan qui recherche les instances Amazon EC2, les groupes de sécurité et toutes les ressources Amazon S3.

   ```
   $ cat > {{config.json}}
   [
     {
       "Types":[
         "{{AWS::EC2::Instance}}",
         "{{AWS::EC2::SecurityGroup}}",
         "{{AWS::S3::*}}"
       ]
     }
   ]
   ```

1. Utilisez la [start-resource-scan](https://docs.aws.amazon.com/cli/latest/reference/cloudformation/start-resource-scan.html)commande avec l'`--scan-filters`option, ainsi que le `config.json` fichier que vous avez créé, pour démarrer l'analyse partielle. {{us-east-1}}Remplacez-le par Région AWS celui qui contient les ressources à analyser.

   ```
   aws cloudformation start-resource-scan --scan-filters {{file://config.json}} --region {{us-east-1}}
   ```

   Si elle aboutit, cette commande renvoie l’ARN de l’analyse. Notez l’ARN dans la propriété `ResourceScanId`. Vous en avez besoin pour créer votre modèle.

   ```
   {
       "ResourceScanId":
         "arn:aws:cloudformation:{{region}}:{{account-id}}:resourceScan/{{0a699f15-489c-43ca-a3ef-3e6ecfa5da60}}"
   }
   ```

**Pour surveiller la progression de l’analyse des ressources**  
Utilisez la commande [describe-resource-scan](https://docs.aws.amazon.com/cli/latest/reference/cloudformation/describe-resource-scan.html). Pour l’option `--resource-scan-id`, remplacez l’exemple d’ARN par l’ARN réel.

```
aws cloudformation describe-resource-scan --region {{us-east-1}} \
  --resource-scan-id {{arn:aws:cloudformation:us-east-1:123456789012:resourceScan/0a699f15-489c-43ca-a3ef-3e6ecfa5da60}}
```

Si elle aboutit, cette commande renvoie une sortie similaire à ce qui suit : 

```
{
    "ResourceScanId": "arn:aws:cloudformation:{{region}}:{{account-id}}:resourceScan/{{0a699f15-489c-43ca-a3ef-3e6ecfa5da60}}",
    "Status": "COMPLETE",
    "StartTime": "2023-08-21T03:10:38.485000+00:00",
    "EndTime": "2023-08-21T03:20:28.485000+00:00",
    "PercentageCompleted": 100.0,
    "ResourceTypes": [
        "AWS::CloudFront::CachePolicy",
        "AWS::CloudFront::OriginRequestPolicy",
        "AWS::EC2::DHCPOptions",
        "AWS::EC2::InternetGateway",
        "AWS::EC2::KeyPair",
        "AWS::EC2::NetworkAcl",
        "AWS::EC2::NetworkInsightsPath",
        "AWS::EC2::NetworkInterface",
        "AWS::EC2::PlacementGroup",
        "AWS::EC2::Route",
        "AWS::EC2::RouteTable",
        "AWS::EC2::SecurityGroup",
        "AWS::EC2::Subnet",
        "AWS::EC2::SubnetCidrBlock",
        "AWS::EC2::SubnetNetworkAclAssociation",
        "AWS::EC2::SubnetRouteTableAssociation",
        ...
    ],
    "ResourcesRead": 676
}
```

Pour une analyse partielle, le résultat sera similaire à ce qui suit : 

```
{
    "ResourceScanId": "arn:aws:cloudformation:{{region}}:{{account-id}}:resourceScan/{{0a699f15-489c-43ca-a3ef-3e6ecfa5da60}}",
    "Status": "COMPLETE",
    "StartTime": "2025-03-06T18:24:19.542000+00:00",
    "EndTime": "2025-03-06T18:25:23.142000+00:00",
    "PercentageCompleted": 100.0,
    "ResourceTypes": [
        "AWS::EC2::Instance",
        "AWS::EC2::SecurityGroup",
        "AWS::S3::Bucket",
        "AWS::S3::BucketPolicy"
    ],
    "ResourcesRead": 65,
    "ScanFilters": [
        {
            "Types": [
                "AWS::EC2::Instance",
                "AWS::EC2::SecurityGroup",
                "AWS::S3::*"
            ]
        }
    ]
}
```

Pour une description des champs de la sortie, reportez-vous [DescribeResourceScan](https://docs.aws.amazon.com/AWSCloudFormation/latest/APIReference/API_DescribeResourceScan.html)à la *référence de l'AWS CloudFormation API*.