CloudFormation referência de scripts auxiliares
O CloudFormation fornece os seguintes scripts auxiliares do Python que podem ser usados para instalar software e iniciar serviços em uma instância do Amazon EC2 criada por você como parte da pilha:
-
cfn-init: usado para recuperar e interpretar os metadados de recursos, instalar pacotes, criar arquivos e iniciar serviços.
-
cfn-signal: usado para sinalizar com um
CreationPolicy
ouWaitCondition
, permitindo que você sincronize outros recursos na pilha quando o recurso ou a aplicação que são um pré-requisito estiverem prontos. -
cfn-get-metadata: usado para recuperar metadados de um recurso ou caminho para uma chave específica.
-
cfn-hup: usado para verificar se há atualizações para os metadados e executar hooks personalizados quando alterações são detectadas.
Você chama os scripts diretamente do seu modelo. Os scripts funcionam em conjunto com os metadados de recurso que estão definidos no mesmo modelo. Os scripts são executados na instância do Amazon EC2 durante o processo de criação da pilha.
nota
Os scripts não são executados por padrão. Você deve incluir chamadas no seu modelo para executar scripts auxiliares específicos.
Tópicos
Imagens do Amazon Linux AMI
Os scripts auxiliares do CloudFormation são pré-instalados em imagens do Amazon Linux AMI que têm scripts de bootstrap instalados.
-
Na versão mais recente do Amazon Linux AMI, os scripts são instalados em
/opt/aws/bin
. -
Em versões anteriores do Amazon Linux AMI, o pacote
aws-cfn-bootstrap
que contém os scripts se encontra no repositório Yum.
nota
Os scripts auxiliares são pré-instalados nas versões mais recentes da Amazon Linux AMI, e não em AMIs otimizadas, como a imagem otimizada do ECS que usa o Amazon Linux como base.
Download de pacotes para outras plataformas
Para as distribuições do Linux/Unix, exceto as imagens do Amazon Linux AMI e para o Microsoft Windows (2008 ou posterior), você pode baixar o pacote aws-cfn-bootstrap
.
nota
Versão 2.0–1 e posterior dos scripts auxiliares são compatíveis com o Python 3.4 e posterior. Se você precisar de scripts auxiliares compatíveis com uma versão anterior do Python, consulte Histórico de versões para scripts Helper CloudFormation 1.4.
Formato do arquivo | Faça download do URL |
---|---|
TAR.GZ |
Use o pip do Python para instalar o
|
ZIP |
https://s3.amazonaws.com/cloudformation-examples/aws-cfn-bootstrap-py3-latest.zip |
EXE |
Windows de 32 bits: https://s3.amazonaws.com/cloudformation-examples/aws-cfn-bootstrap-py3-latest.exe Windows de 64 bits: https://s3.amazonaws.com/cloudformation-examples/aws-cfn-bootstrap-py3-win64-latest.exe |
Permissões para scripts auxiliares
Por padrão, os scripts auxiliares não requerem credenciais, portanto, você não precisa usar as opções --access-key
, --secret-key
, --role
ou --credential-file
. No entanto, se nenhuma credencial for especificada, o CloudFormation verificará se há associação de pilha e limitará o escopo da chamada para a pilha à qual a instância pertence.
Se você optar por especificar uma opção, recomendamos que você especifique somente uma das seguintes ações:
-
--role
-
--credential-file
-
--access-key
junto com--secret-key
Se você especificar uma opção, saiba quais são as permissões que os diversos scripts auxiliares exigem:
-
cfn-signal
requercloudformation:SignalResource
-
Todos os outros scripts auxiliares exigem
cloudformation:DescribeStackResource
Para mais informações sobre como usar as ações específicas do CloudFormation e as chaves de contexto de condição nas políticas do IAM, consulte Controle o acesso ao CloudFormation com o AWS Identity and Access Management no Guia do usuário do AWS CloudFormation.
Usar a versão mais recente
Os scripts auxiliares são atualizados periodicamente. Se você usa os scripts auxiliares, confirme que as instâncias executadas estão usando a versão mais recente dos scripts:
-
Inclui o seguinte comando na propriedade
UserData
do seu modelo antes de chamar os scripts. Esse comando garante que você obtenha a versão mais recente:yum install -y aws-cfn-bootstrap
-
Se você não incluir o comando
yum install
e usar os scriptscfn-init
,cfn-signal
oucfn-get-metadata
, você precisará atualizar manualmente os scripts em cada instância Linux do Amazon EC2 usando este comando:sudo yum install -y aws-cfn-bootstrap
nota
A execução de
sudo yum install -y aws-cfn-bootstrap
instala os scripts auxiliares do repositórioyum
. -
Se você não incluir o comando
yum install
e usar o scriptcfn-hup
, você precisará atualizar manualmente o script em cada instância Linux do Amazon EC2 usando este comando:sudo yum install -y aws-cfn-bootstrap
sudo /sbin/service
cfn-hup
restartnota
A execução de
sudo yum install -y aws-cfn-bootstrap
instala os scripts auxiliares do repositórioyum
. -
Se você usar o código-fonte para os scripts trabalharem com outra versão do Linux ou uma plataforma diferente e você criar seu próprio certificado de armazenamento confiável, também será necessário manter o armazenamento confiável atualizado.
Para obter o histórico de versões do pacote do aws-cfn-bootstrap
, consulte Histórico de versões de scripts auxiliares do AWS CloudFormation.