Menu Close

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

이미지 빌더는 다양한 공급자의 클라우드에서 사용할 수 있는 사용자 지정 시스템 이미지를 만들 수 있습니다. 클라우드에서 사용자 지정 RHEL 시스템 이미지를 사용하려면 해당 출력 유형을 사용하여 이미지 빌더로 시스템 이미지를 생성하고, 이미지를 업로드할 시스템을 구성하고, 클라우드 계정에 이미지를 업로드합니다. Red Hat Enterprise Linux 8.3부터 RHEL 웹 콘솔의 이미지 빌더 애플리케이션을 통해 사용자 정의 이미지 클라우드를 푸시하는 기능은 AWSAzure 클라우드와 같이 지원하는 서비스 공급자의 하위 집합에서 사용할 수 있습니다. AWS Cloud AMI로 이미지 푸시 및 VHD 이미지를 Azure 클라우드로 푸시를 참조하십시오.

8.1. AWS AMI 이미지 업로드 준비

이는 AWS AMI 이미지 업로드를 위한 시스템을 구성하는 단계를 설명합니다.

사전 요구 사항

절차

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

    # dnf install python3
    # dnf install 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

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

  5. 그런 다음 S3 버킷에 액세스할 수 있는 권한을 부여하려면 과거에 아직 수행하지 않은 경우 IAM에서 vmimport S3 역할을 생성합니다.

    $ printf '{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "vmie.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "StringEquals":{ "sts:Externalid": "vmimport" } } } ] }' > trust-policy.json
    $ printf '{ "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 > role-policy.json
    $ aws iam create-role --role-name vmimport --assume-role-policy-document file://trust-policy.json
    $ aws iam put-role-policy --role-name vmimport --policy-name vmimport --policy-document file://role-policy.json