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á.
Usando cloud-init em AL2
O pacote cloud-init é um aplicativo de código aberto criado pela Canonical que é usado para inicializar imagens Linux em um ambiente de computação em nuvem, como a Amazon. EC2 O Amazon Linux contém uma versão personalizada do cloud-init. Isso permite que você especifique ações que devem acontecer com sua instância no momento da inicialização. É possível transmitir ações desejadas para cloud-init por meio dos campos de dados do usuário ao executar uma instância. Isso significa que você pode usar o common AMIs para muitos casos de uso e configurá-los dinamicamente na inicialização. O Amazon Linux também usa cloud-init para executar a configuração inicial da conta ec2-user.
Para obter mais informações, consulte a documentação de cloud-init
O Amazon Linux usa as ações de cloud-init localizadas em /etc/cloud/cloud.cfg.d e em /etc/cloud/cloud.cfg. É possível criar seus próprios arquivos de ações de cloud-init em /etc/cloud/cloud.cfg.d. Todos os arquivos nesse diretório são lidos por cloud-init. Eles são lidos em ordem léxica e arquivos mais recentes substituem arquivos mais antigos.
O pacote cloud-init executa essas e outras tarefas de configuração comuns para as instâncias na inicialização:
-
Definir o local padrão.
-
Definir o nome do host.
-
Analisar e lidar com os dados do usuário.
-
Gerenciar chaves SSH privadas de host.
-
Adicionar as chaves SSH públicas de um usuário ao
.ssh/authorized_keyspara facilitar login e administração. -
Preparar os repositórios para gerenciamento de pacotes.
-
Lidar com as ações de pacotes definidas nos dados do usuário.
-
Execute scripts de usuário encontrados nos dados do usuário.
-
Montar volumes de armazenamento de instâncias, se aplicável.
-
Por padrão, o volume de armazenamento de instância
ephemeral0será montado em/media/ephemeral0se estiver presente e possuir um sistema de arquivos válido; caso contrário, ele não será montado. -
Por padrão, todos os volumes de troca associados à instância são montados (somente para os tipos de instância
m1.smallec1.medium). -
É possível substituir a montagem do volume de armazenamento de instância padrão com a seguinte diretriz de cloud-init:
#cloud-config mounts: - [ ephemeral0 ]Para obter mais informações sobre o controle sobre montagens, consulte Montagens
na documentação do cloud-init. -
Os volumes de armazenamento de instâncias que oferecem suporte a TRIM não são formatados quando uma instância é iniciada, portanto, é necessário particioná-los e formatá-los para poder montá-los. Para obter mais informações, consulte TRIMSuporte ao volume do armazenamento de instâncias. É possível usar o módulo
disk_setuppara particionar e formatar seus volumes de armazenamento de instâncias na inicialização. Para obter mais informações, consulte Configuração de discosna documentação do cloud-init.
-
Formatos de dados do usuário compatíveis
O pacote cloud-init oferece suporte ao tratamento de dados do usuário em vários formatos:
-
Gzip
-
Se os dados do usuário estiverem compactados com gzip, o cloud-init descompactará os dados e os tratará adequadamente.
-
-
Multipart MIME
-
Usando um arquivo multipart MIME, é possível especificar mais do que um tipo de dados. Por exemplo, você pode especificar um script de dados do usuário e um tipo de configuração de nuvem. Cada parte do arquivo multipart poderá ser tratada pelo cloud-init se for um dos formatos com suporte.
-
-
Decodificação de base64
-
Se os dados do usuário estiverem codificados em base64, o cloud-init determinará se ele pode entender os dados decodificados como um dos tipos compatíveis. Se ele entender os dados decodificados, ele decodificará os dados e os tratará adequadamente. Caso contrário, ele retornará os dados base64 intactos.
-
-
Script de dados do usuário
-
Começa com
#!ouContent-Type: text/x-shellscript. -
O script é executado pelo
/etc/init.d/cloud-init-user-scriptsdurante o primeiro ciclo de inicialização. Isso ocorre tardiamente no processo de inicialização (depois que as ações de configuração inicial são executadas).
-
-
Arquivo de inclusão
-
Começa com
#includeouContent-Type: text/x-include-url. -
Esse conteúdo é um arquivo de inclusão. O arquivo contém uma lista de URLs, uma por linha. Cada um deles URLs é lido e seu conteúdo passa pelo mesmo conjunto de regras. O conteúdo lido do URL pode ser compactado com gzip ou texto sem MIME-multi-part formatação.
-
-
Dados de configuração da nuvem
-
Começa com
#cloud-configouContent-Type: text/cloud-config. -
Esse conteúdo são dados de configuração da nuvem.
-
-
Tarefa inicial (não suportada no AL2)
-
Começa com
#upstart-jobouContent-Type: text/upstart-job. -
Esse conteúdo é armazenado em um arquivo em
/etc/init, e o upstart consome o conteúdo da mesma forma que faz com outros trabalhos iniciantes.
-
-
Gancho de inicialização na nuvem
-
Começa com
#cloud-boothookouContent-Type: text/cloud-boothook. -
Esse conteúdo são dados boothook. São armazenados em um arquivo em
/var/lib/cloude executados imediatamente. -
Este é o hook mais antigo disponível. Não é fornecido nenhum mecanismo para executá-lo somente uma vez. O boothook deve cuidar disso por conta própria. Ele é fornecido com o ID de instância na variável de ambiente
INSTANCE_ID. Use essa variável para fornecer um once-per-instance conjunto de dados do boothook.
-