Configurazione manuale per sviluppare componenti personalizzati con AWSTOE - EC2 Image Builder

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à.

Configurazione manuale per sviluppare componenti personalizzati con AWSTOE

L'applicazione AWS Task Orchestrator and Executor (AWSTOE) è un'applicazione autonoma che crea, convalida ed esegue comandi all'interno di un framework di definizione dei componenti. AWS i servizi possono essere utilizzati AWSTOE per orchestrare flussi di lavoro, installare software, modificare le configurazioni di sistema e testare le build di immagini.

Segui questi passaggi per installare manualmente l' AWSTOE applicazione e utilizzarla come applicazione autonoma per sviluppare componenti personalizzati. Image Builder si occupa di questi passaggi per voi, se utilizzate la console AWS CLI o i comandi di Image Builder per creare componenti personalizzati. Per ulteriori informazioni, consulta Crea componenti personalizzati con Image Builder.

Fase 1: Installazione AWSTOE

Per sviluppare componenti localmente, scaricate e installate l' AWSTOE applicazione.

  1. Scaricate l' AWSTOE applicazione

    Per l'installazione AWSTOE, scegli il link di download appropriato per la tua architettura e piattaforma. Per l'elenco completo dei link per il download delle applicazioni, consulta AWSTOE scarica

    Importante

    AWS sta eliminando gradualmente il supporto per le versioni TLS 1.0 e 1.1. Per accedere al bucket S3 per i AWSTOE download, il software client deve utilizzare la versione TLS 1.2 o successiva. Per ulteriori informazioni, consulta questo post sul blog AWS sulla sicurezza.

  2. Verifica la firma

    I passaggi per la verifica del download dipendono dalla piattaforma server su cui viene eseguita l' AWSTOE applicazione dopo l'installazione. Per verificare il download su un server Linux, consultaVerifica la firma su Linux. Per verificare il download su un server Windows, consultaVerifica la firma su Windows.

Importante

AWSTOE viene richiamato direttamente dalla posizione di download. Non è necessaria una fase di installazione separata. Ciò significa anche che AWSTOE può apportare modifiche all'ambiente locale.

Per assicurarti di isolare le modifiche durante lo sviluppo dei componenti, ti consigliamo di utilizzare un'istanza EC2 per sviluppare e testare AWSTOE i componenti.

Fase 2: Impostare le credenziali AWS

AWSTOE richiede AWS credenziali per connettersi ad altri Servizi AWS, come Amazon S3 e CloudWatch Amazon, durante l'esecuzione di attività come:

  • Scaricamento di AWSTOE documenti da un percorso Amazon S3 fornito dall'utente.

  • Moduli in esecuzione S3Download o di S3Upload azione.

  • Lo streaming si registra su CloudWatch, se abilitato.

Se stai AWSTOE eseguendo un'istanza EC2, l'esecuzione AWSTOE utilizza le stesse autorizzazioni del ruolo IAM associato all'istanza EC2.

Per ulteriori informazioni sui ruoli IAM per EC2, consulta Ruoli IAM per Amazon EC2.

Gli esempi seguenti mostrano come impostare AWS le credenziali utilizzando le variabili di ambiente AWS_ACCESS_KEY_ID eAWS_SECRET_ACCESS_KEY.

Per impostare queste variabili su Linux, macOS o Unix, usa. export

$ export AWS_ACCESS_KEY_ID=your_access_key_id
$ export AWS_SECRET_ACCESS_KEY=your_secret_access_key

Per impostare queste variabili su Windows utilizzando PowerShell, usa. $env

C:\> $env:AWS_ACCESS_KEY_ID=your_access_key_id
C:\> $env:AWS_SECRET_ACCESS_KEY=your_secret_access_key

Per impostare queste variabili su Windows utilizzando il prompt dei comandi, usaset.

C:\> set AWS_ACCESS_KEY_ID=your_access_key_id
C:\> set AWS_SECRET_ACCESS_KEY=your_secret_access_key

Fase 3: Sviluppare localmente i documenti dei componenti

AWSTOE i componenti sono creati con documenti YAML in testo semplice. Per ulteriori informazioni sulla sintassi dei documenti, vedere. Usa il framework AWSTOE dei documenti dei componenti per componenti personalizzati

Di seguito sono riportati alcuni esempi di documenti del componente Hello World per aiutarti a iniziare.

hello-world-windows.yml.

name: Hello World description: This is Hello World testing document for Windows. schemaVersion: 1.0 phases: - name: build steps: - name: HelloWorldStep action: ExecutePowerShell inputs: commands: - Write-Host 'Hello World from the build phase.' - name: validate steps: - name: HelloWorldStep action: ExecutePowerShell inputs: commands: - Write-Host 'Hello World from the validate phase.' - name: test steps: - name: HelloWorldStep action: ExecutePowerShell inputs: commands: - Write-Host 'Hello World from the test phase.'

hello-world-linux.yml.

name: Hello World description: This is hello world testing document for Linux. schemaVersion: 1.0 phases: - name: build steps: - name: HelloWorldStep action: ExecuteBash inputs: commands: - echo 'Hello World from the build phase.' - name: validate steps: - name: HelloWorldStep action: ExecuteBash inputs: commands: - echo 'Hello World from the validate phase.' - name: test steps: - name: HelloWorldStep action: ExecuteBash inputs: commands: - echo 'Hello World from the test phase.'

Fase 4: Convalida dei componenti AWSTOE

È possibile convalidare la sintassi dei AWSTOE componenti localmente con l'applicazione. AWSTOE Gli esempi seguenti mostrano il validate comando AWSTOE application per convalidare la sintassi di un componente senza eseguirlo.

Nota

L' AWSTOE applicazione può convalidare solo la sintassi del componente per il sistema operativo corrente. Ad esempio, quando è in esecuzione awstoe.exe su Windows, non è possibile convalidare la sintassi di un documento Linux che utilizza il modulo di azione. ExecuteBash

Windows

C:\> awstoe.exe validate --documents C:\Users\user\Documents\hello-world.yml

Linux

$ awstoe validate --documents /home/user/hello-world.yml

Passaggio 5: Esegui i componenti AWSTOE

L' AWSTOE applicazione può eseguire una o più fasi di documenti specifici utilizzando l'argomento della --phases riga di comando. I valori supportati per --phases sono buildvalidate, etest. È possibile immettere valori di fase multipli come valori separati da virgole.

Quando si fornisce un elenco di fasi, l' AWSTOE applicazione esegue in sequenza le fasi specificate di ciascun documento. Ad esempio, AWSTOE esegue le validate fasi build e didocument1.yaml, seguite dalle validate fasi build e didocument2.yaml.

Per garantire che i log siano archiviati in modo sicuro e conservati per la risoluzione dei problemi, consigliamo di configurare lo storage dei log in Amazon S3. In Image Builder, la posizione Amazon S3 per la pubblicazione dei log è specificata nella configurazione dell'infrastruttura. Per ulteriori informazioni sulla configurazione dell'infrastruttura, consulta Gestione della configurazione dell'infrastruttura EC2 Image Builder

Se non viene fornito un elenco di fasi, l' AWSTOE applicazione esegue tutte le fasi nell'ordine indicato nel documento YAML.

Per eseguire fasi specifiche in uno o più documenti, utilizzate i seguenti comandi.

Monofase

awstoe run --documents hello-world.yml --phases build

Fasi multiple

awstoe run --documents hello-world.yml --phases build,test
Esecuzione del documento

Esegui tutte le fasi in un unico documento

awstoe run --documents documentName.yaml

Esegui tutte le fasi in più documenti

awstoe run --documents documentName1.yaml,documentName2.yaml

Inserisci le informazioni di Amazon S3 per caricare AWSTOE i log da un percorso locale definito dall'utente (consigliato)

awstoe run --documents documentName.yaml --log-s3-bucket-name <S3Bucket> --log-s3-key-prefix <S3KeyPrefix> --log-s3-bucket-owner <S3BucketOwner> --log-directory <local_path>

Esegui tutte le fasi in un unico documento e visualizza tutti i log sulla console

awstoe run --documents documentName.yaml --trace

Comando della di esempio

awstoe run --documents s3://bucket/key/doc.yaml --phases build,validate

Esegui il documento con un ID univoco

awstoe run --documents <documentName>.yaml --execution-id <user provided id> --phases <comma separated list of phases>

Fatti aiutare con AWSTOE

awstoe --help