すべてのプロダクト
Search
ドキュメントセンター

Elastic Compute Service:Alibaba Cloud Linux イメージの要件

最終更新日:Apr 30, 2025

カスタムイメージを Alibaba Cloud にインポートする前、または Alibaba Cloud Marketplace でカスタムイメージをリリースする前に、イメージはイメージ要件を満たし、Elastic Compute Service (ECS) インスタンスタイプとの互換性テストに合格する必要があります。 これにより、カスタムイメージの可用性とインポート効率が向上し、さまざまなビジネス要件を満たす ECS インスタンスの後続の作成が容易になります。 このトピックでは、Alibaba Cloud Linux イメージの要件について説明します。

ディスク パーティション

イメージ作成中にイメージのディスクをパーティション分割する場合は、次の要件が満たされていることを確認してください。

  • ディスクのサイズ変更

    • ディスクは、物理パーティションに基づいて論理パーティションに分割されます。 各ディスクの最後の論理パーティションはルートパーティションとして使用され、システムディスクのパーティション障害を防ぎます。

    • オンラインディスクサイズ変更をサポートするオペレーティングシステムの場合は、cloud-utils-growpart パッケージをインストールし、growpart ユーティリティを使用してパーティションを拡張して使用可能なディスク容量を占有することをお勧めします。 詳細については、「Linux インスタンスでディスクのパーティションとファイルシステムを拡張する」をご参照ください。

  • スワップパーティション

    イメージを作成するときは、スワップパーティションを使用しないでください。

  • ディスクのマウント

    fstab ファイルと grub ファイルで UUID を構成する必要があります。 詳細については、「fstab ファイルで UUID を構成してデータディスクを自動的にマウントする」および「GRUB 構成ファイルのディスクパーティション識別子を UUID に変更する」をご参照ください。

    重要

    ECS インスタンスの fstab ファイルが正しく構成されていない場合、インスタンスの再起動後にインスタンスが期待どおりに実行されない可能性があります。

  • ディスクサイズ

    システムディスクのサイズは 20 GiB 以上に設定する必要があります。

  • イメージのブートモード

    特定のブートモードをサポートするインスタンスタイプに適合させるために、オンプレミスイメージでブートモードを構成することをお勧めします。 イメージを Alibaba Cloud にインポートするときは、イメージでサポートされているブートモードを指定する必要があります。

    説明

    オンプレミスイメージが BIOS モードと UEFI モードの両方をサポートしている場合は、イメージを Alibaba Cloud にインポートするときに UEFI-Preferred モードを指定できます。 イメージは、すべてのインスタンスタイプのブートモードに適応できます。 これにより、イメージ作成のコストが削減されます。

必要なソフトウェアとツール

  • virtio ドライバーをインストールする

    イメージをリリースする前に、イメージに virtio ドライバーがインストールされており、virtio ドライバーが一時ファイルシステムに追加されていることを確認してください。 virtio ドライバーにより、イメージを ECS インスタンスで期待どおりに使用できます。 詳細については、「virtio ドライバーをインストールする」をご参照ください。

  • NVMe ドライバーをインストールする

    ecs.g8i や ecs.g7se などの新しい世代の ECS インスタンスファミリでは、Non-Volatile Memory Express (NVMe) プロトコルを使用してディスクを接続できます。 前述のインスタンスファミリのいずれかの ECS インスタンスを作成し、インスタンスが期待どおりに実行されるようにするには、イメージに NVMe ドライバーをインストールします。 詳細については、「カスタムイメージに NVMe ドライバーをインストールするにはどうすればよいですか。」をご参照ください。 イメージを Alibaba Cloud にインポートするときは、[NVMe ドライブ] パラメーターを [サポート] に設定します。 詳細については、「イメージの属性とタグを変更する」をご参照ください。

  • cloud-init をインストールする

    イメージを作成するときは、イメージを実行する ECS インスタンスを初期化できるように cloud-init をインストールします。 詳細については、「cloud-init をインストールする」をご参照ください。 cloud-init 23.2.2 をインストールすることをお勧めします。 このバージョンでは、セキュリティ強化モードでインスタンスメタデータにアクセスできるため、インスタンスメタデータのセキュリティが確保されます。

    説明

    cloud-init を使用してパスワードを変更する場合は、イメージのオペレーティングシステムカーネルが CONFIG_FW_CFG_SYSFS 機能をサポートしていることを確認してください。 デフォルトでは、Linux コミュニティカーネル 4.6 以降、および CentOS カーネル 3.10.0-826.el7 以降は CONFIG_FW_CFG_SYSFS 機能をサポートしています。 この機能がサポートされているかどうかを確認するには、イメージのソースサーバーで grep -nr CONFIG_FW_CFG_SYSFS /boot/config-$(uname -r) コマンドを実行します。 コマンド出力に CONFIG_FW_CFG_SYSFS=y が含まれている場合、イメージのカーネルは CONFIG_FW_CFG_SYSFS 機能をサポートしています。

  • クラウドアシスタントをインストールする

    イメージを作成するときは、クラウドアシスタントをインストールします。 クラウドアシスタントは、ECS 用に開発されたネイティブの自動 O&M ツールです。 クラウドアシスタントを使用すると、シェル、PowerShell、バッチコマンドなどのコマンドをバッチ実行して、インスタンスにログインしたりジャンプサーバーを使用したりすることなく、パスワードなしで ECS インスタンスでさまざまなタスクを実行できます。 クラウドアシスタントを使用して、自動 O&M タスクの実行、プロセスのポーリング、ソフトウェアのインストールまたはアンインストール、サービスの開始または停止、パッチまたはセキュリティ更新プログラムのインストールを実行できます。 詳細については、「クラウドアシスタントクライアントをインストールする」をご参照ください。

  • セキュリティセンターを使用してイメージのソースサーバーを保護する

    イメージを作成するときは、Alibaba Cloud セキュリティセンターを使用してサーバーを保護することをお勧めします。 セキュリティセンターは、アラート通知、ウイルス検出と削除、webshell 検出と削除、クライアント保護、イメージスキャンなどのセキュリティ機能を提供して、クラウド資産とオンプレミスサーバーを保護します。

システム構成

  • 時計を構成する

    イメージのハードウェアクロックは、協定世界時 (UTC) またはローカルタイムゾーンにすることができます。 イメージを作成するときは、UTC 時間を使用してください。 コマンド例:

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

    詳細については、「Linux の時間とタイムゾーン」をご参照ください。

  • sshd サービスを構成する

    イメージを作成するときは、sshd サービスを構成します。

    sshd は、Linux オペレーティングシステムにリモートでログインして管理するために使用される Linux サービスです。 sshd は SSH を使用して暗号化された通信チャネルを確立します。 たとえば、/etc/ssh/sshd_config ファイルの内容を次のように変更します。

    UseDNS no
    AddressFamily inet 
    SyslogFacility AUTHPRIV 
    PermitRootLogin yes 
    PasswordAuthentication yes 
  • chrony サービスまたは NTP サービスを構成する

    イメージを作成するときは、chrony サービスまたはネットワークタイムプロトコル (NTP) サービスを構成することをお勧めします。

    chrony と NTP は、コンピュータークロックをタイムソースと同期させて時間の精度を確保し、時間の不一致によって発生する問題を防ぐために使用されるツールです。

    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
    (後略)
    

    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
    (後略)
    
  • MOTD サービスを構成する

    イメージを作成するときは、今日のメッセージ (MOTD) サービスを構成することをお勧めします。

    MOTD サービスは、Linux オペレーティングシステムにログインしたときにメッセージまたはアナウンスを表示するために使用される Linux 機能です。 コマンド例:

    echo -e "\nWelcome to Alibaba Cloud Elastic Compute Service !  \n" > /etc/motd
  • Firewalld サービスを無効にする

    イメージを作成するときは、Firewalld サービスを無効にすることをお勧めします。 Firewalld は、Linux オペレーティングシステムのファイアウォール管理サービスです。 クラウドでは、Firewalld の代わりにセキュリティグループが保護を提供します。 コマンド例:

    systemctl stop firewalld
    systemctl disable firewalld
  • pip リポジトリを構成する

    pip リポジトリが構成されている場合は、Alibaba Cloud pip リポジトリのアドレスを使用して Alibaba Cloud から最新のソフトウェアパッケージを取得することをお勧めします。 ~/.pip/pip.conf ファイルのコンテンツ例:

    [global]
    index-url=http://mirrors.cloud.aliyuncs.com/pypi/simple/
    
    [install]
    trusted-host=mirrors.cloud.aliyuncs.com
  • ネットワーク設定を構成する

    NetworkManager またはネットワークサービスを使用する場合は、/etc/sysconfig/network-scripts/ifcfg-eth0 ファイルを構成します。

    DEVICE=eth0
    BOOTPROTO=dhcp
    ONBOOT=yes

    その他のネットワークサービス構成については、「セカンダリ ENI を構成する」をご参照ください。

カーネルパラメーターの構成

  • kernelopt パラメーターを構成する

    イメージを作成するときは、オペレーティングシステムが期待どおりに起動できるように、GRand Unified Bootloader (GRUB) の kernelope カーネルパラメーターを構成します。 次の例では、Debian オペレーティングシステムを使用しています。

    1. /etc/default/grub ファイルで、GRUB_CMDLINE_LINUX= 行に次のデータを追加します。

      • x86_64 アーキテクチャ

        net.ifnames=0 console=tty0 console=ttyS0,115200n8
      • Arm64 アーキテクチャ

        net.ifnames=0 console=tty0 console=ttyAMA0,115200n8 
    2. GRUB 構成を有効にするには、sudo update-grub2 コマンドを実行します。

      説明

      GRUB 構成ファイルのパスと GRUB 構成を有効にするために使用されるコマンドは、オペレーティングシステムによって異なります。 詳細については、「カスタムイメージに NVMe ドライバーをインストールするにはどうすればよいですか。」をご参照ください。

  • sysctl パラメーターを構成する

    イメージを作成するときは、sysctl パラメーターを構成して Linux カーネルのランタイムパラメーターを調整および最適化することをお勧めします。

    1. /etc/sysctl.conf ファイルで次の変更を行います。

      vm.swappiness = 0
      kernel.sysrq = 1
      
      net.ipv4.neigh.default.gc_stale_time = 120
      
      net.ipv4.conf.all.rp_filter = 0
      (後略)
      
    2. カーネルパラメーターの変更を有効にするには、sudo sysctl -p コマンドを実行します。

システムセキュリティの推奨事項

システムセキュリティを向上させるために、カスタムイメージを Alibaba Cloud にインポートする前に、次の項目に注意してください。

  • ルートアカウントをロックアウトします。 これにより、ルートパスワードが設定されていても、他のユーザーがルートアカウントとパスワードを使用してシステムにログインできなくなります。

  • パスワードベースのログインを無効にするには、PasswordAuthentication パラメーターを変更します。

    説明

    インスタンスの初期化のためにルートパスワードを設定する場合は、PasswordAuthentication パラメーターを yes に設定できます。これは、パスワードベースのログインが有効になっていることを示します。

サンプルコード:

  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

イメージ情報のクリア

独立系ソフトウェアベンダー (ISV) がイメージをリリースする前に、ISV はビジネス要件に基づいて履歴レコードとログをクリアできます。