Avvio di una scansione delle risorse con il generatore IaC di CloudFormation
Prima di creare un modello da risorse esistenti, devi avviare una scansione delle risorse per scoprire quelle attuali e le loro relazioni.
Puoi avviare una scansione delle risorse utilizzando una delle opzioni seguenti. Per gli utenti alle prime armi con il generatore IaC, consigliamo la prima opzione.
-
Scansiona tutte le risorse (scansione completa): esegue la scansione di tutte le risorse esistenti nell’account e nella regione attuali. Questo processo di scansione può richiedere fino a 10 minuti per 1.000 risorse.
-
Scansione di risorse specifiche (scansione parziale): seleziona manualmente i tipi di risorse da scansionare nell’account e nella regione attuali. Questa opzione offre un processo di scansione più rapido e mirato, il che la rende ideale per lo sviluppo iterativo di modelli.
Una volta completata la scansione, puoi scegliere le risorse e le risorse correlate da includere nella generazione del modello. Quando utilizzi la scansione parziale, le risorse correlate saranno disponibili durante la generazione del modello solo se:
-
le hai selezionate specificamente prima di iniziare la scansione, oppure
-
erano necessarie per scoprire i tipi di risorse selezionati.
Ad esempio, se selezioni AWS::EKS::Nodegroup senza selezionare AWS::EKS::Cluster, il generatore IaC include automaticamente le risorse AWS::EKS::Cluster nella scansione perché la scoperta del gruppo di nodi richiede prima la scoperta del cluster. In tutti gli altri casi, la scansione includerà solo le risorse selezionate in modo specifico.
Nota
Prima di continuare, verifica di disporre delle autorizzazioni necessarie per lavorare con il generatore IaC. Per ulteriori informazioni, consulta Autorizzazioni IAM richieste per la scansione delle risorse.
Argomenti
Avvio di una scansione delle risorse (console)
Avvio di una scansione delle risorse di tutti i tipi (scansione completa)
-
Apri la pagina del generatore IaC
della console CloudFormation. -
Nella barra di navigazione, nella parte superiore della schermata, seleziona la Regione AWS che contiene le risorse da scansionare.
-
Dal pannello Scansioni, scegli Avvia una nuova scansione, quindi scegli Scansiona tutte le risorse.
Avvio di una scansione delle risorse di tipi specifici (scansione parziale)
-
Apri la pagina del generatore IaC
della console CloudFormation. -
Nella barra di navigazione, nella parte superiore della schermata, seleziona la Regione AWS che contiene le risorse da scansionare.
-
Dal pannello Scansioni, scegli Avvia una nuova scansione, quindi scegli Scansiona risorse specifiche.
-
Nella finestra di dialogo Avvia scansione parziale seleziona fino a 100 tipi di risorse, quindi scegli Avvia scansione.
Avvio di una scansione delle risorse (AWS CLI)
Avvio di una scansione delle risorse di tutti i tipi (scansione completa)
Utilizza il seguente comando start-resource-scan. Sostituisci us-east-1 con la Regione AWS che contiene le risorse da scansionare.
aws cloudformation start-resource-scan --regionus-east-1
In caso di esito positivo, il comando restituisce l’ARN della scansione. Annota l’ARN della proprietà ResourceScanId. Ti serve per creare il tuo modello.
{
"ResourceScanId":
"arn:aws:cloudformation:region:account-id:resourceScan/0a699f15-489c-43ca-a3ef-3e6ecfa5da60"
}
Avvio di una scansione delle risorse di tipi specifici (scansione parziale)
-
Usa il seguente comando cat
per memorizzare i tipi di risorse che desideri scansionare in un file JSON denominato config.jsonnella tua home directory. Di seguito è riportato un esempio di configurazione di scansione che analizza le istanze Amazon EC2, i gruppi di sicurezza e tutte le risorse Amazon S3.$ cat >config.json[ { "Types":[ "AWS::EC2::Instance", "AWS::EC2::SecurityGroup", "AWS::S3::*" ] } ] -
Utilizza il comando start-resource-scan con l’opzione
--scan-filters, insieme al fileconfig.jsoncreato, per avviare la scansione parziale. Sostituiscius-east-1con la Regione AWS che contiene le risorse da scansionare.aws cloudformation start-resource-scan --scan-filtersfile://config.json--regionus-east-1In caso di esito positivo, il comando restituisce l’ARN della scansione. Annota l’ARN della proprietà
ResourceScanId. Ti serve per creare il tuo modello.{ "ResourceScanId": "arn:aws:cloudformation:region:account-id:resourceScan/0a699f15-489c-43ca-a3ef-3e6ecfa5da60" }
Monitoraggio dello stato di avanzamento di una scansione delle risorse
Utilizza il comando describe-resource-scan. Per l’opzione --resource-scan-id, sostituisci l’ARN di esempio con quello effettivo.
aws cloudformation describe-resource-scan --regionus-east-1\ --resource-scan-idarn:aws:cloudformation:us-east-1:123456789012:resourceScan/0a699f15-489c-43ca-a3ef-3e6ecfa5da60
Se il comando viene eseguito correttamente, verrà visualizzato un output simile al seguente:
{
"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
}
Per una scansione parziale, l’output risulterà simile al seguente:
{
"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::*"
]
}
]
}
Per una descrizione dei campi dell’output, consulta DescribeResourceScan nella Documentazione di riferimento alla AWS CloudFormation API.