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
EC2 Image Builder si integra con il monitoraggio e la risoluzione dei problemi Servizi AWS per aiutarti a risolvere i problemi di creazione delle immagini. Image Builder monitora 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.
Risolvi i problemi relativi alle build della pipeline
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 GetWorkflowExecutione ListWorkflowStepExecutionsAPI 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
LogGroup:
/aws/imagebuilder/
ImageName
LogStream (x.x.x/x):
ImageVersion/ImageBuildVersion
Con CloudWatch Logs, puoi cercare i dati di registro con modelli di filtro. Per ulteriori informazioni, consulta Ricerca nei dati di log utilizzando modelli di filtro 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' EC2 istanza Amazon 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' EC2 istanza 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 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 chiude l'istanza di EC2 build o test di Amazon in esecuzione in caso di errore 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, consultare Aggiornare una configurazione dell'infrastruttura.
Scenari per la risoluzione dei problemi
Questa sezione elenca i seguenti scenari di risoluzione dei problemi dettagliati:
Per visualizzare i dettagli di uno scenario, scegli il titolo dello scenario per espanderlo. Puoi espandere più titoli contemporaneamente.
Descrizione
La compilazione della pipeline fallisce e restituisce il codice di stato "AccessDenied: Access Denied: 403".
Causa
Tra le cause possibili sono incluse:
-
Il profilo dell'istanza non dispone delle autorizzazioni 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 PutObjectautorizzazioni per i bucket S3.
Soluzione
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 PutObjectle autorizzazioni di scrittura nel bucket S3. Quindi esegui nuovamente la pipeline.
Descrizione
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
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 richieste.
Soluzione
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
-
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
-
Descrizione
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 mostra cosa succede quando un'AMI Image Builder viene creata EC2 su un tipo di istanza Nitro e lanciata EC2 su un'istanza 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 portati online e formattati. Quando il tipo di istanza viene modificato EC2, Windows lo considera come se venissero scoperti nuovi dischi. Ciò è dovuto alla modifica del driver sottostante.
Soluzione
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 Amazon User Guide. EC2
Descrizione
Stai utilizzando un'immagine di base protetta CIS e la compilazione ha esito negativo.
Causa
Quando la /tmp
directory è classificata comenoexec
, può causare il fallimento di Image Builder.
Soluzione
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 ImageRecipedati.
Descrizione
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 EC2 istanze. 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
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, vedere. 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. Aggiorna una pipeline di immagini del contenitore dalla console
-
È inoltre possibile 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, deselezionate la casella di controllo Abilita raccolta avanzata di metadati quando create una nuova pipeline utilizzando la console EC2 Image Builder oppure impostate il valore della EnhancedImageMetadataEnabled
proprietà nel file JSON su false
quando create la pipeline utilizzando il. AWS CLI