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á.
Personalizar software em Windows Servers
Você pode personalizar e configurar o software do qual seu aplicativo depende. Estes arquivos podem ser dependências exigidas pelo aplicativo, por exemplo, pacotes adicionais ou serviços que precisam ser executados. Para obter informações gerais sobre como personalizar e configurar ambientes do Elastic Beanstalk, consulte Configurar ambientes do Elastic Beanstalk.
nota
YAML depende de um recuo consistente. Compare o nível de recuo ao substituir o conteúdo em um arquivo de configuração de exemplo e se confira se o editor de texto usa espaços, e não caracteres de tabulação, como recuo.
Os arquivos de configuração oferecem suporte às seguintes chaves que afetam o servidor Windows no qual seu aplicativo é executado.
As chaves são processadas na ordem em que aparecem listadas aqui.
nota
Versões mais antigas (sem versionamento) da plataforma .NET não processam arquivos de configuração na ordem correta. Saiba mais em Migrar entre versões principais da plataforma do Windows Server do Elastic Beanstalk.
Assista a seus eventos de ambiente enquanto desenvolve e testa os arquivos de configuração. O Elastic Beanstalk ignora um arquivo de configuração que contém erros de validação, como uma chave inválida, e não processa nenhuma das outras chaves no mesmo arquivo. Quando isso acontece, o Elastic Beanstalk adiciona um evento de aviso ao log de eventos.
Pacotes
Use a chave packages
para fazer download e instalar aplicativos e componentes predefinidos.
Em ambientes Windows, o Elastic Beanstalk é compatível com o download e a instalação de pacotes MSI. (Os ambientes do Linux são compatíveis com outros gerenciadores de pacotes. Para obter detalhes, consulte Pacotes na página Personalizar software em servidores Linux).
É possível fazer referência a locais externos, como o Amazon Simple Storage Service (Amazon S3), desde que o URL seja publicamente acessível.
Se você especificar vários pacotes msi:
, sua ordem de instalação não será garantida.
Sintaxe
Especifique um nome de sua preferência para o pacote e, como valor, um URL para um arquivo MSI local. Você pode especificar vários pacotes sob a chave msi:
.
packages:
msi:
package name
: package url
...
Exemplos
O exemplo a seguir especifica um URL para fazer download do mysql em https://dev.mysql.com/
.
packages:
msi:
mysql: https://dev.mysql.com/get/Downloads/Connector-Net/mysql-connector-net-8.0.11.msi
O exemplo a seguir especifica um objeto do Amazon S3 como o local do arquivo MSI.
packages:
msi:
mymsi: https://mybucket
.s3.amazonaws.com/myobject
.msi
Origens
Use a chave sources
para fazer download de um arquivo compactado de um URL público e descompacte-o no diretório de destino na instância do EC2.
Sintaxe
sources:
target directory
: location of archive file
Formatos com suporte
Em ambientes Windows, o Elastic Beanstalk é compatível com o formato .zip. (Os ambientes do Linux são compatíveis com outros formatos. Para obter detalhes, consulte Origens na página Personalizar software em servidores Linux.)
É possível fazer referência a locais externos, como o Amazon Simple Storage Service (Amazon S3), desde que o URL seja publicamente acessível.
Exemplo
O exemplo a seguir faz download de um arquivo .zip público de um bucket do Amazon S3 e o descompacta em c:/myproject/myapp
.
sources:
"c:/myproject/myapp": https://mybucket
.s3.amazonaws.com/myobject
.zip
Arquivos
Use a chave files
para criar arquivos na instância do EC2. O conteúdo pode ser incorporado no arquivo de configuração ou obtido de um URL. Os arquivos são gravados em disco em ordem lexicográfica. Para fazer download de arquivos privados do Amazon S3, forneça o perfil da instância para autorização.
Sintaxe
files:
"target file location on disk
":
source: URL
authentication: authentication name
:
"target file location on disk
":
content: |
this is my content
encoding: encoding format
Opções
content
-
(Opcional) Uma string.
source
-
(Opcional) O URL de onde o arquivo é carregado. Essa opção não pode ser especificada com a chave de conteúdo.
encoding
-
(Opcional) O formato de codificação. Essa opção só é usada para um valor de chave de conteúdo fornecido. O valor padrão é
plain
.Valores válidos:
plain
|base64
authentication
-
(Opcional) O nome de um método de autenticação do AWS CloudFormation a ser usado. É possível adicionar métodos de autenticação aos metadados do grupo de Auto Scaling com a chave Resources.
Exemplos
O exemplo a seguir mostra as duas maneiras de fornecer conteúdo do arquivo: por meio de um URL ou em linha no arquivo de configuração.
files:
"c:\\targetdirectory\\targetfile.txt
":
source: http://foo.bar/myfile
"c:/targetdirectory/targetfile.txt
":
content: |
# this is my file
# with content
nota
Se você usar uma barra invertida (\) no caminho do arquivo, deverá precedê-la com outra barra invertida (caractere de escape), como mostrado no exemplo anterior.
O exemplo a seguir usa a chave Resources para adicionar um método de autenticação chamado S3Auth e o usa para fazer download de um arquivo privado de um bucket do Amazon S3:
files:
"c:\\targetdirectory\\targetfile.zip":
source: https://elasticbeanstalk-us-east-2-123456789012.s3.amazonaws.com/prefix/myfile.zip
authentication: S3Auth
Resources:
AWSEBAutoScalingGroup:
Metadata:
AWS::CloudFormation::Authentication:
S3Auth
:
type: "s3"
buckets: ["elasticbeanstalk-us-east-2-123456789012
"]
roleName:
"Fn::GetOptionSetting":
Namespace: "aws:autoscaling:launchconfiguration"
OptionName: "IamInstanceProfile"
DefaultValue: "aws-elasticbeanstalk-ec2-role"
Comandos
Use a chave commands
para executar comandos na instância do EC2. Os comandos são processados em ordem alfabética por nome e executados antes que o aplicativo e o servidor Web sejam configurados e o arquivo de versão do aplicativo seja extraído.
Os comandos especificados são executados como usuário administrador.
Para solucionar problemas com seus comandos, você pode encontrar a saída deles nos logs da instância.
Sintaxe
commands:
command name
:
command: command to run
Opções
command
-
Uma matriz ou uma string que especifica o comando a ser executado. Se você usar uma matriz, não precisará de caracteres de espaço de escape ou de aspas para parâmetros de comandos.
cwd
-
(Opcional) O diretório de trabalho. Por padrão, o Elastic Beanstalk tenta encontrar o local do diretório do projeto. Se não for encontrado, ele usará
c:\Windows\System32
como padrão. env
-
(Opcional) Define variáveis de ambiente para o comando. Essa propriedade substitui, em vez de anexar, o ambiente existente.
ignoreErrors
-
(Opcional) Um valor booliano que determina se outros comandos deverão ser executados se houver falha no comando incluído na chave
command
(retorna um valor diferente de zero). Defina esse valor comotrue
para continuar executando os comandos mesmo se houver falha no comando. Defina-o comofalse
para interromper a execução dos comandos em caso de falha no comando. O valor padrão éfalse
. test
-
(Opcional) Um comando que deve retornar o valor
true
(código de saída 0) para que o Elastic Beanstalk processe o comando incluído na chavecommand
. waitAfterCompletion
-
(Opcional) Quantos segundos aguardar para executar o próximo comando depois que o comando é concluído. Se o sistema exigir reinicialização após a conclusão do comando, ele será reinicializado após o número de segundos especificado. Se o sistema for reinicializado como resultado de um comando, o Elastic Beanstalk recuperará até o ponto depois do comando no arquivo de configuração. O valor padrão é
60
segundos. Você também pode especificarforever
, mas o sistema deve ser reinicializado antes de você executar outro comando.
Exemplo
O exemplo a seguir salva a saída do comando set
no arquivo especificado. Se houver um comando subsequente, o Elastic Beanstalk o executará logo após o término deste comando. Se esse comando exigir reinicialização, o Elastic Beanstalk reinicializará a instância logo após o término do comando.
commands:
test:
command: set > c:\\myapp\\set.txt
waitAfterCompletion: 0
Serviços
Use a chave services
para definir quais serviços deverão ser iniciados ou interrompidos quando a instância for executada. A chave services
também permite especificar dependências em fontes, pacotes e arquivos para que, se for necessária uma reinicialização devido à instalação de arquivos, o Elastic Beanstalk reinicie o serviço.
Sintaxe
services:
windows:
name of service
:
files:
- "file name
"
sources:
- "directory
"
packages:
name of package manager
:
"package name
[: version
]"
commands:
- "name of command
"
Opções
ensureRunning
-
(Opcional) Defina
true
para garantir que o serviço esteja sendo executado após o Elastic Beanstalk ser concluído.Defina
false
para garantir que o serviço não esteja em execução depois que o Elastic Beanstalk for concluído.Omita essa chave para não fazer nenhuma alteração no estado do serviço.
enabled
-
(Opcional) Defina como
true
para garantir que o serviço seja iniciado automaticamente na inicialização.Defina como
false
para garantir que o serviço não seja iniciado automaticamente na inicialização.Omita essa chave para não fazer nenhuma alteração nessa propriedade.
files
-
Uma lista de arquivos. Se o Elastic Beanstalk alterar um diretamente por meio do bloco de arquivos, o serviço será reiniciado.
sources
-
Uma lista de diretórios. Se o Elastic Beanstalk expandir um arquivo em um desses diretórios, o serviço será reiniciado.
packages
-
Um mapa do gerenciador de pacotes para uma lista de nomes de pacotes. Se o Elastic Beanstalk instalar ou atualizar um desses pacotes, o serviço será reiniciado.
commands
-
Uma lista de nomes de comandos. Se o Elastic Beanstalk executar o comando especificado, o serviço será reiniciado.
Exemplo
services:
windows:
myservice:
enabled: true
ensureRunning: true
Comandos de contêiner
Use a chave container_commands
para executar comandos que afetam o código-fonte do seu aplicativo. Os comandos de contêiner são executados depois que o aplicativo e o servidor Web são configurados e o arquivo de versão do aplicativo é extraído, mas antes da implantação da versão do aplicativo. Os comandos que não são de contêiner e outras operações de personalização são executados antes da extração do código-fonte do aplicativo.
Os comandos de contêiner são executados no diretório de preparação, onde seu código-fonte é extraído antes de ser implantado no servidor de aplicativo. Quaisquer alterações que você fizer em seu código-fonte no diretório de preparação com um comando de contêiner serão incluídas quando a fonte for implantada em seu local final.
Para solucionar problemas com seus comandos de contêiner, você pode encontrar a saída deles nos logs da instância.
Use a opção leader_only
para somente executar o comando em uma única instância ou configure test
para somente executar o comando quando um comando de teste é avaliado como true
. Os comandos de contêiner somente líderes são executados apenas durante a criação do ambiente e as implantações, enquanto outros comandos e operações de personalização de servidor são executados sempre que uma instância é provisionada ou atualizada. Os comandos de contêiner somente líderes não são executados devido a alterações na configuração de execução, como uma alteração no ID do AMI ou no tipo de instância.
Sintaxe
container_commands:
name of container_command
:
command: command to run
Opções
command
-
Uma string ou matriz de strings para execução.
env
-
(Opcional) Defina variáveis de ambiente antes de executar o comando, substituindo qualquer valor existente.
cwd
-
(Opcional) O diretório de trabalho. Por padrão, este é o diretório de preparação do aplicativo descompactado.
leader_only
-
(Opcional) Somente execute o comando em uma única instância escolhida pelo Elastic Beanstalk. Os comandos de contêiner somente líderes são executados antes dos outros comandos de contêiner. Um comando pode ser somente líder ou ter um
test
, mas não as duas coisas (leader_only
tem precedência). test
-
(Opcional) Execute um comando de teste que deve retornar
true
para executar o comando de contêiner. Um comando pode ser somente líder ou ter umtest
, mas não as duas coisas (leader_only
tem precedência). ignoreErrors
-
(Opcional) Não falhar implantações se o comando de contêiner retornar um valor diferente de 0 (êxito). Defina como
true
para habilitar. waitAfterCompletion
-
(Opcional) Quantos segundos aguardar para executar o próximo comando depois que o comando é concluído. Se o sistema exigir reinicialização após a conclusão do comando, ele será reinicializado após o número de segundos especificado. Se o sistema for reinicializado como resultado de um comando, o Elastic Beanstalk recuperará até o ponto depois do comando no arquivo de configuração. O valor padrão é
60
segundos. Você também pode especificarforever
, mas o sistema deve ser reinicializado antes de você executar outro comando.
Exemplo
O exemplo a seguir salva a saída do comando set
no arquivo especificado. O Elastic Beanstalk executa o comando em uma instância e reinicializa a instância logo após o término do comando.
container_commands:
foo:
command: set > c:\\myapp\\set.txt
leader_only: true
waitAfterCompletion: 0