검색

3.4. Red Hat Enterprise Linux 이미지를 AWS에 업로드

download PDF

이 섹션의 절차에 따라 이미지를 AWS에 업로드합니다.

3.4.1. AWS CLI 설치

AWS에서 HA 클러스터를 관리하는 데 필요한 대부분의 절차에는 AWS CLI 사용이 포함됩니다. AWS CLI를 설치하려면 다음 단계를 완료합니다.

사전 요구 사항

  • AWS 액세스 키 ID와 AWS Secret Access Key를 생성하고 액세스할 수 있습니다. 지침 및 자세한 내용은 AWS CLI 구성을 빠르게 참조하십시오.

절차

  1. yum 명령을 사용하여 AWS 명령줄 툴 을 설치합니다.

    # yum install awscli
  2. aws --version 명령을 사용하여 AWS CLI를 설치했는지 확인합니다.

    $ aws --version
    aws-cli/1.19.77 Python/3.6.15 Linux/5.14.16-201.fc34.x86_64 botocore/1.20.77
  3. AWS 액세스 세부 정보에 따라 AWS 명령줄 클라이언트를 구성합니다.

    $ aws configure
    AWS Access Key ID [None]:
    AWS Secret Access Key [None]:
    Default region name [None]:
    Default output format [None]:

3.4.2. S3 버킷 생성

AWS로 가져오려면 Amazon S3 버킷이 필요합니다. Amazon S3 버킷은 오브젝트를 저장하는 Amazon 리소스입니다. 이미지를 업로드하는 프로세스의 일부로 S3 버킷을 생성한 다음 이미지를 버킷으로 이동합니다. 버킷을 생성하려면 다음 단계를 완료합니다.

절차

  1. Amazon S3 콘솔을 시작합니다.
  2. Create Bucket 을 클릭합니다. 버킷 생성 대화 상자가 표시됩니다.
  3. 이름 및 지역 보기에서 다음을 수행합니다.

    1. 버킷 이름을 Bucket 으로 입력합니다.
    2. 리전 을 입력합니다.
    3. 다음을 클릭합니다.
  4. Configure options view에서 원하는 옵션을 선택하고 다음을 클릭합니다.
  5. 권한 설정 보기에서 기본 옵션을 변경하거나 수락하고 다음을 클릭합니다.
  6. 버킷 구성을 검토합니다.
  7. 버킷 생성을 클릭합니다.

    참고

    또는 AWS CLI를 사용하여 버킷을 생성할 수 있습니다. 예를 들어 aws s3 mb s3://my-new-bucket 명령은 my-new-bucket 이라는 S3 버킷을 생성합니다. mb 명령에 대한 자세한 내용은 AWS CLI 명령 참조 를 참조하십시오.

3.4.3. vmimport 역할 생성

다음 절차에 따라 VM 가져오기에 필요한 vmimport 역할을 생성합니다. 자세한 내용은 Amazon 문서의 VM Import Service Role 을 참조하십시오.

절차

  1. trust-policy.json 이라는 파일을 생성하고 다음 정책을 포함합니다. 파일을 시스템에 저장하고 위치를 기록해 둡니다.

    {
       "Version": "2012-10-17",
       "Statement": [
          {
             "Effect": "Allow",
             "Principal": { "Service": "vmie.amazonaws.com" },
             "Action": "sts:AssumeRole",
             "Condition": {
                "StringEquals":{
                   "sts:Externalid": "vmimport"
                }
             }
          }
       ]
    }
  2. create role 명령을 사용하여 vmimport 역할을 생성합니다. trust-policy.json 파일의 전체 경로를 지정합니다. file:// 를 경로에 접두사로 지정합니다. 예를 들면 다음과 같습니다.

    $ aws iam create-role --role-name vmimport --assume-role-policy-document file:///home/sample/ImportService/trust-policy.json
  3. role-policy.json 이라는 파일을 생성하고 다음 정책을 포함합니다. s3-bucket-name 을 S3 버킷 이름으로 바꿉니다.

    {
       "Version":"2012-10-17",
       "Statement":[
          {
             "Effect":"Allow",
             "Action":[
                "s3:GetBucketLocation",
                "s3:GetObject",
                "s3:ListBucket"
             ],
             "Resource":[
                "arn:aws:s3:::s3-bucket-name",
                "arn:aws:s3:::s3-bucket-name/*"
             ]
          },
          {
             "Effect":"Allow",
             "Action":[
                "ec2:ModifySnapshotAttribute",
                "ec2:CopySnapshot",
                "ec2:RegisterImage",
                "ec2:Describe*"
             ],
             "Resource":"*"
          }
       ]
    }
  4. put-role-policy 명령을 사용하여 정책을 생성한 역할에 연결합니다. role-policy.json 파일의 전체 경로를 지정합니다. 예를 들면 다음과 같습니다.

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

3.4.4. 이미지를 S3로 변환 및 푸시

이미지를 변환하고 S3로 푸시하려면 다음 절차를 완료합니다. 샘플은 대표적인 것입니다. qcow2 파일 형식으로 포맷된 이미지를 원시 형식으로 변환합니다. Amazon은 OVA,VHD,VHDX,VMDK, raw 형식의 이미지를 허용합니다. Amazon에서 허용하는 이미지 형식에 대한 자세한 내용은 VM Import/Export Works 를 참조하십시오.

절차

  1. qemu-img 명령을 실행하여 이미지를 변환합니다. 예를 들면 다음과 같습니다.

    # qemu-img convert -f qcow2 -O raw rhel-8.0-sample.qcow2 rhel-8.0-sample.raw
  2. 이미지를 S3로 푸시합니다.

    $ aws s3 cp rhel-8.0-sample.raw s3://s3-bucket-name
    참고

3.4.5. 스냅샷으로 이미지 가져오기

다음 절차에 따라 이미지를 스냅샷으로 가져옵니다.

절차

  1. 파일을 생성하여 이미지의 버킷과 경로를 지정합니다. 파일 이름을 containers.json 으로 지정합니다. 다음 샘플에서 s3-bucket-name 을 버킷 이름으로 바꾸고 s3-key 를 키로 바꿉니다. Amazon S3 콘솔을 사용하여 이미지의 키를 가져올 수 있습니다.

    {
        "Description": "rhel-8.0-sample.raw",
        "Format": "raw",
        "UserBucket": {
            "S3Bucket": "s3-bucket-name",
            "S3Key": "s3-key"
        }
    }
  2. 이미지를 스냅샷으로 가져옵니다. 이 예제에서는 공용 Amazon S3 파일을 사용합니다. Amazon S3 콘솔 을 사용하여 버킷의 권한 설정을 변경할 수 있습니다.

    aws ec2 import-snapshot --disk-container file://containers.json

    터미널에 다음과 같은 메시지가 표시됩니다. 메시지 내에 ImportTaskID 를 기록해 둡니다.

    {
        "SnapshotTaskDetail": {
            "Status": "active",
            "Format": "RAW",
            "DiskImageSize": 0.0,
            "UserBucket": {
                "S3Bucket": "s3-bucket-name",
                "S3Key": "rhel-8.0-sample.raw"
            },
            "Progress": "3",
            "StatusMessage": "pending"
        },
        "ImportTaskId": "import-snap-06cea01fa0f1166a8"
    }
  3. describe-import-snapshot-tasks 명령을 사용하여 가져오기 진행 상황을 추적합니다. ImportTaskID 를 포함합니다.

    $ aws ec2 describe-import-snapshot-tasks --import-task-ids import-snap-06cea01fa0f1166a8

    반환된 메시지는 작업의 현재 상태를 표시합니다. 완료되면 Status (상태)가 완료된 것으로 표시됩니다. 상태 내에서 스냅샷 ID를 기록하십시오.

3.4.6. 업로드된 스냅샷에서 AMI 생성

EC2 내에서 인스턴스를 시작할 때 AMI(Amazon Machine Image)를 선택해야 합니다. 업로드된 스냅샷에서 AMI를 생성하려면 다음 절차를 수행합니다.

절차

  1. AWS EC2 대시보드로 이동합니다.
  2. Elastic Block Store 에서 스냅샷 을 선택합니다.
  3. 스냅샷 ID(예: snap-0e718930bd72bcda0)를 검색합니다.
  4. 스냅샷을 마우스 오른쪽 버튼으로 클릭하고 Create image 를 선택합니다.
  5. 이미지의 이름을 지정합니다.
  6. 가상화 유형에서 하드웨어 지원 가상화를 선택합니다.
  7. 생성을 클릭합니다. 이미지 생성에 대한 노트에는 이미지에 대한 링크가 있습니다.
  8. 이미지 링크를 클릭합니다. 이미지는 Images>AMI 아래에 표시됩니다.

    참고

    또는 AWS CLI register-image 명령을 사용하여 스냅샷에서 AMI를 생성할 수 있습니다. 자세한 내용은 register-image 를 참조하십시오. 예는 다음과 같습니다.

    $ aws ec2 register-image \
        --name "myimagename" --description "myimagedescription" --architecture x86_64 \
        --virtualization-type hvm --root-device-name "/dev/sda1" --ena-support \
        --block-device-mappings "{\"DeviceName\": \"/dev/sda1\",\"Ebs\": {\"SnapshotId\": \"snap-0ce7f009b69ab274d\"}}"

    루트 장치 볼륨 /dev/sda1root-device-name 으로 지정해야 합니다. AWS의 장치 매핑에 대한 개념 정보는 블록 장치 매핑 예제 를 참조하십시오.

3.4.7. AMI에서 인스턴스 시작

AMI에서 인스턴스를 시작하고 구성하려면 다음 절차를 수행합니다.

절차

  1. AWS EC2 대시보드에서 이미지AMI를 선택합니다.
  2. 이미지를 마우스 오른쪽 버튼으로 클릭하고 시작을 선택합니다.
  3. 워크로드 요구 사항을 충족하거나 초과하는 인스턴스 유형을 선택합니다.

    인스턴스 유형에 대한 자세한 내용은 Amazon EC2 인스턴스 유형을 참조하십시오.

  4. Next: Configure Instance Details 를 클릭합니다.

    1. 생성할 인스턴스 수를 입력합니다.
    2. NetworkAWS 환경을 설정할 때 생성한 VPC를 선택합니다. 인스턴스의 서브넷을 선택하거나 새 서브넷을 만듭니다.
    3. Enable for Auto-assign Public IP를 선택합니다.

      참고

      기본 인스턴스를 생성하는 데 필요한 최소 구성 옵션입니다. 애플리케이션 요구 사항에 따라 추가 옵션을 검토합니다.

  5. Next: Add Storage 를 클릭합니다. 기본 스토리지가 충분한지 확인합니다.
  6. Next: 태그 추가를 클릭합니다.

    참고

    태그는 AWS 리소스를 관리하는 데 도움이 될 수 있습니다. 태그 지정에 대한 정보는 Amazon EC2 리소스 태그 지정을 참조하십시오.

  7. Next: Configure Security Group 을 클릭합니다. AWS 환경을 설정할 때 생성한 보안 그룹을 선택합니다.
  8. 검토 및 시작을 클릭합니다. 선택 항목을 확인합니다.
  9. 시작을 클릭합니다. 기존 키 쌍을 선택하거나 새 키 쌍을 만들라는 메시지가 표시됩니다. AWS 환경을 설정할 때 생성한 키 쌍을 선택합니다.

    참고

    개인 키에 대한 권한이 올바른지 확인합니다. 필요한 경우 명령 옵션>-< 400 <keyname>.pem 을 사용하여 권한을 변경합니다.

  10. 인스턴스 시작을 클릭합니다.
  11. 인스턴스 보기 를 클릭합니다. 인스턴스의 이름을 지정할 수 있습니다.

    인스턴스를 선택하고 연결을 클릭하여 인스턴스에 대한 SSH 세션을 시작할 수 있습니다. 독립 실행형 SSH 클라이언트에 제공된 예제를 사용합니다.

    참고

    또는 AWS CLI를 사용하여 인스턴스를 시작할 수 있습니다. 자세한 내용은 Amazon 문서의 Amazon EC2 인스턴스 시작, 나열 및 종료 를 참조하십시오.

3.4.8. Red Hat 서브스크립션 첨부

Red Hat Cloud Access 프로그램을 통해 이전에 활성화한 서브스크립션을 연결하려면 다음 단계를 완료합니다.

사전 요구 사항

  • 서브스크립션을 활성화해야 합니다.

절차

  1. 시스템을 등록합니다.

    # subscription-manager register --auto-attach
  2. 서브스크립션을 첨부합니다.

3.4.9. AWS Gold Images에서 자동 등록 설정

AWS(Amazon Web Services)에 RHEL 8 가상 머신을 더 빠르고 편리하게 배포하기 위해 Red Hat Subscription Manager(RHSM)에 RHEL 8의 Gold 이미지를 자동으로 등록하도록 설정할 수 있습니다.

사전 요구 사항

  • AWS의 최신 RHEL 8 Gold 이미지를 다운로드했습니다. 자세한 내용은 AWS에서 골드 이미지 사용을 참조하십시오.

    참고

    AWS 계정은 한 번에 하나의 Red Hat 계정에만 연결할 수 있습니다. 따라서 다른 사용자가 Red Hat 계정에 연결하기 전에 AWS 계정에 액세스할 필요가 없는지 확인하십시오.

절차

  1. AWS에 골드 이미지를 업로드합니다. 자세한 내용은 AWS에 Red Hat Enterprise Linux 이미지 업로드를 참조하십시오.
  2. 업로드한 이미지를 사용하여 VM을 생성합니다. 자동으로 RHSM에 등록됩니다.

검증

  • 위의 지침을 사용하여 생성된 RHEL 8 VM에서 subscription-manager identity 명령을 실행하여 시스템이 RHSM에 등록되어 있는지 확인합니다. 성공적으로 등록된 시스템에서 시스템의 UUID가 표시됩니다. 예를 들면 다음과 같습니다.

    # subscription-manager identity
    system identity: fdc46662-c536-43fb-a18a-bbcb283102b7
    name: 192.168.122.222
    org name: 6340056
    org ID: 6340056
Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

Red Hat을 사용하는 고객은 신뢰할 수 있는 콘텐츠가 포함된 제품과 서비스를 통해 혁신하고 목표를 달성할 수 있습니다.

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

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

Red Hat 소개

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

© 2024 Red Hat, Inc.