

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

# Risolvere i problemi relativi a Image Builder
<a name="troubleshooting"></a>

EC2 Image Builder Servizi AWS si integra con il monitoraggio e la risoluzione dei problemi per aiutarti a risolvere i problemi di creazione delle immagini. Image Builder tiene traccia e visualizza l'avanzamento di ogni fase del processo di creazione dell'immagine. Inoltre, Image Builder può esportare i log in una posizione Amazon S3 fornita da te.

[Per una risoluzione avanzata dei problemi, puoi eseguire comandi e script predefiniti utilizzando Run Command.AWS Systems Manager](https://docs.aws.amazon.com/systems-manager/latest/userguide/run-command.html)

**Topics**
+ [Risolvi i problemi relativi alle build della pipeline](#troubleshooting-pipelines)
+ [Scenari per la risoluzione dei problemi](#image-builder-troubleshooting-scenarios)

## Risolvi i problemi relativi alle build della pipeline
<a name="troubleshooting-pipelines"></a>

Se la compilazione di una pipeline di Image Builder fallisce, Image Builder restituisce un messaggio di errore che descrive l'errore. Image Builder restituisce anche un messaggio `workflow execution ID` nel messaggio di errore, come quello nell'output di esempio seguente:

```
Workflow Execution ID: wf-12345abc-6789-0123-abc4-567890123abc failed with reason: …
```

Image Builder organizza e dirige le azioni di creazione delle immagini attraverso una serie di passaggi definiti per le fasi di runtime del processo standard di creazione dell'immagine. Le fasi di compilazione e test del processo hanno ciascuna un flusso di lavoro associato. Quando Image Builder esegue un flusso di lavoro per creare o testare una nuova immagine, genera una risorsa di metadati del flusso di lavoro che tiene traccia dei dettagli di runtime.

Le immagini dei contenitori hanno un flusso di lavoro aggiuntivo che viene eseguito durante la distribuzione.

**Scopri i dettagli relativi agli errori delle istanze di runtime per il tuo flusso di lavoro**  
Per risolvere un errore di runtime del tuo flusso di lavoro, puoi chiamare le azioni [GetWorkflowExecution](https://docs.aws.amazon.com/imagebuilder/latest/APIReference/API_GetWorkflowExecution.html)e [ListWorkflowStepExecutions](https://docs.aws.amazon.com/imagebuilder/latest/APIReference/API_GetWorkflowExecution.html)API con il tuo. `workflow execution ID`

**Rivedi i registri di runtime del flusso di lavoro**
+ ** CloudWatch Registri Amazon**

  Image Builder pubblica registri dettagliati di esecuzione del flusso di lavoro nel seguente gruppo e flusso di Image Builder Logs: CloudWatch 

  Con CloudWatch Logs, è possibile cercare i dati di registro utilizzando modelli di filtro. Per ulteriori informazioni, consulta [Ricerca nei dati di log utilizzando modelli di filtro](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/SearchDataFilterPattern.html) nella *Amazon CloudWatch Logs User Guide*.
+ **AWS CloudTrail**

  Tutte le attività di compilazione vengono registrate anche CloudTrail se sono attivate nel tuo account. Puoi filtrare CloudTrail gli eventi in base alla fonte`imagebuilder.amazonaws.com`. In alternativa, puoi cercare l'ID dell'istanza Amazon EC2 restituito nel log di esecuzione per visualizzare maggiori dettagli sull'esecuzione della pipeline.
+ **Servizio Amazon Simple Storage (S3)**

  Se hai specificato un nome di bucket S3 e un prefisso chiave nella configurazione dell'infrastruttura, il percorso del log di runtime della fase del flusso di lavoro segue questo schema:

  ```
  S3://S3BucketName/KeyPrefix/ImageName/ImageVersion/ImageBuildVersion/WorkflowExecutionId/StepName
  ```

  I log che invii al tuo bucket S3 mostrano i passaggi e i messaggi di errore relativi all'attività sull'istanza EC2 durante il processo di creazione dell'immagine. I log includono gli output dei log provenienti dal gestore dei componenti, le definizioni dei componenti che sono stati eseguiti e l'output dettagliato (in JSON) di tutte le fasi eseguite sull'istanza. Se riscontri un problema, dovresti esaminare questi file, iniziando con`application.log`, per diagnosticare la causa del problema sull'istanza.

Per impostazione predefinita, Image Builder chiude l'istanza di build o test di Amazon EC2 in esecuzione in caso di guasto della pipeline. Puoi modificare le impostazioni dell'istanza per la risorsa di configurazione dell'infrastruttura utilizzata dalla pipeline, per conservare l'istanza di build o test per la risoluzione dei problemi.

Per modificare le impostazioni dell'istanza nella console, è necessario deselezionare la casella di controllo **Termina istanza in caso di errore** situata nella sezione **Impostazioni di risoluzione dei problemi** della risorsa di configurazione dell'infrastruttura.

È inoltre possibile modificare le impostazioni dell'istanza con il **update-infrastructure-configuration** comando in. AWS CLI Imposta il `terminateInstanceOnFailure` valore `false` nel file JSON a cui il comando fa riferimento con il `--cli-input-json` parametro. Per informazioni dettagliate, vedi [Aggiornare una configurazione dell'infrastruttura](update-infra-config.md).

## Scenari per la risoluzione dei problemi
<a name="image-builder-troubleshooting-scenarios"></a>

Questa sezione elenca i seguenti scenari di risoluzione dei problemi dettagliati:
+ [Accesso negato: codice di stato 403](#ts-access-denied)
+ [Timeout di compilazione durante la verifica della disponibilità di Systems Manager Agent sull'istanza di compilazione](#ts-timeout-ssm-agent)
+ [Il disco secondario di Windows è offline all'avvio](#ts-win-disk-offline)
+ [La compilazione fallisce con l'immagine di base protetta CIS](#ts-cis-base)
+ [AssertInventoryCollection fallisce (Systems Manager Automation)](#ts-ssm-mult-inventory)

Per visualizzare i dettagli di uno scenario, scegli il titolo dello scenario per espanderlo. Puoi espandere più titoli contemporaneamente.

### Accesso negato: codice di stato 403
<a name="ts-access-denied"></a>

#### Description
<a name="ts-access-denied-descr"></a>

La compilazione della pipeline ha esito negativo e restituisce il codice di stato "AccessDenied: Access Denied: 403".

#### Causa
<a name="ts-access-denied-cause"></a>

Tra le cause possibili sono incluse:
+ Il profilo dell'istanza non dispone delle [autorizzazioni](set-up-ib-env.md#image-builder-IAM-prereq) necessarie per l'accesso APIs o le risorse dei componenti.
+ Al ruolo del profilo di istanza mancano le autorizzazioni necessarie per la registrazione su Amazon S3. Più comunemente, ciò si verifica quando il ruolo del profilo dell'istanza non dispone delle **PutObject**autorizzazioni per i bucket S3.

#### Soluzione
<a name="ts-access-denied-solution"></a>

A seconda della causa, questo problema può essere risolto nel modo seguente:
+ Nel **profilo dell'istanza mancano le policy gestite**: aggiungi le politiche mancanti al ruolo del profilo dell'istanza. Quindi esegui nuovamente la pipeline.
+ Nel **profilo dell'istanza mancano le autorizzazioni di scrittura per il bucket S3**: aggiungi una policy al ruolo del profilo dell'istanza che conceda **PutObject**le autorizzazioni di scrittura nel bucket S3. Quindi esegui nuovamente la pipeline.

### Timeout di compilazione durante la verifica della disponibilità di Systems Manager Agent sull'istanza di compilazione
<a name="ts-timeout-ssm-agent"></a>

#### Description
<a name="ts-timeout-ssm-agent-descr"></a>

La compilazione della pipeline fallisce con «status = 'TimedOut'» e «failure message = 'Step è scaduto mentre la fase sta verificando la disponibilità del Systems Manager Agent sulle istanze di destinazione'».

#### Causa
<a name="ts-timeout-ssm-agent-cause"></a>

Tra le cause possibili sono incluse:
+ L'istanza lanciata per eseguire le operazioni di compilazione ed eseguire i componenti non è stata in grado di accedere all'endpoint Systems Manager.
+ Il profilo dell'istanza non dispone delle [autorizzazioni](set-up-ib-env.md#image-builder-IAM-prereq) richieste.

#### Soluzione
<a name="ts-timeout-ssm-agent-solution"></a>

A seconda della possibile causa, questo problema può essere risolto nel modo seguente:
+ **Problema di accesso, sottorete privata**: se state creando in una sottorete privata, assicuratevi di aver configurato gli PrivateLink endpoint per Systems Manager, Image Builder e, se volete registrare, Amazon S3/. CloudWatch [Per ulteriori informazioni sulla configurazione degli endpoint, consulta PrivateLink Access services through. AWSAWS PrivateLink](https://docs.aws.amazon.com/vpc/latest/privatelink/privatelink-access-aws-services.html)
+ **Autorizzazioni mancanti**: aggiungi le seguenti politiche gestite al tuo ruolo collegato ai servizi IAM per Image Builder:
  + EC2InstanceProfileForImageBuilder
  + EC2InstanceProfileForImageBuilderECRContainerCostruisce
  + Amazon SSMManaged InstanceCore

  Per ulteriori informazioni sul ruolo collegato al servizio Image Builder, vedere. [Usa i ruoli collegati ai servizi IAM per Image Builder](image-builder-service-linked-role.md)

### Il disco secondario di Windows è offline all'avvio
<a name="ts-win-disk-offline"></a>

#### Description
<a name="ts-win-disk-offline-descr"></a>

Quando il tipo di istanza utilizzato per creare un AMI Windows Image Builder non corrisponde al tipo di istanza utilizzato per l'avvio dall'AMI, può verificarsi un problema per cui i volumi non root sono offline all'avvio. Ciò si verifica principalmente quando l'istanza di compilazione utilizza un'architettura più recente rispetto all'istanza di avvio.

L'esempio seguente dimostra cosa succede quando un'AMI Image Builder viene creata su un tipo di istanza EC2 Nitro e lanciata su un'istanza EC2 Xen:

**Tipo di istanza di compilazione**: m5.large (Nitro)

**Tipo di istanza di avvio**: t2.medium (Xen)

```
PS C:\Users\Administrator> get-disk
Number  Friendly Name  Serial Number         Health Status  Operational Status  Total Size  Partition Style
------  -------------  -------------         -------------  ------------------  ----------  ---------------
0       AWS PVDISK     vol0abc12d34e567f8a9  Healthy        Online                   30 GB  MBR
1       AWS PVDISK     vol1bcd23e45f678a9b0  Healthy        Offline                   8 GB  MBR
```

#### Causa
<a name="ts-win-disk-offline-cause"></a>

A causa delle impostazioni predefinite di Windows, i dischi appena scoperti non vengono automaticamente portati online e formattati. Quando il tipo di istanza viene modificato su EC2, Windows lo considera come se venissero scoperti nuovi dischi. Ciò è dovuto alla modifica del driver sottostante.

#### Soluzione
<a name="ts-win-disk-offline-solution"></a>

Ti consigliamo di utilizzare lo stesso sistema di tipi di istanze quando crei l'AMI Windows da cui intendi eseguire l'avvio. Non includere tipi di istanze basati su sistemi diversi nella configurazione dell'infrastruttura. Se uno dei tipi di istanza specificati utilizza il sistema Nitro, tutti dovrebbero utilizzare il sistema Nitro.

*Per ulteriori informazioni sulle istanze basate sul sistema Nitro, consulta [Instances built on the Nitro System nella](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html#ec2-nitro-instances) Amazon EC2 User Guide.*

### La compilazione fallisce con l'immagine di base protetta CIS
<a name="ts-cis-base"></a>

#### Description
<a name="ts-cis-base-descr"></a>

Stai utilizzando un'immagine di base protetta CIS e la compilazione ha esito negativo.

#### Causa
<a name="ts-cis-base-cause"></a>

Quando la `/tmp` directory è classificata come`noexec`, può causare il fallimento di Image Builder.

#### Soluzione
<a name="ts-cis-base-solution"></a>

Scegliete una posizione diversa per la cartella di lavoro nel `workingDirectory` campo della ricetta dell'immagine. Per ulteriori informazioni, consulta la descrizione del tipo di [ImageRecipe](https://docs.aws.amazon.com/imagebuilder/latest/APIReference/API_ImageRecipe.html)dati.

### AssertInventoryCollection fallisce (Systems Manager Automation)
<a name="ts-ssm-mult-inventory"></a>

#### Description
<a name="ts-ssm-mult-inventory-descr"></a>

Systems Manager Automation mostra un errore nella fase di `AssertInventoryCollection` automazione.

#### Causa
<a name="ts-ssm-mult-inventory-cause"></a>

Tu o la tua organizzazione potreste aver creato un'associazione Systems Manager State Manager che raccoglie informazioni di inventario per le istanze EC2. Se la raccolta avanzata di metadati delle immagini è abilitata per la pipeline di Image Builder (questa è l'impostazione predefinita), Image Builder tenta di creare una nuova associazione di inventario per l'istanza di build. Tuttavia, Systems Manager non consente più associazioni di inventario per le istanze gestite e impedisce una nuova associazione se ne esiste già una. Ciò causa il fallimento dell'operazione e la creazione della pipeline non riuscita.

#### Soluzione
<a name="ts-ssm-mult-inventory-solution"></a>

Per risolvere questo problema, disattivate la raccolta avanzata di metadati delle immagini utilizzando uno dei seguenti metodi:
+ Aggiorna la pipeline di immagini nella console per deselezionare la casella di controllo **Abilita raccolta avanzata di metadati**. Salva le modifiche ed esegui una build della pipeline.

  Per ulteriori informazioni sull'aggiornamento della pipeline di immagini AMI utilizzando la console EC2 Image Builder, consulta. [Aggiorna le pipeline di immagini AMI dalla console](update-image-pipeline-console.md) Per ulteriori informazioni sull'aggiornamento della pipeline di immagini del contenitore utilizzando la console EC2 Image Builder, consulta. [Aggiorna una pipeline di immagini del contenitore dalla console](update-container-pipeline-console.md)
+ Puoi anche aggiornare la pipeline di immagini con il **update-image-pipeline** comando contenuto in. AWS CLI Per fare ciò, includi la `EnhancedImageMetadataEnabled` proprietà nel tuo file JSON, impostata su. `false` L'esempio seguente mostra la proprietà impostata su. `false`

  ```
  {
      "name": "MyWindows2019Pipeline",
      "description": "Builds Windows 2019 Images",
      "enhancedImageMetadataEnabled": false,
      "imageRecipeArn": "arn:aws:imagebuilder:us-west-2:123456789012:image-recipe/my-example-recipe/2020.12.03",
      "infrastructureConfigurationArn": "arn:aws:imagebuilder:us-west-2:123456789012:infrastructure-configuration/my-example-infrastructure-configuration",
      "distributionConfigurationArn": "arn:aws:imagebuilder:us-west-2:123456789012:distribution-configuration/my-example-distribution-configuration",
      "imageTestsConfiguration": {
          "imageTestsEnabled": true,
          "timeoutMinutes": 60
      },
      "schedule": {
          "scheduleExpression": "cron(0 0 * * SUN *)",
          "pipelineExecutionStartCondition": "EXPRESSION_MATCH_AND_DEPENDENCY_UPDATES_AVAILABLE"
      },
      "status": "ENABLED"
  }
  ```

Per evitare che ciò accada per le nuove pipeline, deseleziona la casella di controllo **Abilita raccolta avanzata di metadati** quando crei una nuova pipeline utilizzando la console EC2 Image Builder oppure imposta il valore della proprietà nel file `false` JSON su quando crei `EnhancedImageMetadataEnabled` la pipeline utilizzando il. AWS CLI