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á.
O aplicativo AWS Task Orchestrator and Executor (AWSTOE) é um aplicativo independente que cria, valida e executa comandos dentro de uma estrutura de definição de componentes. AWS os serviços podem ser usados 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 usá-lo como um aplicativo independente para desenvolver componentes personalizados. O Image Builder cuida dessas etapas para você, se você usar o console ou os AWS CLI comandos do Image Builder para criar componentes personalizados. Para obter mais informações, consulte Criar componentes personalizados com o Image Builder.
Etapas básicas
Etapa 1: instalar AWSTOE
Para desenvolver componentes localmente, baixe e instale o AWSTOE aplicativo.
-
Baixe o AWSTOE aplicativo
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 as versões 1.0 e 1.1 do TLS. Para acessar o bucket do S3 para AWSTOE downloads, seu software cliente deve usar o TLS versão 1.2 ou posterior. Para obter mais informações, consulte esta AWS publicação do blog de Segurança
. -
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, consulteVerificar a assinatura no Linux ou no macOS. Para verificar seu download em um servidor Windows, consulteVerifique a assinatura no Windows.
nota
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 CloudWatch Amazon, ao executar tarefas, como:
-
Baixar AWSTOE documentos de um caminho do Amazon S3 fornecido pelo usuário.
-
Módulos de execução
S3Download
ou açãoS3Upload
. -
Streaming de registros para CloudWatch, quando ativado.
Se você estiver executando AWSTOE em uma EC2 instância, a execução AWSTOE usa as mesmas permissões da função do IAM anexada à EC2 instância.
Para obter mais informações sobre as funções do IAM para EC2, consulte Funções do IAM para a 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
.
$env:AWS_ACCESS_KEY_ID=your_access_key_id
$env:AWS_SECRET_ACCESS_KEY=your_secret_access_key
Para definir essas variáveis no Windows o prompt de comando, use set
.
set AWS_ACCESS_KEY_ID=your_access_key_id
set AWS_SECRET_ACCESS_KEY=your_secret_access_key
Etapa 3: Desenvolver documentos de componentes localmente
Os componentes são criados com documentos YAML de texto simples. Para obter mais informações sobre sintaxe de documentos, consulte Use a estrutura de documentos de AWSTOE componentes para componentes personalizados.
Veja a seguir exemplos de documento de componente Hello World para ajudar você a começar.
Alguns dos exemplos de componente do Linux neste guia se referem a um arquivo de documento de componente chamado hello-world-linux.yml
. Você pode usar o documento a seguir para começar a usar esses exemplos.
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 componentes AWSTOE
Você pode validar a sintaxe dos AWSTOE componentes localmente com o AWSTOE
aplicativo. Os exemplos a seguir mostram o validate
comando do AWSTOE aplicativo para validar a sintaxe de um componente sem executá-lo.
nota
O AWSTOE 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
.
Linux ou macOS
awstoe validate --documents /home/user/hello-world.yml
Windows
awstoe.exe validate --documents C:\Users\user\Documents\hello-world.yml
Etapa 5: Executar AWSTOE componentes
O AWSTOE 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 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 aplicativo executará todas as fases na ordem listada no documento YAML.
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 upload de AWSTOE registros de um caminho local definido pelo usuário (recomendado)
awstoe run --documents
documentName.yaml
--log-s3-bucket-nameamzn-s3-demo-destination-bucket
--log-s3-key-prefixS3KeyPrefix
--log-s3-bucket-ownerS3BucketOwner
--log-directorylocal_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
--phasesbuild,validate
Executar documento com ID exclusivo
awstoe run --documents
documentName.yaml
--execution-iduser-provided-id
--phasesbuild,test
Obtenha ajuda com AWSTOE
awstoe --help