CloudFormation referência de scripts auxiliares - AWS CloudFormation

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:

ln -s /<path-to-extracted-tar>/aws-cfn-bootstrap-2.0/init/ubuntu/cfn-hup /etc/init.d/cfn-hup

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:

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 scripts cfn-init, cfn-signalou cfn-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ório yum.

  • Se você não incluir o comando yum install e usar o script cfn-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ório yum.

  • 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.