11장. RHEL 이미지 빌더를 사용하여 클라우드 이미지 준비 및 업로드


RHEL 이미지 빌더는 다양한 클라우드 플랫폼에서 사용할 준비가 된 사용자 정의 시스템 이미지를 생성할 수 있습니다. 클라우드에서 사용자 지정 RHEL 시스템 이미지를 사용하려면 선택한 출력 유형을 사용하여 RHEL 이미지 빌더로 시스템 이미지를 생성하고, 이미지를 업로드하도록 시스템을 구성하고, 이미지를 클라우드 계정에 업로드합니다. RHEL 웹 콘솔의 이미지 빌더 애플리케이션을 통해 사용자 지정 이미지 클라우드를 푸시할 수 있으며, AWSMicrosoft Azure 클라우드와 같이 당사가 지원하는 서비스 공급자 서브 세트에 사용할 수 있습니다. AWS Cloud AMI에 직접 이미지 생성 및 자동 업로드Microsoft Azure 클라우드에 직접 VHD 이미지 생성 및 자동 업로드를 참조하십시오.

11.1. AWS에 AMI 이미지 준비 및 업로드

사용자 지정 이미지를 생성하여 RHEL 이미지 빌더를 사용하여 수동으로 또는 자동으로 AWS 클라우드로 업데이트할 수 있습니다.

11.1.1. AWS AMI 이미지 수동 업로드 준비

AWS AMI 이미지를 업로드하기 전에 이미지를 업로드하는 시스템을 구성해야 합니다.

사전 요구 사항

프로세스

  1. Python 3 및 pip 툴을 설치합니다.

    # dnf install python3 python3-pip
  2. pip:을 사용하여 AWS 명령줄 툴 을 설치합니다.

    # pip3 install awscli
  3. 프로필을 설정합니다. 터미널에 인증 정보, 지역 및 출력 형식을 제공하라는 메시지가 표시됩니다.

    $ aws configure
    AWS Access Key ID [None]:
    AWS Secret Access Key [None]:
    Default region name [None]:
    Default output format [None]:
  4. 버킷 이름을 정의하고 버킷을 생성합니다.

    $ BUCKET=bucketname
    $ aws s3 mb s3://$BUCKET

    버킷 이름을 실제 버킷 이름으로 교체합니다. 전역적으로 고유한 이름이어야 합니다. 결과적으로 버킷이 생성됩니다.

  5. S3 버킷에 액세스할 수 있는 권한을 부여하려면 이전에는 AWS Identity and Access Management(IAM)에서 vmimport S3 역할을 생성합니다.

    1. 신뢰 정책 구성을 사용하여 JSON 형식으로 trust-policy.json 파일을 생성합니다. 예를 들면 다음과 같습니다.

      {
          "Version": "2022-10-17",
          "Statement": [{
              "Effect": "Allow",
              "Principal": {
                  "Service": "vmie.amazonaws.com"
              },
              "Action": "sts:AssumeRole",
              "Condition": {
                  "StringEquals": {
                      "sts:Externalid": "vmimport"
                  }
              }
          }]
      }
    2. 역할 정책 구성을 사용하여 JSON 형식으로 role-policy.json 파일을 생성합니다. 예를 들면 다음과 같습니다.

      {
          "Version": "2012-10-17",
          "Statement": [{
              "Effect": "Allow",
              "Action": ["s3:GetBucketLocation", "s3:GetObject", "s3:ListBucket"],
              "Resource": ["arn:aws:s3:::%s", "arn:aws:s3:::%s/"] }, { "Effect": "Allow", "Action": ["ec2:ModifySnapshotAttribute", "ec2:CopySnapshot", "ec2:RegisterImage", "ec2:Describe"],
              "Resource": "*"
          }]
      }
      $BUCKET $BUCKET
    3. trust-policy.json 파일을 사용하여 Amazon Web Services 계정에 대한 역할을 생성합니다.

      $ aws iam create-role --role-name vmimport --assume-role-policy-document file://trust-policy.json
    4. role-policy.json 파일을 사용하여 인라인 정책 문서를 삽입합니다.

      $ aws iam put-role-policy --role-name vmimport --policy-name vmimport --policy-document file://role-policy.json

11.1.2. CLI를 사용하여 AWS에 AMI 이미지를 수동으로 업로드

RHEL 이미지 빌더를 사용하여 CLI를 사용하여 ami 이미지를 빌드하고 수동으로 Amazon AWS Cloud 서비스 공급자에 직접 업로드할 수 있습니다.

사전 요구 사항

  • AWS IAM 계정 관리자에 Access Key ID 가 구성되어 있습니다.
  • 쓰기 가능한 S3 버킷이 준비되어 있어야 합니다. S3 버킷 생성 을 참조하십시오.
  • 블루프린트가 정의되어 있습니다.

프로세스

  1. 텍스트 편집기를 사용하여 다음 내용으로 구성 파일을 생성합니다.

    provider = "aws"
    [settings]
    accessKeyID = "AWS_ACCESS_KEY_ID"
    secretAccessKey = "AWS_SECRET_ACCESS_KEY"
    bucket = "AWS_BUCKET"
    region = "AWS_REGION"
    key = "IMAGE_KEY"

    필드의 값을 accessKeyID,secretAccessKey,버킷 에 대한 인증 정보로 바꿉니다. IMAGE_KEY 값은 EC2에 업로드할 VM 이미지의 이름입니다.

  2. 파일을 CONFIGURATION-FILE.toml로 저장하고 텍스트 편집기를 종료합니다.
  3. 작성을 시작하여 AWS에 업로드합니다.

    # composer-cli compose start blueprint-name image-type image-key configuration-file.toml

    교체:

    • 생성한 블루프린트의 이름이 있는 블루프린트- 이름
    • ami 이미지 유형이 있는 이미지 유형.
    • EC2에 업로드할 VM 이미지의 이름이 있는 이미지 입니다.
    • 클라우드 공급자의 구성 파일 이름이 있는 configuration-file.toml.

      참고

      사용자 지정 이미지를 보낼 버킷에 대한 올바른 AWS IAM(Identity and Access Management) 설정이 있어야 합니다. 이미지를 업로드하려면 먼저 버킷에 정책을 설정해야 합니다.

  4. 이미지 빌드 상태를 확인합니다.

    # composer-cli compose status

    이미지 업로드 프로세스가 완료되면 "FINISHED" 상태가 표시됩니다.

검증

이미지 업로드에 성공했는지 확인하려면 다음을 수행하십시오.

  1. 메뉴에서 EC2 에 액세스하고 AWS 콘솔에서 올바른 리전을 선택합니다. 이미지가 성공적으로 업로드되었음을 나타내기 위해 사용 가능한 상태가 있어야 합니다.
  2. 대시보드에서 이미지를 선택하고 시작을 클릭합니다.

11.1.3. AWS Cloud AMI에 이미지 생성 및 자동 업로드

RHEL 이미지 빌더를 사용하여 (.raw) 이미지를 생성하고 AWS에 업로드 확인란을 선택하여 Amazon AWS Cloud AMI 서비스 공급자에 직접 생성하는 출력 이미지를 자동으로 푸시할 수 있습니다.

사전 요구 사항

  • 시스템에 대한 root 또는 wheel 그룹 사용자 액세스 권한이 있어야 합니다.
  • 브라우저에서 RHEL 웹 콘솔의 RHEL 이미지 빌더 인터페이스를 열었습니다.
  • 블루프린트를 생성했습니다. 웹 콘솔 인터페이스에서 블루프린트 생성을 참조하십시오.
  • AWS IAM 계정 관리자에 Access Key ID가 구성되어 있어야 합니다.
  • 쓰기 가능한 S3 버킷 이 준비되어 있어야 합니다.

프로세스

  1. RHEL 이미지 빌더 대시보드에서 이전에 생성한 블루프린트 이름을 클릭합니다.
  2. Images 탭을 선택합니다.
  3. Create Image 를 클릭하여 사용자 지정 이미지를 생성합니다.

    이미지 생성 창이 열립니다.

    1. 유형 드롭다운 메뉴 목록에서 Amazon Machine Image Disk (.raw) 를 선택합니다.
    2. Upload to AWS (AWS에 업로드) 확인란을 선택하여 이미지를 AWS Cloud에 업로드하고 Next 를 클릭합니다.
    3. AWS에 대한 액세스를 인증하려면 해당 필드에 AWS 액세스 키 IDAWS 시크릿 액세스 키를 입력합니다. 다음을 클릭합니다.

      참고

      새 액세스 키 ID를 생성하는 경우에만 AWS 시크릿 액세스 키를 볼 수 있습니다. 시크릿 키를 모르는 경우 새 액세스 키 ID를 생성합니다.

    4. 이미지 이름 필드에 이미지 이름을 입력하고 Amazon S3 버킷 이름 필드에 Amazon 버킷 이름을 입력하고 사용자 지정 이미지를 추가할 버킷의 AWS 리전 필드를 입력합니다. 다음을 클릭합니다.
    5. 정보를 검토하고 마침 을 클릭합니다.

      필요한 경우 뒤로 를 클릭하여 잘못된 세부 정보를 수정합니다.

      참고

      사용자 정의 이미지를 보낼 버킷에 대해 올바른 IAM 설정이 있어야 합니다. 이 절차에서는 IAM 가져오기 및 내보내기를 사용하므로 이미지를 업로드하기 전에 버킷에 정책을 설정해야 합니다. 자세한 내용은 IAM 사용자에 대한 필수 권한을 참조하십시오.

  4. 오른쪽 상단에 있는 팝업에 저장 진행 상황을 알려줍니다. 또한 이미지 생성이 시작되었으며 이 이미지 생성 진행률 및 AWS Cloud에 대한 후속 업로드가 시작되었음을 알립니다.

    프로세스가 완료되면 이미지 빌드 완료 상태를 확인할 수 있습니다.

  5. 브라우저에서 Service CryostatEC2 에 액세스합니다.

    1. AWS 콘솔 대시보드 메뉴에서 올바른 리전 을 선택합니다. 이미지가 업로드되었음을 나타내기 위해 Available 상태가 있어야 합니다.
    2. AWS 대시보드에서 이미지를 선택하고 시작을 클릭합니다.
  6. 새 창이 열립니다. 이미지를 시작하는 데 필요한 리소스에 따라 인스턴스 유형을 선택합니다. 검토 및 시작을 클릭합니다.
  7. 인스턴스 시작 세부 정보를 검토합니다. 변경해야 하는 경우 각 섹션을 편집할 수 있습니다. 시작을 클릭합니다 .
  8. 인스턴스를 시작하기 전에 액세스할 공개 키를 선택합니다.

    이미 보유한 키 쌍을 사용하거나 새 키 쌍을 만들 수 있습니다.

    다음 단계에 따라 EC2에 새 키 쌍을 생성하고 새 인스턴스에 연결합니다.

    1. 드롭다운 메뉴 목록에서 새 키 쌍 만들기를 선택합니다.
    2. 새 키 쌍의 이름을 입력합니다. 새 키 쌍을 생성합니다.
    3. Download Key pair 를 클릭하여 로컬 시스템에 새 키 쌍을 저장합니다.
  9. 그런 다음 인스턴스 시작을 클릭하여 인스턴스를 시작할 수 있습니다.

    Initializing 으로 표시되는 인스턴스의 상태를 확인할 수 있습니다.

  10. 인스턴스 상태가 실행 중 이면 Connect 버튼을 사용할 수 있게 됩니다.
  11. 연결을 클릭합니다. SSH를 사용하여 연결하는 방법에 대한 지침과 함께 창이 표시됩니다.

    1. 에 대한 기본 연결 방법으로 독립 실행형 SSH 클라이언트를 선택하고 터미널을 엽니다.
    2. 개인 키를 저장하는 위치에서 SSH가 작동하도록 키를 공개적으로 볼 수 있는지 확인합니다. 이 작업을 수행하려면 다음 명령을 실행합니다.

      $ chmod 400 <_your-instance-name.pem_>
    3. 공용 DNS를 사용하여 인스턴스에 연결합니다.

      $ ssh -i <_your-instance-name.pem_> ec2-user@<_your-instance-IP-address_>
    4. yes 를 입력하여 연결을 계속할지 확인합니다.

      결과적으로 SSH를 통해 인스턴스에 연결됩니다.

검증

  • SSH를 사용하여 인스턴스에 연결하는 동안 작업을 수행할 수 있는지 확인합니다.
Red Hat logoGithubredditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 소개

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

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

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

Red Hat 문서 정보

Legal Notice

Theme

© 2026 Red Hat
맨 위로 이동