CloudFormation referência de scripts auxiliares
O AWS CloudFormation fornece os seguintes scripts auxiliares do Python que podem ser usados para instalar o software e iniciar serviços em uma instância do Amazon EC2 que você criou como parte de sua 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 ou WaitCondition, permitindo que você sincronize outros recursos na pilha quando o recurso de pré-requisito ou aplicativo estiver pronto.
-
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 nos 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.
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 está localizado 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 que não sejam as imagens do Amazon Linux AMI e para o Microsoft Windows (2008 ou posterior), você pode fazer download do 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 |
https://s3.amazonaws.com/cloudformation-examples/aws-cfn-bootstrap-py3-latest.tar.gz Use o Pip do Python para instalar o tar.gz. Para concluir as instalação do Ubuntu, você deve criar um symlink:
|
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 ações específicas do CloudFormation e as chaves de contexto de condição nas políticas do IAM, consulte Controlar o acesso com o AWS Identity and Access Management.
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 restart
nota
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 aws-cfn-bootstrap, consulte Histórico de versões de scripts auxiliares do AWS CloudFormation.