5.7. bootc-image-builder を使用した AMI イメージの作成および AWS へのアップロード


bootc イメージから Amazon Machine Image (AMI) を作成し、それを使用して Amazon Web Services (AWS) Amazon Elastic Compute Cloud (EC2) インスタンスを起動します。

前提条件

  • ホストマシンに Podman がインストールされている。
  • AWS アカウント内に既存の AWS S3 バケットがある。
  • bootc-image-builder ツールを実行し、コンテナーを --privileged モードで実行して、イメージをビルドするための root アクセスがある。
  • AMI を AWS アカウントにインポートするために、アカウントに vmimport サービスロールが設定されている。

手順

  1. bootc イメージからディスクイメージを作成します。

    • Containerfile でユーザーの詳細を設定します。必ず sudo アクセスを割り当ててください。
    • Containerfile で設定したユーザーを使用して、カスタマイズされたオペレーティングシステムイメージをビルドします。これにより、パスワードなしの sudo アクセスを持つデフォルトのユーザーが作成されます。
  2. オプション: cloud-init を使用してマシンイメージを設定します。ユーザーとグループの設定 - cloud-init を使用したユーザーと SSH キーの挿入 を参照してください。以下に例を示します。

    FROM registry.redhat.io/rhel9/rhel-bootc:latest
    
    RUN dnf -y install cloud-init && \
        ln -s ../cloud-init.target /usr/lib/systemd/system/default.target.wants && \
        rm -rf /var/{cache,log} /var/lib/{dnf,rhsm}
    注記

    cloud-init により、インスタンスメタデータを使用してユーザーや設定を追加することもできます。

  3. bootc イメージをビルドします。たとえば、イメージを x86_64 AWS マシンにデプロイするには、次のコマンドを使用します。

    $ podman build -t quay.io/<namespace>/<image>:<tag> .
    $ podman push quay.io/<namespace>/<image>:<tag> .
  4. コンテナーを実行する前に、出力 フォルダーを初期化してください。ディレクトリーがすでに存在する場合にコマンドが失敗しないようにするには、-p 引数を使用してください。

    $ mkdir -p ./output
  5. bootc-image-builder ツールを使用して、bootc コンテナーイメージから AMI を作成します。
  6. bootc-image-builder ツールを使用して、bootc コンテナーイメージからパブリックな AMI イメージを作成します。イメージは、registry.redhat.io/rhel9/bootc-image-builder:latest などのレジストリーからアクセスできる必要があります。

    $ podman run \
      --rm \
      -it \
      --privileged \
      --pull=newer \
      -v $HOME/.aws:/root/.aws:ro \
      -v /var/lib/containers/storage:/var/lib/containers/storage \
      --env AWS_PROFILE=default \
      registry.redhat.io/rhel9/bootc-image-builder:latest \
      --type ami \
      --config /config.toml \
      --aws-ami-name rhel-bootc-x86 \
      --aws-bucket rhel-bootc-bucket \
      --aws-region us-east-1 \
    quay.io/<namespace>/<image>:<tag>
    注記

    以下のフラグはすべてまとめて指定する必要があります。フラグを指定しない場合、AMI は出力ディレクトリーにエクスポートされます。

    • --aws-ami-name - AWS の AMI イメージの名前
    • --aws-bucket - AMI を作成する際の中間ストレージのターゲット S3 バケット名
    • --aws-region - AWS アップロードのターゲットリージョン

      bootc-image-builder ツールは AMI イメージをビルドし、ビルド後に AWS 認証情報を使用して AMI イメージをプッシュおよび登録することで、AWS s3 バケットにアップロードします。bootc-image-builder ツールは、AMI イメージをビルドし、ビルド後に AWS 認証情報を使用して AMI イメージをプッシュおよび登録することで、AWS S3 bucket にアップロードします。

次のステップ

ユーザー、グループ、SSH キー、シークレットの詳細は、ユーザーとグループの設定 - cloud-init を使用したユーザーと SSH キーの挿入 を参照してください。

Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

会社概要

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

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

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

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

Legal Notice

Theme

© 2026 Red Hat
トップに戻る