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

Alibaba Cloud Linux:オンプレミスの仮想マシンで Alibaba Cloud Linux イメージを使用する

最終更新日:Oct 14, 2025

Alibaba Cloud Linux イメージは VHD および QCOW2 フォーマットで利用でき、cloud-init が組み込まれています。このイメージはオンプレミスの仮想マシンで使用できます。カーネルベースの仮想マシン (KVM) のみがサポートされています。この Topic では、オンプレミスの仮想マシンで Alibaba Cloud Linux 2 または 3 のイメージを使用する方法について説明します。

背景情報

この Topic では、オンプレミスのオペレーティングシステムは Anolis OS です。Alibaba Cloud Linux イメージを使用して KVM を作成し、cloud-init を使用して KVM のシステム設定を初期化します。NoCloud データソースは、オンプレミスの構成ファイルを作成するために使用されます。構成ファイルが仮想ディスクとして KVM にアタッチされると、KVM を起動できます。Anolis OS をダウンロードするには、Anolis OS ダウンロードページにアクセスしてください。この Topic は、KVM に精通しているユーザーを対象としています。

ステップ 1: Alibaba Cloud Linux イメージをオンプレミスの仮想マシンにダウンロードする

次の URL から、VHD または QCOW2 フォーマットの Alibaba Cloud Linux イメージをオンプレミスの仮想マシンにダウンロードできます。

ステップ 2: オンプレミスの仮想マシンから seed.img ブートイメージを取得する

Alibaba Cloud Linux イメージは、仮想マシンを直接起動できません。seed.img ブートイメージと、ネットワーク、アカウント、YUM リポジトリなどの情報をブートイメージ用に構成する必要があります。

重要
  • ほとんどの場合、イメージ名は seed.img です。イメージ名は変更できますが、変更しないことを推奨します。

  • seed.img ブートイメージには、cloud-init の起動に必要な構成ファイルのみが含まれています。このイメージには Alibaba Cloud Linux のシステムファイルは含まれていません。

次のいずれかの方法で seed.img ブートイメージを取得できます。

  • 方法 1: seed.img ブートイメージをダウンロードする

    Alibaba Cloud Linux 3 と Alibaba Cloud Linux 2 は seed.img ブートイメージファイルを提供します。次の URL から [seed.img] ブートイメージをダウンロードできます。

    説明

    イメージ内の構成は変更できません。この場合、イメージが特定のシナリオに適していない可能性があります。イメージを使用する前に、イメージに精通していることを確認してください。

  • 方法 2: NoCloud データソースを使用して seed.img ブートイメージを手動で生成する

    説明

    NoCloud データソースは、オンプレミス環境で構成ファイルを提供できる cloud-init データソースです。ファイルは仮想マシンによって読み取られ、使用されます。

    1. オンプレミスのディレクトリに、meta-datauser-data という名前の 2 つの構成ファイルを作成します。

      この 2 つのファイルは seed.img ブートイメージの一部として含まれています。仮想マシンが起動すると、cloud-init は構成ファイルを読み取り、構成ファイルに基づいて仮想マシンを初期化します。

      1. seed という名前のディレクトリを作成し、そのディレクトリに移動します。

        sudo mkdir seed
        sudo cd seed/
      2. meta-data という名前の構成ファイルを作成します。

        次の例は、構成ファイルの内容を示しています。仮想マシンの名前は alinux-host です。ビジネス要件に基づいて名前を変更できます。

        #cloud-config
        #vim:syntax=yaml
        
        local-hostname: alinux-host                 
      3. user-data という名前の構成ファイルを作成します。

        次の例は、ファイルの内容を示しています。必要に応じて構成を変更できます。この構成例を直接使用する場合は、イメージファイルの内容を完全に理解していることを確認してください。

        • ユーザー名が alinux、パスワードが aliyun のアカウントを追加し、sudo コマンドを実行する権限を付与します。

        • Alibaba Cloud Linux 3 の Yellowdog Updater, Modified (YUM) ソースを追加します。

          Alibaba Cloud Linux 3

          #cloud-config
          #vim:syntax=yaml
          
          # alinux という名前のアカウントを作成し、sudo コマンドを実行する権限をアカウントに付与します。
          users:
            - default
            - name: alinux
              sudo: ['ALL=(ALL)   ALL']
              plain_text_passwd: aliyun
              lock_passwd: false
          
          # Alibaba Cloud Linux 3 用の YUM リポジトリを作成します。
          yum_repos:
              alinux3-module:
                  name: alinux3-module
                  baseurl: https://mirrors.aliyun.com/alinux/$releasever/module/$basearch/
                  enabled: 1
                  gpgcheck: 1
                  gpgkey: https://mirrors.aliyun.com/alinux/$releasever/RPM-GPG-KEY-ALINUX-3
              alinux3-updates:
                  name: alinux3-updates
                  baseurl: https://mirrors.aliyun.com/alinux/$releasever/updates/$basearch/
                  enabled: 1
                  gpgcheck: 1
                  gpgkey: https://mirrors.aliyun.com/alinux/$releasever/RPM-GPG-KEY-ALINUX-3
              alinux3-plus:
                  name: alinux3-plus
                  baseurl: https://mirrors.aliyun.com/alinux/$releasever/plus/$basearch/
                  enabled: 1
                  gpgcheck: 1
                  gpgkey: https://mirrors.aliyun.com/alinux/$releasever/RPM-GPG-KEY-ALINUX-3
              alinux3-powertools:
                  name: alinux3-powertools
                  baseurl: https://mirrors.aliyun.com/alinux/$releasever/powertools/$basearch/
                  gpgcheck: 1
                  enabled: 1
                  gpgkey: https://mirrors.aliyun.com/alinux/$releasever/RPM-GPG-KEY-ALINUX-3
              alinux3-os:
                  name: alinux3-os
                  baseurl: https://mirrors.aliyun.com/alinux/$releasever/os/$basearch/
                  gpgcheck: 1
                  enabled: 1
                  gpgkey: https://mirrors.aliyun.com/alinux/$releasever/RPM-GPG-KEY-ALINUX-3

          Alibaba Cloud Linux 2

          #cloud-config
          #vim:syntax=yaml
          
          # alinux という名前のアカウントを作成し、sudo コマンドを実行する権限をアカウントに付与します。
          users:
            - default
            - name: alinux
              sudo: ['ALL=(ALL)   ALL']
              plain_text_passwd: aliyun
              lock_passwd: false
          
          # Alibaba Cloud Linux 2 用の YUM リポジトリを作成します。
          yum_repos:
              base:
                  baseurl: https://mirrors.aliyun.com/alinux/$releasever/os/$basearch/
                  enabled: true
                  gpgcheck: true
                  gpgkey: https://mirrors.aliyun.com/alinux/RPM-GPG-KEY-ALIYUN
                  name: Aliyun Linux - $releasever - Base - mirrors.aliyun.com
              updates:
                  baseurl: https://mirrors.aliyun.com/alinux/$releasever/updates/$basearch/
                  enabled: true
                  gpgcheck: true
                  gpgkey: https://mirrors.aliyun.com/alinux/RPM-GPG-KEY-ALIYUN
                  name: Aliyun Linux - $releasever - Updates - mirrors.aliyun.com
              extras:
                  baseurl: https://mirrors.aliyun.com/alinux/$releasever/extras/$basearch/
                  enabled: true
                  gpgcheck: true
                  gpgkey: https://mirrors.aliyun.com/alinux/RPM-GPG-KEY-ALIYUN
                  name: Aliyun Linux - $releasever - Extras - mirrors.aliyun.com
              plus:
                  baseurl: https://mirrors.aliyun.com/alinux/$releasever/plus/$basearch/
                  enabled: true
                  gpgcheck: true
                  gpgkey: https://mirrors.aliyun.com/alinux/RPM-GPG-KEY-ALIYUN
                  name: Aliyun Linux - $releasever - Plus - mirrors.aliyun.com
    2. (任意) Alibaba Cloud Linux 3 オペレーティングシステムを使用する場合は、epel-testing リポジトリを有効にします。

      1. epel-testing.repo ファイルを開きます。

        sudo vim /etc/yum.repos.d/epel-testing.repo
      2. [i] キーを押して編集モードに入り、enabled=0enabled=1 に置き換えます。

        [epel-testing]
        name=Extra Packages for Enterprise Linux 8 - Testing - $basearch
        baseurl=http://mirrors.cloud.aliyuncs.com/epel/testing/8/Everything/$basearch
        enabled=0
        gpgcheck=1
        countme=1
        gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-8
      3. Esc キーを押し、[:wq] と入力して変更を保存します。

    3. 次のコマンドを実行して cloud-utils ソフトウェアパッケージをインストールします。

      sudo yum install -y cloud-utils
    4. 次のコマンドを実行して seed.img ブートイメージを生成します。

      sudo cloud-localds seed.img user-data meta-data

ステップ 3: オンプレミスの仮想マシンを起動する

KVM を起動するには、次のいずれかの方法を使用できます。

libvirt を使用して KVM を起動する

  1. オンプレミスのコンピューターに XML フォーマットの構成ファイルを作成します。

    次の例は、構成ファイルの内容を示しています。ファイル名は、Alibaba Cloud Linux 3 の場合は alinux3.xml、Alibaba Cloud Linux 2 の場合は alinux2.xml です。ビジネス要件に基づいて構成ファイルの内容を変更できます。

    Alibaba Cloud Linux 3

    <domain type='kvm'>
        <name>alinux3</name>
        <memory>1048576</memory><!-- メモリサイズを 1 GB に設定します。 -->
        <vcpu>1</vcpu>
        cpu mode='host-passthrough'><!-- 対応するアーキテクチャのサーバーで KVM を起動します。 -->
        </cpu>
        <os>
            <type arch='x86_64'>hvm</type><!-- サーバーのアーキテクチャが ARM 64 ビットの場合は、arch を aarch64 に設定します。 -->
            <boot dev='hd'/>
        </os>
        <clock sync="localtime"/>
        <on_poweroff>destroy</on_poweroff>
        <on_reboot>restart</on_reboot>
        <on_crash>restart</on_crash>
        <devices>
            <emulator>/usr/bin/qemu-kvm</emulator><!-- オペレーティングシステムに基づいて KVM パスを構成します。たとえば、Ubuntu の KVM パスは /usr/bin/kvm です。 -->
            <disk type='file' device='disk'><!-- イメージフォーマットに基づいて type パラメーターを指定します。イメージが QCOW2 フォーマットの場合は type を qcow2 に設定し、VHD フォーマットの場合は type を vpc に設定します。 -->
                <driver name='qemu' type='qcow2' cache='none' dataplane='on' io='native'/> <!-- QCOW2 フォーマットでスナップショットを作成する場合は、dataplane を無効にします。 -->
                <source file='path'/> <!-- Alibaba Cloud Linux 3 イメージの絶対パスを入力します。 -->
                <target dev='vda' bus='virtio'/>
            </disk>
            <!-- seed.img ブートイメージに関する情報を追加します。 -->
            <disk type='file' device='disk'>
                <driver name='qemu' type='raw'/>
                <source file='/path/to/your/seed.img'/> <!-- seed.img ブートイメージの絶対パスを入力します。 -->
                <target dev='vdb' bus='virtio'/>
            </disk>
            <interface type='network'>
                <source network='default'/>
                <model type='virtio'/>
            </interface>
            <console type='pty'>
                <target type='virtio' port='0'/>
            </console>
            <video>
                <model type='cirrus' vram='9216' heads='1'/>
                <alias name='video0'/>
            </video>
            <input type='tablet' bus='usb'/>
            <input type='mouse' bus='ps2'/>
            <graphics type='vnc' port='-1' autoport='yes'/>
        </devices>
    </domain>

    Alibaba Cloud Linux 2

    <domain type='kvm'>
        <name>alinux2</name>
        <memory>1048576</memory> <!-- メモリサイズを 1 GB に設定します。 -->
        <vcpu>1</vcpu>
        <os>
            <type arch='x86_64'>hvm</type>
            <boot dev='hd'/>
        </os>
        <clock sync="localtime"/>
        <on_poweroff>destroy</on_poweroff>
        <on_reboot>restart</on_reboot>
        <on_crash>restart</on_crash>
        <devices>
            <emulator>/usr/bin/qemu-kvm</emulator><!-- オペレーティングシステムに基づいて KVM パスを構成します。たとえば、Ubuntu の KVM パスは /usr/bin/kvm です。 -->
            <disk type='file' device='disk'><!-- イメージフォーマットに基づいて type パラメーターを指定します。イメージが QCOW2 フォーマットの場合は type を qcow2 に設定し、VHD フォーマットの場合は type を vpc に設定します。 -->
                <driver name='qemu' type='qcow2' cache='none' dataplane='on' io='native'/> <!-- QCOW2 フォーマットでスナップショットを作成する場合は、dataplane を無効にします。 -->
                <source file='path'/> <!-- Alibaba Cloud Linux 2 イメージの絶対パスを入力します。 -->
                <target dev='vda' bus='virtio'/>
            </disk>
            <!-- seed.img ブートイメージに関する情報を追加します。 -->
            <disk type='file' device='disk'>
                <driver name='qemu' type='raw'/>
                <source file='/path/to/your/seed.img'/> <!-- seed.img ブートイメージの絶対パスを入力します。 -->
                <target dev='vdb' bus='virtio'/>
            </disk>
            <interface type='network'>
                <source network='default'/>
                <model type='virtio'/>
            </interface>
            <console type='pty'>
                <target type='virtio' port='0'/>
            </console>
            <video>
                <model type='cirrus' vram='9216' heads='1'/>
                <alias name='video0'/>
            </video>
            <input type='tablet' bus='usb'/>
            <input type='mouse' bus='ps2'/>
            <graphics type='vnc' port='-1' autoport='yes'/>
        </devices>
    </domain>
  2. virsh コマンドを実行して KVM を起動します。次のコードはサンプルコマンドを示しています。

    説明

    デフォルトでは、libvirt は一般ユーザーによって起動されます。一般ユーザーがイメージファイルとイメージファイルのパスを管理する権限を持っていることを確認してください。

    Alibaba Cloud Linux 3

    sudo virsh define alinux3.xml
    virsh start <KVMName>   # KVM の名前を入力します。sudo virsh list --name コマンドを実行して KVM の名前をクエリできます。

    Alibaba Cloud Linux 2

    sudo virsh define alinux2.xml
    sudo virsh start <KVMName>    # KVM の名前を入力します。sudo virsh list --name コマンドを実行して KVM の名前をクエリできます。

qemu-kvm コマンドを実行して KVM を起動する

qemu-kvm コマンドに次のパラメーター設定を追加します。

-drive file=/path/to/your/seed.img,if=virtio,format=raw
  • /path/to/your/seed.img: パスを seed.img ブートイメージファイルのパスに置き換えることができます。

  • if=virtio: virtio は仮想ディスクへの接続に使用されます。

  • format=raw: ディスクイメージファイルは RAW フォーマットです。

コマンドの例:

sudo /usr/libexec/qemu-kvm -drive file=/home/ecs-user/seed/seed.img,if=virtio,format=raw

virt-manager グラフィカルインターフェイスを使用して KVM を起動する

KVM を起動する前に、コンピューター上で KVM の構成ファイルを見つけ、seed.img ブートイメージの絶対パスを構成ファイルに追加します。

次のステップ

KVM が起動したら、user-data 構成ファイルに含まれているユーザー名とパスワードを使用して KVM にログインします。

説明

SSH キーペアを使用して KVM にログインする必要がある場合は、SSH キーペアの公開鍵が cloud-init 構成ファイルに追加されていることを確認してください。

参考資料

  • cloud-init は、Linux 仮想マシンを自動的に初期化するために使用されるツールです。このツールは、仮想マシンの起動時に、ホスト名の指定、ネットワークの構成、ソフトウェアパッケージのインストールなど、一連のタスクを実行できます。

  • libvirt、qemu-kvm、および virt-manager は、KVM の管理と実行に一般的に使用されます。詳細については、「Red Hat ドキュメント」をご参照ください。