3.7. cloud-init を使用した最初の起動コマンドの実行

runcmd セクションおよび bootcmd セクションを使用して、起動および初期化中にコマンドを実行できます。

bootcmd セクションは、初期化プロセスの早い段階で実行され、デフォルトでは起動ごとに実行されます。runcmd セクションは、プロセスの最後の方で実行され、初回起動時および初期化中にのみ実行されます。

手順

  1. データソースの要件に応じて、user-data ファイルを開いて編集します。編集しない場合は、以下のディレクティブを cloud.cfg.d ディレクトリーに追加します。

    注記

    cloud-init が、ユーザーディレクティブを含むファイルを認識できるように、すべてのユーザーディレクティブはファイルの最上部に #cloud-config が含まれます。cloud.cfg.d ディレクトリーにディレクティブを含める場合は、ファイル名を *.cfg とし、ファイルの最上部に常に #cloud-config を含めます。

  2. bootcmd および runcmd のセクションを追加します。cloud-init が実行するコマンドを含めます。

    #cloud-config
    users:
      - default
      - name: user2
        gecos: User N. Ame
        groups: users
    chpasswd:
      list: |
        root:password
        fedora:myfedpassword
        user2:mypassword2
      expire: False
    bootcmd:
     - echo New MOTD >> /etc/motd
    runcmd:
     - echo New MOTD2 >> /etc/motd