Este é o novo Guia de referência de modelos do AWS CloudFormation. Atualize seus favoritos e links. Para obter ajuda para começar a usar o CloudFormation, consulte o Guia do usuário do AWS CloudFormation.
cfn-init
Em um modelo do CloudFormation, você pode usar AWS::CloudFormation::Init
na seção Metadata
de um recurso do Amazon EC2 para definir tarefas de inicialização. Para obter mais informações, consulte AWS::CloudFormation::Init.
O script auxiliar cfn-init
lê os metadados do modelo na chave AWS::CloudFormation::Init
e atua de acordo para:
-
Obter e analisar metadados do CloudFormation
-
Instalar pacotes
-
Gravar arquivos no disco
-
Ativar/desativar e iniciar/interromper serviços
O script auxiliar cfn-init
geralmente é executado a partir dos dados do usuário de uma instância do Amazon EC2 ou do modelo de execução.
Caso esteja começando a usar scripts auxiliares, recomendamos que primeiro conclua o tutorial Implantar aplicações no Amazon EC2 no Guia do usuário do AWS CloudFormation.
nota
Se você usar cfn-init
para atualizar um arquivo existente, ele cria uma cópia de backup do arquivo original com uma extensão .bak no mesmo diretório. Por exemplo, se você atualizar /
, essa ação produzirá dois arquivos: path
/to
/file_name
/
contém o conteúdo do arquivo original e path
/to
/file_name
.bak/
contém o conteúdo atualizado.path
/to
/file_name
Sintaxe
cfn-init --stack|-s
stack.name.or.id
\ --resource|-rlogical.resource.id
\ --regionregion
\ --access-keyaccess.key
\ --secret-keysecret.key
\ --rolerolename
\ --credential-file|-fcredential.file
\ --configsets|-cconfig.sets
\ --url|-uservice.url
\ --http-proxyHTTP.proxy
\ --https-proxyHTTPS.proxy
\ --verbose|-v
nota
cfn-init
não exige 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. Para obter mais informações, consulte Permissões para scripts auxiliares.
Opções
Nome | Descrição | Obrigatório |
---|---|---|
|
Nome ou ID da pilha. Tipo: string Padrão: nenhum Exemplo: |
Sim |
|
O ID de recursos lógicos do recurso que contém os metadados. Tipo: string Exemplo: |
Sim |
|
O endpoint regional do CloudFormation a ser usado. Tipo: string Padrão: Exemplo: |
Não |
|
A chave de acesso da AWS para uma conta com permissão para chamar Tipo: string |
Não |
|
A chave de acesso secreta da AWS que corresponde a uma chave de acesso específica da AWS. Tipo: string |
Não |
|
O nome de um perfil do IAM que está associado à instância. Tipo: string Condição: o parâmetro do arquivo de credencial substitui este parâmetro. |
Não |
|
Um arquivo que contém uma chave de acesso secreta e uma chave de acesso. O parâmetro do arquivo de credencial substitui os parâmetros --role, --access-key e --secret-key. Tipo: string |
Não |
|
Uma lista separada por vírgulas de configsets para executar (em ordem). Tipo: string Padrão: |
Não |
|
O endpoint do CloudFormation a ser usado. Tipo: string |
Não |
|
Um proxy HTTP (não SSL). Use o seguinte formato: Tipo: string |
Não |
|
Um proxy HTTPS. Use o seguinte formato: Tipo: string |
Não |
|
Saída detalhada. Isso é útil para os casos de depuração em que ocorre falha ao inicializar notaPara depurar eventos de inicialização, você deve ativar |
Não |
|
Mostra a mensagem de ajuda e sai. |
Não |
Exemplos
Exemplos do Amazon Linux
Os exemplos a seguir mostram a propriedade UserData
de uma instância do EC2, que executa o InstallAndRun
associado ao recurso WebServerInstance
.
Para incluir a versão mais recente, adicione yum install -y aws-cfn-bootstrap
a UserData
.
JSON
Propriedade UserData
utilizando a função Fn::Join
intrínseca.
{ "UserData": { "Fn::Base64": { "Fn::Join": [ "", [ "#!/bin/bash -xe\n", "", "yum install -y aws-cfn-bootstrap", "/opt/aws/bin/cfn-init -v ", " --stack ", { "Ref": "AWS::StackName" }, " --resource WebServerInstance ", " --configsets InstallAndRun ", " --region ", { "Ref": "AWS::Region" }, "\n" ] ] } } }
YAML
Propriedade UserData
utilizando a função Fn::Sub
intrínseca.
UserData: !Base64 Fn::Sub: |- #!/bin/bash -xe yum update -y aws-cfn-bootstrap # Install the files and packages from the metadata /opt/aws/bin/cfn-init -v --stack ${AWS::StackName} --resource WebServerInstance --configsets InstallAndRun --region ${AWS::Region}
Recursos relacionados
Para um tutorial com um modelo de exemplo, consulte Implantar aplicações no Amazon EC2 no Guia do usuário do AWS CloudFormation.
Para um exemplo do Windows, consulte Fazer o bootstrap de pilhas do CloudFormation baseadas em Windows no Guia do usuário do AWS CloudFormation.
Você também pode visitar nosso repositório no GitHub para baixar exemplos de modelo que usam cfn-init
, incluindo os que se seguem.
Para obter modelos de exemplo de pilha LAMP que usam cfn-init
, consulte ec2-lamp-server