5.7. bootc-image-builder를 사용하여 AMI 이미지 생성 및 AWS에 업로드


bootc-image-builder 툴을 사용하여 Red Hat Enterprise Linux bootc 이미지에서 AMI(Amazon Machine Image)를 생성합니다. 이를 통해 AWS(Amazon Web Services) 내에서 컨테이너 네이티브 운영 체제를 표준 EC2 인스턴스로 배포할 수 있습니다.

  • registry.redhat.io/rhel10/bootc-image-builder:latest 와 같은 레지스트리의 컨테이너 이미지를 사용하는 경우 로컬 스토리지를 마운트해야 합니다.
  • 로컬로 빌드된 컨테이너 이미지를 사용하는 경우 -v /var/lib/containers/storage:/var/lib/containers/storage 인수를 포함해야 합니다.

사전 요구 사항

  • 호스트 시스템에 Podman이 설치되어 있어야 합니다.
  • AWS 계정 내에 기존 AWS S3 버킷이 있습니다.
  • bootc-image-builder 툴을 실행하고 --privileged 모드에서 컨테이너를 실행하여 이미지를 빌드할 수 있는 루트 액세스 권한이 있습니다.
  • AMI를 AWS 계정으로 가져오도록 계정에 vmimport 서비스 역할이 구성되어 있습니다.

프로세스

  1. bootc 이미지에서 디스크 이미지를 만듭니다.

    • Containerfile에서 사용자 세부 정보를 구성합니다. sudo 액세스 권한으로 할당했는지 확인합니다.
    • Containerfile에서 구성된 사용자로 사용자 지정 운영 체제 이미지를 빌드합니다. 암호 sudo 액세스없이 기본 사용자를 생성합니다.
  2. 선택 사항: cloud-init 를 사용하여 머신 이미지를 구성합니다. RHEL의 이미지 모드에서 파일 시스템 관리를 참조하십시오. 다음은 예제입니다.

    FROM quay.io/<namespace>/<image>: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 이미지를 생성합니다. registry.redhat.io/rhel10/bootc-image-builder:latest 와 같은 레지스트리에서 이미지에 액세스할 수 있어야 합니다.

    $ sudo podman run \
      --rm \
      --it \
      --privileged \
      --pull=newer \
      -v ./config.toml:/config.toml \
      -v /var/home/<user>/.aws:/root/.aws \
      --env AWS_PROFILE=default \
      registry.redhat.io/rhel10/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 툴은 AWS 인증 정보를 사용하여 AMI 이미지를 빌드, 업로드 및 AWS S3 버킷에 등록합니다.

다음 단계

문제 해결

AWS 이미지에 대한 요구 사항을 구성하는 데 문제가 있는 경우 다음 문서를 참조하십시오.

Red Hat logoGithubredditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 문서 정보

Legal Notice

Theme

© 2026 Red Hat
맨 위로 이동