Tous les produits
Search
Centre de documentation

Elastic Compute Service:Spécifications des images Alibaba Cloud (Linux)

Dernière mise à jour :Aug 18, 2026

Avant d'importer une image personnalisée vers Alibaba Cloud ou de la publier sur Alibaba Cloud Marketplace, assurez-vous qu'elle respecte les spécifications décrites dans cette rubrique et qu'elle passe les tests de compatibilité avec les types d'instance ECS. Le respect de ces spécifications améliore la disponibilité et l'efficacité d'importation de vos images personnalisées, vous permettant ainsi de créer des instances ECS adaptées à vos besoins métier. Cette rubrique détaille les spécifications pour la création d'images Linux.

Partitions de disque

Les partitions de disque doivent répondre aux exigences suivantes.

  • Redimensionnement du disque

    • Utilisez des partitions physiques pour partitionner le disque. La partition racine doit être la dernière partition afin d'éviter les échecs lors du redimensionnement du disque système.

    • Pour les systèmes prenant en charge le redimensionnement à chaud des disques cloud, utilisez la commande growpart pour redimensionner la partition. Installez au préalable le package cloud-utils-growpart. Pour plus d'informations, consultez la rubrique Redimensionner les partitions et les systèmes de fichiers (Linux).

  • Partition swap

    Ne créez pas de partition swap.

  • Gestion LVM

    N'utilisez pas la gestion des volumes logiques (LVM) pour les partitions de disque.

  • Montage du disque

    Configurez les fichiers fstab et grub en utilisant les UUID. Pour plus d'informations, consultez les rubriques Utiliser un UUID pour monter automatiquement un disque de données dans le fichier /etc/fstab et Modifier la méthode d'identification des partitions de disque en UUID dans le fichier de configuration GRUB.

    Important

    Si le fichier fstab est configuré incorrectement, l'instance ECS peut ne pas démarrer après un redémarrage.

  • Taille du disque

    La capacité minimale du disque système est de 20 Go.

  • Définir le mode de démarrage de l'image

    Pour garantir la compatibilité avec les types d'instance utilisant différents modes de démarrage, configurez le mode de démarrage (BIOS ou UEFI) de votre image locale. Lors de l'importation de l'image, assurez-vous que le mode de démarrage sélectionné correspond au mode de démarrage réel de l'image.

    Remarque

    Si votre image locale prend en charge à la fois BIOS et UEFI, définissez le mode de démarrage sur UEFI-Preferred. L'image s'adaptera alors automatiquement aux modes de démarrage de tous les types d'instance, ce qui contribue également à réduire le coût de création des images.

Logiciels et outils requis

  • Installer le pilote virtio

    Avant de publier l'image, assurez-vous que le pilote virtio est installé et ajouté au système de fichiers RAM initial (initramfs). Le pilote virtio est indispensable pour que l'image s'exécute sur les instances Alibaba Cloud. Pour plus d'informations, consultez la rubrique Installer les pilotes virtio.

  • Installer le pilote NVMe

    Les nouvelles générations de familles d'instances ECS, telles que ecs.g8i et ecs.g7se, montent les disques cloud via le protocole NVMe. L'image doit disposer du pilote NVMe installé, sinon les instances créées à partir de celle-ci ne pourront pas démarrer. Afin de pouvoir utiliser l'image pour créer ces types d'instances ECS, nous vous recommandons d'installer le pilote NVMe sur votre image locale. Pour obtenir des instructions, consultez la rubrique Installer le pilote NVMe pour une image personnalisée. Après avoir importé l'image, définissez la propriété Pilote NVMe de l'image sur Supported. Pour plus d'informations, consultez la rubrique Modifier les propriétés et les tags d'une image.

  • Installer cloud-init

    Installez cloud-init pour initialiser les instances ECS créées à partir de l'image. Pour plus d'informations, consultez la rubrique Installer cloud-init. Nous vous recommandons d'installer cloud-init version 23.2.2 ou ultérieure afin de prendre en charge l'accès aux métadonnées en mode renforcé. Cela garantit la sécurité de l'accès aux métadonnées de l'instance.

    Remarque

    L'utilisation de cloud-init pour modifier un mot de passe nécessite que le noyau du système d'exploitation prenne en charge la fonctionnalité CONFIG_FW_CFG_SYSFS . Cette fonctionnalité est prise en charge par défaut dans les versions du noyau communautaire Linux 4.6 et ultérieures, ainsi que dans les versions du noyau CentOS 3.10.0-826.el7 et ultérieures. Exécutez la commande grep -nr CONFIG_FW_CFG_SYSFS /boot/config-$(uname -r) sur le serveur utilisant l'image. Si la sortie de la commande contient CONFIG_FW_CFG_SYSFS=y, le noyau de l'image prend en charge la fonctionnalité CONFIG_FW_CFG_SYSFS .

  • Installer Cloud Assistant

    Installez l'agent Cloud Assistant lors de la création de l'image. Cloud Assistant est un outil d'automatisation natif pour ECS qui vous permet d'exécuter des commandes (telles que Shell, PowerShell et Bat) par lots sans nécessiter de mot de passe, de connexion ou de serveur de rebond. Vous pouvez utiliser Cloud Assistant pour exécuter des scripts d'exploitation et de maintenance automatisés, surveiller les processus, installer ou désinstaller des logiciels, démarrer ou arrêter des services, et installer des correctifs ou des mises à jour de sécurité. Pour plus d'informations, consultez la rubrique Installer l'agent Cloud Assistant.

  • Sécuriser le serveur

    Lors de la création d'une image, nous vous recommandons d'utiliser Security Center pour sécuriser votre serveur. Security Center propose une suite complète de capacités de sécurité, notamment des notifications d'alerte, l'analyse et la suppression de logiciels malveillants, la détection et la suppression de webshells, l'autoprotection du client et l'analyse des vulnérabilités des images, afin de protéger pleinement vos actifs cloud et vos serveurs sur site.

Configuration du système

  • Configurer l'horloge

    L'horloge matérielle d'une image prend en charge les fuseaux horaires UTC et LocalTime. Lors de la création d'une image, vous devez utiliser le mode Temps universel coordonné (UTC) standard. L'exemple de code suivant montre comment configurer l'horloge :

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

    Pour plus d'informations, consultez la rubrique Heure et fuseaux horaires Linux.

  • Configurer le service SSHD

    Configurez le service SSHD.

    Le service SSHD est utilisé pour se connecter à distance et gérer les systèmes Linux, et utilise le protocole SSH pour les communications chiffrées. Voici un exemple de modification de la configuration dans /etc/ssh/sshd_config :

    UseDNS no
    AddressFamily inet 
    SyslogFacility AUTHPRIV 
    PermitRootLogin yes 
    PasswordAuthentication yes 
  • Configurer le service Chrony ou NTP

    Lors de la création d'une image, nous vous recommandons de configurer soit le service Chrony, soit le service NTP.

    Chrony et NTP sont des outils utilisés pour synchroniser les horloges des ordinateurs et prévenir la dérive temporelle. Les commandes suivantes sont données à titre d'exemple :

    Service Chrony

    chrony_file=/etc/chrony.conf
    cat >$chrony_file <<EOF
    # Use Alibaba NTP server
    # Public NTP
    # Alicloud NTP
    
    server ntp.cloud.aliyuncs.com minpoll 4 maxpoll 10 iburst
    server ntp.aliyun.com minpoll 4 maxpoll 10 iburst
    server ntp1.aliyun.com minpoll 4 maxpoll 10 iburst
    server ntp1.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
    server ntp2.aliyun.com minpoll 4 maxpoll 10 iburst
    server ntp2.cloud.aliyuncs.com minpoll 4 maxpoll 10 iburst
    server ntp3.aliyun.com minpoll 4 maxpoll 10 iburst
    server ntp3.cloud.aliyuncs.com minpoll 4 maxpoll 10 iburst
    server ntp4.aliyun.com minpoll 4 maxpoll 10 iburst
    server ntp4.cloud.aliyuncs.com minpoll 4 maxpoll 10 iburst
    server ntp5.aliyun.com minpoll 4 maxpoll 10 iburst
    server ntp5.cloud.aliyuncs.com minpoll 4 maxpoll 10 iburst
    server ntp6.aliyun.com minpoll 4 maxpoll 10 iburst
    server ntp6.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
    
    # 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.aliyun.com nomodify notrap nopeer noquery
    restrict ntp.cloud.aliyuncs.com nomodify notrap nopeer noquery
    restrict ntp1.aliyun.com nomodify notrap nopeer noquery
    restrict ntp1.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
    restrict ntp2.aliyun.com nomodify notrap nopeer noquery
    restrict ntp2.cloud.aliyuncs.com nomodify notrap nopeer noquery
    restrict ntp3.aliyun.com nomodify notrap nopeer noquery
    restrict ntp3.cloud.aliyuncs.com nomodify notrap nopeer noquery
    restrict ntp4.aliyun.com nomodify notrap nopeer noquery
    restrict ntp4.cloud.aliyuncs.com nomodify notrap nopeer noquery
    restrict ntp5.aliyun.com nomodify notrap nopeer noquery
    restrict ntp5.cloud.aliyuncs.com nomodify notrap nopeer noquery
    restrict ntp6.aliyun.com nomodify notrap nopeer noquery
    restrict ntp6.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
    
    server ntp.aliyun.com iburst minpoll 4 maxpoll 10
    server ntp.cloud.aliyuncs.com iburst minpoll 4 maxpoll 10
    server ntp1.aliyun.com iburst minpoll 4 maxpoll 10
    server ntp1.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
    server ntp2.aliyun.com iburst minpoll 4 maxpoll 10
    server ntp2.cloud.aliyuncs.com iburst minpoll 4 maxpoll 10
    server ntp3.aliyun.com iburst minpoll 4 maxpoll 10
    server ntp3.cloud.aliyuncs.com iburst minpoll 4 maxpoll 10
    server ntp4.aliyun.com iburst minpoll 4 maxpoll 10
    server ntp4.cloud.aliyuncs.com iburst minpoll 4 maxpoll 10
    server ntp5.aliyun.com iburst minpoll 4 maxpoll 10
    server ntp5.cloud.aliyuncs.com iburst minpoll 4 maxpoll 10
    server ntp6.aliyun.com iburst minpoll 4 maxpoll 10
    server ntp6.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
    EOF
  • Configurer le service MOTD

    Lors de la création d'une image, nous vous recommandons de configurer le service Message of the Day (MOTD).

    Le service MOTD sous Linux affiche un message après la connexion d'un utilisateur. Voici une commande exemple :

    echo -e "\nWelcome to Alibaba Cloud Elastic Compute Service ! \n" > /etc/motd
  • Désactiver le service Firewalld

    Nous vous recommandons de désactiver le service Firewalld. Firewalld est un service qui gère les règles de pare-feu sous Linux. Vous pouvez désactiver le pare-feu local car les groupes de sécurité assurent la protection dans le cloud. Voici des commandes exemples :

    systemctl stop firewalld
    systemctl disable firewalld
  • Configurer la source pip

    Si une source PIP est configurée sur votre système, nous vous recommandons d'utiliser l'adresse de la source PIP Alibaba Cloud pour obtenir les derniers packages logiciels. Le contenu du fichier ~/.pip/pip.conf est le suivant :

    [global]
    index-url=http://mirrors.cloud.aliyuncs.com/pypi/simple/
    
    [install]
    trusted-host=mirrors.cloud.aliyuncs.com
  • Configurer le réseau

    Si vous utilisez NetworkManager ou le service réseau, configurez le fichier /etc/sysconfig/network-scripts/ifcfg-eth0 comme suit :

    DEVICE=eth0
    BOOTPROTO=dhcp
    ONBOOT=yes

    Pour savoir comment configurer d'autres services réseau, consultez la rubrique Configurer une interface réseau élastique secondaire.

  • Paramètres du noyau

    • Configurer kernelopt

      Vous devez configurer les paramètres de démarrage du noyau dans GRUB pour garantir le démarrage correct du système. L'exemple suivant présente les commandes pour un système Debian :

      1. Dans le fichier /etc/default/grub , ajoutez les informations suivantes à la ligne GRUB_CMDLINE_LINUX= .

        • Architecture x86_64

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

          net.ifnames=0 console=tty0 console=ttyAMA0,115200n8 
      2. Exécutez la commande sudo update-grub2 pour appliquer la configuration GRUB.

        Remarque

        Le chemin d'accès au fichier de configuration GRUB et la commande pour appliquer la configuration varient selon le système d'exploitation. Pour plus d'informations, consultez la rubrique Installer le pilote NVMe pour une image personnalisée.

    • Configurer sysctl

      Nous vous recommandons de configurer les paramètres sysctl afin d'ajuster et d'optimiser le comportement du noyau Linux.

      1. Modifiez le fichier /etc/sysctl.conf comme suit.

        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. Exécutez la commande sudo sysctl -p pour que les modifications des paramètres du noyau prennent effet.

    Recommandations de sécurité du système

    Pour améliorer la sécurité du système, nous vous recommandons de prendre les mesures suivantes avant d'importer l'image :

    • Verrouillez le compte root. Cela empêche la connexion directe au système à l'aide du mot de passe root, même si un mot de passe est défini.

    • Désactivez la connexion par mot de passe en modifiant le paramètre SSH PasswordAuthentication .

      Remarque

      Si vous définissez un mot de passe root lors de l'initialisation de l'instance, PasswordAuthentication pour SSH peut être activé par défaut.

    Voici un exemple de code :

      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

    Nettoyage des informations de l'image

    Avant de publier l'image, effacez les informations sensibles, telles que l'historique des commandes et les journaux.