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.
Etapas básicas
Etapa 1: instalar AWSTOE
Para desenvolver componentes localmente, baixe e instale o AWSTOE aplicativo.
-
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
. -
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çãoS3Upload
. -
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 validate
comando 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