18.7. クラウドデプロイメント用の Ignition 設定の作成


AWS、Azure、Google Cloud、その他のクラウドプラットフォーム上で bootc インスタンスをプロビジョニングするには、クラウドプロバイダーのユーザーデータメカニズムを通じて Ignition の設定を渡すことができます。

前提条件

  • Ignition が有効な bootc イメージがクラウドプロバイダーにアップロードされている。bootc-image-builder を使用した AMI イメージの作成および AWS へのアップロード を参照してください。
  • クラウドプロバイダーのコンソールまたは CLI にアクセスできる。
  • Butane YAML 設定を Ignition JSON に変換するために、butane ユーティリティーがローカルマシンにインストールされている。

    $ sudo dnf install -y butane

手順

  1. cloud-config.bu という名前の Butane 設定ファイルを作成します。

    variant: r4e
    version: 1.5.0
    passwd:
      users:
        - name: core
          groups:
            - wheel
            - sudo
    storage:
      files:
        - path: /etc/hostname
          mode: 0644
          contents:
            inline: <hostname>
        - path: /etc/sysconfig/network-scripts/ifcfg-eth0
          mode: 0644
          contents:
            inline: |
              DEVICE=eth0
              BOOTPROTO=dhcp
              ONBOOT=yes
        - path: /etc/profile.d/cloud-env.sh
          mode: 0644
          contents:
            inline: |
              export CLOUD_PROVIDER="aws"
              export ENVIRONMENT="production"
      directories:
        - path: /var/log/applications
          mode: 0755
    systemd:
      units:
        - name: cloud-init-replacement.service
          enabled: true
          contents: |
            [Unit]
            Description=Cloud initialization tasks
            After=network-online.target
            Wants=network-online.target
            ConditionFirstBoot=yes
    
            [Service]
            Type=oneshot
           ExecStart=/bin/sh -c '/usr/bin/curl -s http://169.254.169.254/latest/meta-data/instance-id > /var/lib/instance-id'
            ExecStart=/usr/bin/echo "Cloud initialization complete"
    
            [Install]
            WantedBy=multi-user.target
  2. Butane 設定を Ignition JSON ファイルに変換します。

    $ butane --strict cloud-config.bu > cloud-config.ign
  3. Ignition 設定をユーザーデータとしてインスタンスをデプロイします。

    • AWS EC2 の場合は、以下を実行します。

      $ aws ec2 run-instances --image-id <ami_id> --instance-type <instance_type> --user-data file://cloud-config.ign --key-name <key_pair_name>
    • Azure の場合は、以下を実行します。

      $ az vm create --resource-group <resource_group> --name <vm_name> --image <ignition_image> --custom-data cloud-config.ign --admin-username core
    • Google Cloud の場合は、以下を実行します。

      $ gcloud compute instances create <instance_name> --image <ignition_image> --metadata-from-file user-data=cloud-config.ign --machine-type <machine_type>
    • QEMU/KVM のテストを行うには、以下を実行します。

      $ qemu-system-x86_64 \ -machine q35 \ -cpu host \ -enable-kvm \ -m 4096 \ -fw_cfg name=opt/com.coreos/config,file=<path_to_config_file> \ -drive file=bootc-image.qcow2,format=qcow2 \ -netdev user,id=net0,hostfwd=tcp::2222-:22 \ -device virtio-net-pci,netdev=net0 \
        -append "ignition.platform.id=qemu ignition.firstboot"

検証

  1. インスタンスに接続します。

    $ ssh core@<instance_ip>
  2. クラウド環境変数が正しく設定されていることを確認します。

    $ source /etc/profile.d/cloud-env.sh
    $ echo ${CLOUD_PROVIDER}
  3. Ignition の実行ステータスを確認します。

    $ journalctl -t ignition --no-pager
  4. インスタンス ID が取得されたことを確認します (AWS の例):

    $ cat /var/lib/instance-id
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

Red Hat ドキュメントについて

Legal Notice

Theme

© 2026 Red Hat
トップに戻る