Todos os produtos
Search
Central de documentação

Elastic Compute Service:Alibaba Cloud image specifications (Linux)

Última atualização: Oct 16, 2026

Antes de importar uma imagem personalizada para o Alibaba Cloud ou publicá-la no Alibaba Cloud Marketplace, certifique-se de que ela atenda às especificações descritas neste tópico e seja aprovada nos testes de compatibilidade com os tipos de instância do ECS. O cumprimento destas diretrizes aumenta a disponibilidade e a eficiência na importação de imagens personalizadas, facilitando a criação de instâncias do ECS sob medida para o seu negócio. Este documento detalha as especificações para a criação de imagens Linux.

Partições de disco

As partições de disco devem atender aos seguintes requisitos.

  • Redimensionamento de disco

    • Utilize partições físicas para particionar o disco. A partição raiz deve ser a última partição para evitar falhas durante o redimensionamento do disco do sistema.

    • Em sistemas que suportam o redimensionamento online de discos em cloud, use o comando growpart para redimensionar a partição. Para isso, instale o pacote cloud-utils-growpart. Para mais informações, consulte Resize partitions and file systems (Linux).

  • Partição swap

    Não crie uma partição swap.

  • Gerenciamento de LVM

    Não use o Logical Volume Management (LVM) para as partições de disco.

  • Montagem de disco

    Use UUIDs para configurar os arquivos fstab e grub. Para mais informações, consulte Use a UUID to automatically mount a data disk in the /etc/fstab file e Modify the disk partition identification method to UUID in the GRUB configuration file.

    Importante

    Uma configuração incorreta do arquivo fstab pode fazer com que a instância do ECS falhe ao iniciar após uma reinicialização.

  • Tamanho do disco

    A capacidade mínima do disco do sistema é de 20 GiB.

  • Defina o modo de inicialização da imagem

    Para garantir a compatibilidade com tipos de instância que utilizam diferentes modos de inicialização, configure o modo de inicialização (BIOS ou UEFI) para a sua imagem local. Ao importar a imagem, selecione o modo de inicialização que corresponda ao modo real da imagem.

    Nota

    Se a sua imagem local suportar tanto BIOS quanto UEFI, defina o modo de inicialização como UEFI-Preferred. Assim, a imagem se adapta automaticamente aos modos de inicialização de todos os tipos de instância, o que também ajuda a reduzir o custo de criação de imagens.

Softwares e ferramentas necessários

  • Instale o driver virtio

    Antes de publicar a imagem, certifique-se de que o driver virtio esteja instalado e adicionado ao sistema de arquivos RAM inicial (initramfs). O driver virtio é obrigatório para que a imagem seja executada em instâncias do Alibaba Cloud. Para mais informações, consulte Install virtio drivers.

  • Instale o driver NVMe

    As gerações mais recentes de famílias de instâncias do ECS, como ecs.g8i e ecs.g7se, montam discos em cloud usando o protocolo NVMe. A imagem deve ter o driver NVMe instalado, caso contrário, as instâncias criadas a partir dela falharão na inicialização. Para garantir que você possa usar a imagem para criar esses tipos de instâncias do ECS, recomendamos instalar o driver NVMe na sua imagem local. Para obter instruções, consulte Install the NVMe driver for a custom image. Após importar a imagem, defina a propriedade NVMe Driver da imagem como Supported. Para mais informações, consulte Modify the properties and tags of an image.

  • Instale o cloud-init

    Instale o cloud-init para inicializar as instâncias do ECS criadas a partir da imagem. Para mais informações, consulte Install cloud-init. Recomendamos a instalação do cloud-init 23.2.2 ou posterior para suportar o acesso a metadados no modo de segurança reforçada. Isso garante a segurança no acesso aos metadados da instância.

    Nota

    O uso do cloud-init para modificar uma senha exige que o kernel do sistema operacional suporte o recurso CONFIG_FW_CFG_SYSFS. Esse recurso é suportado por padrão nas versões 4.6 e posteriores do kernel da comunidade Linux, e nas versões 3.10.0-826.el7 e posteriores do kernel do CentOS. Você pode executar o comando grep -nr CONFIG_FW_CFG_SYSFS /boot/config-$(uname -r) no servidor que utiliza a imagem. Se a saída do comando contiver CONFIG_FW_CFG_SYSFS=y, o kernel da imagem suporta o recurso CONFIG_FW_CFG_SYSFS.

  • Instale o Cloud Assistant

    Instale o Cloud Assistant Agent ao criar a imagem. O Cloud Assistant é uma ferramenta de automação nativa para o ECS que permite executar comandos (como Shell, powershell e Bat) em lotes, sem a necessidade de senha, logon ou servidor de salto. Você pode usar o Cloud Assistant para executar scripts automatizados de O&M, monitorar processos, instalar ou desinstalar softwares, iniciar ou parar services e instalar patches ou atualizações de segurança. Para mais informações, consulte Install the Cloud Assistant Agent.

  • Proteja o servidor

    Ao criar uma imagem, recomendamos o uso do Security Center para proteger o seu servidor. O Security Center oferece um conjunto abrangente de recursos de segurança, incluindo notificações de alerta, varredura e remoção de malware, detecção e remoção de webshells, autoproteção do cliente e varredura de vulnerabilidades de imagem, para proteger totalmente seus ativos em cloud e servidores locais.

Configuração do sistema

  • Configure o relógio

    O relógio de hardware de uma imagem suporta os fusos horários UTC e LocalTime. Ao criar uma imagem, use o modo padrão de Tempo Universal Coordenado (UTC). O código de exemplo a seguir mostra como configurar o relógio:

    cat > /etc/adjtime << EOF
    0.0 0 0.0
    0
    UTC
    EOF
    
    timedatectl set-local-rtc 0

    Para mais informações, consulte Linux time and time zones.

  • Configure o service SSHD

    Configure o service SSHD.

    O service SSHD permite que você faça logon remoto e gerencie sistemas Linux, utilizando o protocolo SSH para comunicação criptografada. Um exemplo de modificação da configuração em /etc/ssh/sshd_config é o seguinte:

    UseDNS no
    AddressFamily inet 
    SyslogFacility AUTHPRIV 
    PermitRootLogin yes 
    PasswordAuthentication yes 
  • Configure o service Chrony ou NTP

    Ao criar uma imagem, recomendamos configurar o service Chrony ou o service NTP.

    O Chrony e o NTP são ferramentas usadas para sincronizar relógios de computadores e evitar desvios de tempo. Os comandos de exemplo são os seguintes:

    service Chrony

    chrony_file=/etc/chrony.conf
    cat >$chrony_file <<EOF
    # Use Alibaba NTP server
    # Alicloud NTP
    
    server ntp.cloud.aliyuncs.com minpoll 4 maxpoll 10 iburst
    server ntp7.cloud.aliyuncs.com minpoll 4 maxpoll 10 iburst
    server ntp8.cloud.aliyuncs.com minpoll 4 maxpoll 10 iburst
    server ntp9.cloud.aliyuncs.com minpoll 4 maxpoll 10 iburst
    server ntp10.cloud.aliyuncs.com minpoll 4 maxpoll 10 iburst
    server ntp11.cloud.aliyuncs.com minpoll 4 maxpoll 10 iburst
    server ntp12.cloud.aliyuncs.com minpoll 4 maxpoll 10 iburst
    
    # Ignore stratum in source selection.
    stratumweight 0.05
    
    # Record the rate at which the system clock gains/losses time.
    driftfile /var/lib/chrony/drift
    
    # Enable kernel RTC synchronization.
    rtcsync
    
    # In first three updates step the system clock instead of slew
    # if the adjustment is larger than 10 seconds.
    makestep 10 3
    
    # Allow NTP client access from local network.
    #allow 192.168/16
    
    # Listen for commands only on localhost.
    bindcmdaddress 127.0.0.1
    bindcmdaddress ::1
    
    # Disable logging of client accesses.
    noclientlog
    
    # Send a message to syslog if a clock adjustment is larger than 0.5 seconds.
    logchange 0.5
    
    logdir /var/log/chrony
    #log measurements statistics tracking
    EOF

    service NTP

    ntp_conf=/etc/ntp.conf
    cat > $ntp_conf << EOF
    driftfile  /var/lib/ntp/drift
    pidfile    /var/run/ntpd.pid
    logfile    /var/log/ntp.log
    
    # Access Control Support
    restrict    default kod nomodify notrap nopeer noquery
    restrict -6 default kod nomodify notrap nopeer noquery
    restrict 127.0.0.1
    restrict 192.168.0.0 mask 255.255.0.0 nomodify notrap nopeer noquery
    restrict 172.16.0.0 mask 255.240.0.0 nomodify notrap nopeer noquery
    restrict 100.64.0.0 mask 255.192.0.0 nomodify notrap nopeer noquery
    restrict 10.0.0.0 mask 255.0.0.0 nomodify notrap nopeer noquery
    
    # local clock
    server 127.127.1.0
    fudge  127.127.1.0 stratum 10
    
    restrict ntp.cloud.aliyuncs.com nomodify notrap nopeer noquery
    restrict ntp7.cloud.aliyuncs.com nomodify notrap nopeer noquery
    restrict ntp8.cloud.aliyuncs.com nomodify notrap nopeer noquery
    restrict ntp9.cloud.aliyuncs.com nomodify notrap nopeer noquery
    restrict ntp10.cloud.aliyuncs.com nomodify notrap nopeer noquery
    restrict ntp11.cloud.aliyuncs.com nomodify notrap nopeer noquery
    restrict ntp12.cloud.aliyuncs.com nomodify notrap nopeer noquery
    
    server ntp.cloud.aliyuncs.com iburst minpoll 4 maxpoll 10
    server ntp7.cloud.aliyuncs.com iburst minpoll 4 maxpoll 10
    server ntp8.cloud.aliyuncs.com iburst minpoll 4 maxpoll 10
    server ntp9.cloud.aliyuncs.com iburst minpoll 4 maxpoll 10
    server ntp10.cloud.aliyuncs.com iburst minpoll 4 maxpoll 10
    server ntp11.cloud.aliyuncs.com iburst minpoll 4 maxpoll 10
    server ntp12.cloud.aliyuncs.com iburst minpoll 4 maxpoll 10
    EOF

    Para mais informações sobre os servers NTP do Alibaba Cloud, consulte Time synchronization.

  • Configure o service MOTD

    Ao criar uma imagem, recomendamos configurar o service Message of the Day (MOTD).

    No Linux, o service MOTD exibe uma mensagem após o logon do usuário. O comando de exemplo é o seguinte:

    echo -e "\nWelcome to Alibaba Cloud Elastic Compute Service ! \n" > /etc/motd
  • Desative o service Firewalld

    Recomendamos desativar o service Firewalld. O Firewalld é um service que gerencia regras de firewall no Linux. Você pode desativar o firewall local porque os grupos de segurança fornecem proteção na cloud. Os comandos de exemplo são os seguintes:

    systemctl stop firewalld
    systemctl disable firewalld
  • Configure o pip source

    Se um pip source estiver configurado no seu sistema, recomendamos usar o endereço do pip source do Alibaba Cloud para obter os pacotes de software mais recentes. O conteúdo do arquivo ~/.pip/pip.conf é o seguinte:

    [global]
    index-url=http://mirrors.cloud.aliyuncs.com/pypi/simple/
    
    [install]
    trusted-host=mirrors.cloud.aliyuncs.com
  • Configure a rede

    Se você usar o NetworkManager ou o service de rede, configure o arquivo /etc/sysconfig/network-scripts/ifcfg-eth0 da seguinte forma:

    DEVICE=eth0
    BOOTPROTO=dhcp
    ONBOOT=yes

    Para informações sobre como configurar outros services de rede, consulte Configure a secondary elastic network interface.

Parâmetros do kernel

  • Configure o kernelopt

    Configure os parâmetros de inicialização do kernel no GRUB para garantir que o sistema inicie corretamente. O exemplo a seguir mostra os comandos para um sistema Debian:

    1. No arquivo /etc/default/grub, adicione as seguintes informações à linha GRUB_CMDLINE_LINUX=.

      • Arquitetura x86_64

        net.ifnames=0 console=tty0 console=ttyS0,115200n8
      • Arquitetura Arm64

        net.ifnames=0 console=tty0 console=ttyAMA0,115200n8 
    2. Execute o comando sudo update-grub2 para aplicar a configuração do GRUB.

      Nota

      O caminho do arquivo de configuração do GRUB e o comando para aplicar a configuração variam de acordo com o sistema operacional. Para mais informações, consulte Install the NVMe driver for a custom image.

  • Configure o sysctl

    Recomendamos configurar os parâmetros do sysctl para ajustar e otimizar o comportamento do kernel Linux. A configuração do sysctl possui duas versões: uma configuração legada e uma nova configuração, dependendo da versão do sistema operacional da imagem. A tabela a seguir descreve o escopo de cada versão.

    Versão da configuração

    Imagens aplicáveis

    Arquivo de configuração

    Configuração legada

    CentOS, AlmaLinux 8 e anteriores, Rocky Linux 8 e anteriores, Debian 11 e anteriores, openSUSE 15 e anteriores, SLES 15 e anteriores, Ubuntu 20 e anteriores, e outras versões anteriores

    /etc/sysctl.conf

    Nova configuração

    AlmaLinux 9 e posteriores, CentOS Stream 9 e posteriores, Debian 12 e posteriores, Fedora 33 e posteriores, openSUSE 16 e posteriores, Rocky Linux 9 e posteriores, SLES 16 e posteriores, Ubuntu 22 e posteriores, e Alibaba Cloud Linux 4 e posteriores

    /etc/sysctl.d/99-apsara-sysctl.conf

    Nota

    A nova configuração não modifica o arquivo padrão do sistema /etc/sysctl.conf (ou /etc/sysctl.d/99-sysctl.conf). Em vez disso, ela grava os parâmetros em um arquivo separado /etc/sysctl.d/99-apsara-sysctl.conf para manter a configuração padrão do sistema intacta. Além dos parâmetros da configuração legada, a nova configuração adiciona duas entradas com curingas, net.ipv4.conf.*.rp_filter = 0 e net.ipv4.conf.*.arp_announce = 2, para que as configurações se apliquem a todas as interfaces de rede.

    As configurações de exemplo são as seguintes:

    Configuração legada

    1. Modifique o arquivo /etc/sysctl.conf da seguinte forma.

      vm.swappiness = 0
      kernel.sysrq = 1
      
      net.ipv4.neigh.default.gc_stale_time = 120
      
      net.ipv4.conf.all.rp_filter = 0
      net.ipv4.conf.default.rp_filter = 0
      net.ipv4.conf.default.arp_announce = 2
      net.ipv4.conf.lo.arp_announce = 2
      net.ipv4.conf.all.arp_announce = 2
      
      net.ipv4.tcp_max_tw_buckets = 5000
      net.ipv4.tcp_syncookies = 1
      net.ipv4.tcp_max_syn_backlog = 1024
      net.ipv4.tcp_synack_retries = 2
      net.ipv4.tcp_slow_start_after_idle = 0
    2. Execute o comando sudo sysctl -p para que as alterações nos parâmetros do kernel tenham efeito.

    Nova configuração

    1. Crie o arquivo /etc/sysctl.d/99-apsara-sysctl.conf com o seguinte conteúdo.

      vm.swappiness = 0
      kernel.sysrq = 1
      
      net.ipv4.neigh.default.gc_stale_time = 120
      
      net.ipv4.conf.all.rp_filter = 0
      net.ipv4.conf.default.rp_filter = 0
      net.ipv4.conf.*.rp_filter = 0
      net.ipv4.conf.default.arp_announce = 2
      net.ipv4.conf.lo.arp_announce = 2
      net.ipv4.conf.all.arp_announce = 2
      net.ipv4.conf.*.arp_announce = 2
      
      net.ipv4.tcp_max_tw_buckets = 5000
      net.ipv4.tcp_syncookies = 1
      net.ipv4.tcp_max_syn_backlog = 1024
      net.ipv4.tcp_synack_retries = 2
      net.ipv4.tcp_slow_start_after_idle = 0
    2. Execute o comando sudo sysctl --system para carregar todos os arquivos de configuração e aplicar as alterações nos parâmetros do kernel.

      Você também pode executar o comando sudo sysctl -p /etc/sysctl.d/99-apsara-sysctl.conf para carregar apenas este arquivo de configuração.

Recomendações de segurança do sistema

Para melhorar a segurança do sistema, recomendamos adotar as seguintes medidas antes de importar a imagem:

  • Bloqueie a conta root. Isso impede o logon direto no sistema usando a senha do root, mesmo que uma senha esteja definida.

  • Desative o logon baseado em senha alterando a configuração PasswordAuthentication do SSH.

    Nota

    Se você definir uma senha de root durante a inicialização da instância, o PasswordAuthentication do SSH poderá ser ativado por padrão.

O código de exemplo é o seguinte:

  dst=/etc/ssh/sshd_config
  sed -i 's/^SyslogFacility.*//' $dst
  sed -i 's/^PermitRootLogin.*//' $dst
  sed -i 's/^PasswordAuthentication.*//' $dst

  echo UseDNS no >> $dst
  echo SyslogFacility AUTHPRIV >> $dst
  echo PasswordAuthentication no >> $dst

  passwd -l root
  sed -i -e 's/root:[^:]*:/root:*:/g' /etc/shadow

Limpeza de informações da imagem

Antes de publicar a imagem, limpe informações confidenciais, como o histórico de comandos e os logs.