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à.
Risolvi i problemi relativi a Image Builder
EC2 Image Builder si integra con Servizi AWS per il monitoraggio e la risoluzione dei problemi per aiutarti a risolvere i problemi di creazione delle immagini. Image Builder traccia e visualizza lo stato di avanzamento di ogni fase del processo di creazione dell'immagine. Inoltre, Image Builder può esportare i log in una posizione Amazon S3 fornita dall'utente.
Per una risoluzione avanzata dei problemi, puoi eseguire comandi e script predefiniti utilizzando Run Command. AWS Systems Manager
Suggerimento
È possibile utilizzare la funzionalità Troubleshoot, fornita da AWS DevOps Agent, per diagnosticare le build non riuscite e ottenere l'analisi della AI-powered causa principale con passaggi correttivi. Per ulteriori informazioni, consulta Risolvi i problemi relativi alle build non riuscite con AI - Preview.
Indice
Risolvi i problemi relativi alle build della pipeline
Se la compilazione di una pipeline di Image Builder ha esito negativo, 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-567890123abcfailed with reason: …
Image Builder organizza e dirige le azioni di creazione delle immagini attraverso una serie di passaggi definiti per le fasi di runtime nel suo processo di creazione di immagini standard. Le fasi di creazione 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 del contenitore hanno un flusso di lavoro aggiuntivo che viene eseguito durante la distribuzione.
Ricerca i dettagli relativi agli errori delle istanze di runtime relative al tuo flusso di lavoro
Per risolvere un errore di runtime per il tuo flusso di lavoro, puoi chiamare le azioni GetWorkflowExecution e ListWorkflowStepExecutions API con il tuo. workflow execution ID
Controlla i log di runtime del flusso di lavoro
-
Amazon CloudWatch Logs
Image Builder pubblica log dettagliati sull'esecuzione del flusso di lavoro nei seguenti gruppi e stream di Image Builder CloudWatch Logs:
Con CloudWatch Logs, puoi cercare i dati dei log con schemi di filtro. Per ulteriori informazioni, consulta la sezione Ricerca dei dati di log utilizzando i pattern di filtro nella Amazon CloudWatch Logs User Guide.
-
AWS CloudTrail
Inoltre, tutte le attività di compilazione vengono registrate 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. -
Amazon Simple Storage Service (S3)
Se hai specificato il nome del bucket S3 e il prefisso di chiave nella configurazione dell'infrastruttura, il percorso di log di runtime della fase del flusso di lavoro segue questo schema:
S3://S3BucketName/KeyPrefix/ImageName/ImageVersion/ImageBuildVersion/WorkflowExecutionId/StepNameI log che invii al 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 del gestore dei componenti, le definizioni dei componenti che sono stati eseguiti e l'output dettagliato (in JSON) di tutti i passaggi eseguiti 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 arresta l'istanza di build o test di Amazon EC2 in esecuzione quando la pipeline fallisce. 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 delle impostazioni per la risoluzione dei problemi della risorsa di configurazione dell'infrastruttura.
Puoi anche 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.
Scenari per la risoluzione dei problemi
Questa sezione elenca i seguenti scenari dettagliati per la risoluzione dei problemi:
Per visualizzare i dettagli di uno scenario, scegli il titolo dello scenario per espanderlo. Puoi espandere più titoli contemporaneamente.
Description
La compilazione della pipeline ha esito negativo con "AccessDenied: codice di stato di accesso negato: 403".
Causa
Tra le cause possibili sono incluse:
-
Il profilo dell'istanza non dispone delle autorizzazioni necessarie per accedere alle API o alle risorse dei componenti.
-
Al ruolo del profilo dell'istanza mancano le autorizzazioni necessarie per l'accesso ad 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 seconda della causa, questo problema può essere risolto come segue:
-
Nel profilo dell'istanza mancano le politiche gestite: aggiungi le politiche mancanti al ruolo del profilo dell'istanza. Quindi esegui nuovamente la pipeline.
-
Al 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.
Description
La compilazione della pipeline ha esito negativo con «status = TimedOut '» e «failure message = 'Step è scaduto mentre la fase sta verificando la disponibilità di Systems Manager Agent sulle istanze di destinazione'».
Causa
Tra le cause possibili sono incluse:
-
L'istanza avviata per eseguire le operazioni di compilazione e per eseguire i componenti non è stata in grado di accedere all'endpoint di Systems Manager.
-
Il profilo dell'istanza non dispone delle autorizzazioni richieste.
Soluzione
A seconda della possibile causa, questo problema può essere risolto nel modo seguente:
-
Problema di accesso, sottorete privata: se stai creando in una sottorete privata, assicurati di aver impostato gli PrivateLink endpoint per Systems Manager, Image Builder e, se desideri la registrazione, Amazon. S3/CloudWatch Per ulteriori informazioni sulla configurazione degli PrivateLink endpoint, consulta Access services through. AWSAWS PrivateLink
-
Autorizzazioni mancanti: aggiungi le seguenti politiche gestite al tuo ruolo collegato al servizio IAM per Image Builder:
-
EC2InstanceProfileForImageBuilder
-
EC2InstanceProfileForImageBuilderECRContainerBuilds
-
AmazonSSMManagedInstanceCore
Per ulteriori informazioni sul ruolo collegato al servizio Image Builder, consulta. Usa i ruoli collegati ai servizi IAM per Image Builder
-
Description
Quando il tipo di istanza utilizzato per creare un'AMI Windows di Image Builder non corrisponde al tipo di istanza utilizzato per l'avvio dall'AMI, può verificarsi un problema a causa del quale 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 avviata 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-diskNumber 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 causa delle impostazioni predefinite di Windows, i dischi appena scoperti non vengono automaticamente messi online e formattati. Quando il tipo di istanza viene modificato su EC2, Windows lo considera come la scoperta di nuovi dischi. Ciò è dovuto alla modifica del driver sottostante.
Soluzione
Ti consigliamo di utilizzare lo stesso sistema di tipi di istanza quando crei l'AMI Windows da cui intendi avviare. Non includere tipi di istanza creati su sistemi diversi nella configurazione dell'infrastruttura. Se uno dei tipi di istanza specificati utilizza il sistema Nitro, dovrebbero utilizzare tutti il sistema Nitro.
Per ulteriori informazioni sulle istanze create sul sistema Nitro, consulta Istanze create sul sistema Nitro nella Amazon EC2 User Guide.
Description
Si sta utilizzando un'immagine di base rinforzata CIS e la compilazione ha esito negativo.
Causa
Se la /tmp directory è classificata comenoexec, può causare il fallimento di Image Builder.
Soluzione
Scegli una posizione diversa per la tua directory di lavoro nel workingDirectory campo della ricetta dell'immagine. Per ulteriori informazioni, consulta la descrizione del tipo di ImageRecipe dati.
Description
Systems Manager Automation mostra un errore nella fase di AssertInventoryCollection automazione.
Causa
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 dei metadati delle immagini è abilitata per la pipeline di Image Builder (impostazione predefinita), Image Builder tenta di creare una nuova associazione di inventario per l'istanza di compilazione. Tuttavia, Systems Manager non consente più associazioni di inventario per le istanze gestite e ne impedisce una nuova, se ne esiste già una. Ciò causa il fallimento dell'operazione e si traduce in una creazione della pipeline non riuscita.
Soluzione
Per risolvere questo problema, disattivate la raccolta avanzata dei 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 la creazione di una 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 Per ulteriori informazioni sull'aggiornamento della pipeline di immagini del contenitore utilizzando la console EC2 Image Builder, vedere. Aggiornare una pipeline di immagini del contenitore dalla console
-
Puoi anche aggiornare la pipeline di immagini con il update-image-pipeline comando in. AWS CLI Per fare ciò, includi la
EnhancedImageMetadataEnabledproprietà nel tuo file JSON, impostata su.falseL'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 o imposta il valore della EnhancedImageMetadataEnabled proprietà nel file JSON su false quando crei la pipeline utilizzando il. AWS CLI