Configuração manual para desenvolver componentes personalizados com AWSTOE - EC2Image Builder

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Configuração manual para desenvolver componentes personalizados com AWSTOE

A ferramenta AWS Task Orchestrator and Executor (AWSTOE) aplicativo é um aplicativo independente que cria, valida e executa comandos dentro de uma estrutura de definição de componentes. AWS serviços podem usar AWSTOE para orquestrar fluxos de trabalho, instalar software, modificar configurações do sistema e testar compilações de imagens.

Siga estas etapas para instalar manualmente o AWSTOE aplicativo e use-o como um aplicativo independente para desenvolver componentes personalizados. O Image Builder cuida dessas etapas para você, se você usar o console do Image Builder ou AWS CLI comandos para criar componentes personalizados. Para obter mais informações, consulte Crie componentes personalizados com o Image Builder.

Etapa 1: instalar AWSTOE

Para desenvolver componentes localmente, baixe e instale o AWSTOE aplicativo.

  1. Baixe o AWSTOE aplicação

    Para instalar AWSTOE, escolha o link de download apropriado para sua arquitetura e plataforma. Para obter a lista completa de links para download de aplicativos, consulte AWSTOE downloads

    Importante

    AWS está eliminando gradualmente o suporte para TLS as versões 1.0 e 1.1. Para acessar o bucket S3 para AWSTOE downloads, seu software cliente deve usar a TLS versão 1.2 ou posterior. Para obter mais informações, consulte AWS Postagem no blog de segurança.

  2. Verifique a assinatura

    As etapas para verificar seu download dependem da plataforma do servidor em que você executa o AWSTOE aplicativo depois de instalá-lo. Para verificar seu download em um servidor Linux, consulteVerifique a assinatura no Linux. Para verificar seu download em um servidor Windows, consulteVerifique a assinatura no Windows.

Importante

AWSTOE é invocado diretamente de seu local de download. Não há necessidade de uma etapa de instalação separada. Isso também significa que AWSTOE pode fazer alterações no ambiente local.

Para garantir que você isole as alterações durante o desenvolvimento do componente, recomendamos que você use uma EC2 instância para desenvolver e testar AWSTOE componentes.

Etapa 2: definir AWS credenciais

AWSTOE requer AWS credenciais para se conectar a outros Serviços da AWS, como Amazon S3 e Amazon CloudWatch, ao executar tarefas, como:

  • Baixando AWSTOE documentos de um caminho do Amazon S3 fornecido pelo usuário.

  • Módulos de execução S3Download ou ação S3Upload.

  • Streaming de registros para CloudWatch, quando ativado.

Se você estiver correndo AWSTOE em uma EC2 instância e, em seguida, executando AWSTOE usa as mesmas permissões da IAM função anexada à EC2 instância.

Para obter mais informações sobre IAM funções paraEC2, consulte IAMfunções na Amazon EC2.

Os exemplos a seguir mostram como definir AWS credenciais usando as variáveis de AWS_SECRET_ACCESS_KEY ambiente AWS_ACCESS_KEY_ID e.

Para definir essas variáveis no Linux, macOS ou Unix, use export.

$ export AWS_ACCESS_KEY_ID=your_access_key_id
$ export AWS_SECRET_ACCESS_KEY=your_secret_access_key

Para definir essas variáveis no Windows usando PowerShell, use$env.

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

Para definir essas variáveis no Windows o prompt de comando, use set.

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

Etapa 3: Desenvolver documentos de componentes localmente

Os componentes são criados com documentos de texto simplesYAML. Para obter mais informações sobre sintaxe de documentos, consulte Use o comando AWSTOE estrutura de documentos de componentes para componentes personalizados.

Veja a seguir exemplos de documentos do componente Hello World para ajudar você a começar.

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

Etapa 4: validar AWSTOE Componentes

Você pode validar a sintaxe do AWSTOE componentes locais com o AWSTOE aplicativo. Os exemplos a seguir mostram o AWSTOE validatecomando do aplicativo para validar a sintaxe de um componente sem executá-lo.

nota

A ferramenta AWSTOE o aplicativo pode validar somente a sintaxe do componente para o sistema operacional atual. Por exemplo, ao executar awstoe.exe no Windows, você não pode validar a sintaxe de um documento Linux que usa o módulo de ação ExecuteBash.

Windows

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

Linux

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

Etapa 5: Executar AWSTOE Componentes

A ferramenta AWSTOE o aplicativo pode executar uma ou mais fases de documentos especificados usando o argumento da linha de --phases comando. Os valores compatíveis para --phases são build, validate e test. Vários valores de fase podem ser inseridos como valores separados por vírgula.

Quando você fornece uma lista de fases, o AWSTOE o aplicativo executa sequencialmente as fases especificadas de cada documento. Por exemplo, AWSTOE executa validate as fases build e dedocument1.yaml, seguidas pelas validate fases build e dedocument2.yaml.

Para garantir que seus logs sejam armazenados com segurança e retidos para solução de problemas, recomendamos configurar o armazenamento de logs no Amazon S3. No Image Builder, a localização do Amazon S3 para publicação de logs é especificada na configuração da infraestrutura. Para obter mais informações sobre configuração de infraestrutura, consulte Gerenciar a configuração da infraestrutura do Image Builder

Se uma lista de fases não for fornecida, o AWSTOE o aplicativo executa todas as fases na ordem listada no YAML documento.

Para executar fases específicas em um ou vários documentos, use os comandos a seguir.

Fase única

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

Várias fases

awstoe run --documents hello-world.yml --phases build,test
Execução de documentos

Executar todas as fases em um único documento

awstoe run --documents documentName.yaml

Executar todas as fases em vários documentos

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

Insira as informações do Amazon S3 para fazer o upload AWSTOE registros de um caminho local definido pelo usuário (recomendado)

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

Executar todas as fases em um único documento e exibir todos os logs no console

awstoe run --documents documentName.yaml --trace

Exemplo de comando

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

Executar documento com ID exclusivo

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

Obtenha ajuda com AWSTOE

awstoe --help