

# Iniciar uma verificação de recursos com o gerador de IaC do CloudFormation
<a name="iac-generator-start-resource-scan"></a>

Antes de criar um modelo a partir dos recursos existentes, você deve iniciar uma verificação de recursos para descobrir os recursos atuais e seus relacionamentos.

Você pode iniciar uma verificação de recursos usando uma das seguintes opções. Para usuários iniciantes do gerador de IaC, recomendamos a primeira opção.
+ **Verificar todos os recursos (verificação completa)**: verifica todos os recursos existentes na conta e região atuais. Esse processo de verificação pode levar até 10 minutos para 1.000 recursos.
+ **Verificar recursos específicos (verificação parcial)**: selecione manualmente quais tipos de recursos serão verificados na conta e região atuais. Essa opção fornece um processo de verificação mais rápido e focado, tornando-a ideal para o desenvolvimento iterativo de modelos.

Concluída a verificação, você pode escolher quais recursos e os recursos relacionados devem ser incluídos ao gerar o modelo. Ao usar a verificação parcial, os recursos relacionados apenas estarão disponíveis durante a geração do modelo se:
+ Você os tiver selecionado especificamente antes de iniciar a verificação, ou
+ Tiverem sido necessários para descobrir os tipos de recursos selecionados. 

Por exemplo, se você selecionar `AWS::EKS::Nodegroup` sem selecionar `AWS::EKS::Cluster`, o gerador de IaC incluirá automaticamente os recursos `AWS::EKS::Cluster` na verificação, pois a descoberta do grupo de nós requer a descoberta inicial do cluster. Em todos os outros casos, a verificação incluirá apenas os recursos que você selecionar especificamente.

**nota**  
Antes de continuar, confirme que você tem as permissões necessárias para trabalhar com o gerador de IaC. Para obter mais informações, consulte [Permissões do IAM necessárias para varrer recursos](generate-IaC.md#iac-generator-permissions).

**Topics**
+ [Iniciar uma verificação de recursos (console)](#start-resource-scan-console)
+ [Iniciar uma verificação de recursos (AWS CLI)](#start-resource-scan-cli)

## Iniciar uma verificação de recursos (console)
<a name="start-resource-scan-console"></a>

**Para iniciar uma verificação de todos os tipos de recursos (verificação completa)**

1. Abra a [página do gerador de IaC](https://console.aws.amazon.com/cloudformation/home?#iac-generator) do console do CloudFormation.

1. Na barra de navegação na parte superior da tela, escolha a Região da AWS que contém os recursos que devem ser verificados.

1. No painel **Verificações**, escolha **Iniciar nova verificação** e, em seguida, escolha **Verificar todos os recursos**. 

**Para iniciar uma verificação de recursos de tipos de recursos específicos (verificação parcial)**

1. Abra a [página do gerador de IaC](https://console.aws.amazon.com/cloudformation/home?#iac-generator) do console do CloudFormation.

1. Na barra de navegação na parte superior da tela, escolha a Região da AWS que contém os recursos que devem ser verificados.

1. No painel **Verificações**, escolha **Iniciar nova verificação** e escolha **Verificar recursos específicos**. 

1. Na caixa de diálogo **Iniciar verificação parcial**, selecione até 100 tipos de recursos e escolha **Iniciar verificação**. 

## Iniciar uma verificação de recursos (AWS CLI)
<a name="start-resource-scan-cli"></a>

**Para iniciar uma verificação de todos os tipos de recursos (verificação completa)**  
Use o seguinte comando [start-resource-scan](https://docs.aws.amazon.com/cli/latest/reference/cloudformation/start-resource-scan.html). Substitua *us-east-1* pela Região da AWS que contém os recursos a serem verificados.

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

Em caso de êxito, esse comando retornará o ARN da verificação. Anote o ARN na propriedade `ResourceScanId`. Ele será necessário para criar o modelo.

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

**Para iniciar uma verificação de recursos de tipos de recursos específicos (verificação parcial)**

1. Use o seguinte comando [cat](https://en.wikipedia.org/wiki/Cat_(Unix)) para armazenar os tipos de recursos que deseja verificar em um arquivo JSON nomeado `config.json` no seu diretório pessoal. A seguir, um exemplo de configuração de verificação que examina instâncias do Amazon EC2, grupos de segurança e todos os recursos do Amazon S3.

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

1. Use o comando [start-resource-scan](https://docs.aws.amazon.com/cli/latest/reference/cloudformation/start-resource-scan.html) com a opção `--scan-filters`, junto com o arquivo `config.json` criado, para iniciar a verificação parcial. Substitua *us-east-1* pela Região da AWS que contém os recursos a serem verificados.

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

   Em caso de êxito, esse comando retornará o ARN da verificação. Anote o ARN na propriedade `ResourceScanId`. Ele será necessário para criar o modelo.

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

**Para monitorar o andamento da verificação de um recurso**  
Use o comando [describe-resource-scan](https://docs.aws.amazon.com/cli/latest/reference/cloudformation/describe-resource-scan.html). Na opção `--resource-scan-id`, substitua o ARN de amostra pelo ARN real.

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

Se houver êxito, o comando gerará uma saída semelhante à seguinte: 

```
{
    "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
}
```

Para uma verificação parcial, a saída será semelhante à seguinte: 

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

Consulte uma descrição dos campos na saída em [DescribeResourceScan](https://docs.aws.amazon.com/AWSCloudFormation/latest/APIReference/API_DescribeResourceScan.html) na *Referência da API do AWS CloudFormation*.