내용으로 건너뛰기

VM Import/Export를 사용하여 AMI에서 VM 기반 인스턴스를 내보내려면 어떻게 합니까?

3분 분량
0

Amazon Machine Image(AMI) 사본을 가상 머신(VM)으로 내보내 온사이트 가상화 환경에 배포하려고 합니다.

간략한 설명

AWS Command Line Interface(AWS CLI)와 VM Import/Export를 사용하여 이미지 내보내기 작업을 시작합니다. 이 작업은 AMI 사본을 Amazon Simple Storage Service(S3) 버킷에 기록된 VM 파일로 내보냅니다. 내보낸 VM을 사용하여 온사이트 가상화 환경에 표준화된 새 인스턴스를 배포할 수 있습니다. 대부분의 AMI는 Citrix Xen, Microsoft Hyper-V 또는 VMware vSphere로 내보낼 수 있습니다.

해결 방법

참고: AWS Command Line Interface(AWS CLI) 명령을 실행할 때 오류가 발생하면 AWS CLI의 오류 해결을 참조하십시오. 또한 최신 AWS CLI 버전을 사용하고 있는지 확인하십시오.

전제 조건:

AMI 사본을 이미지로 내보내기

참고: AWS에서 제공한 Windows AMI 또는 Windows 마켓플레이스 AMI에서 생성된 인스턴스는 내보낼 수 없습니다. VM Import/Export, AWS Application Migration Service(MGN) 또는 AWS Elastic Disaster Recovery(AWS DRS)를 통해 원래 기존 보유 라이선스(BYOL)로 가져온 Windows 인스턴스만 내보낼 수 있습니다.

이미지 내보내기 작업을 실행하려면 다음 단계를 완료합니다.

  1. 내보내려고 하는 Amazon Elastic Compute Cloud(Amazon EC2) 인스턴스에서 Amazon Elastic Block Store(Amazon EBS) 지원 AMI를 생성합니다.

  2. 클라이언트 시스템에 AWS CLI를 설치합니다. 그런 다음 IAM 사용자의 AWS 보안 자격 증명으로 AWS CLI를 구성합니다.

  3. 내보내려는 AMI와 동일한 AWS 리전에 새 Amazon S3 버킷을 생성합니다.

  4. VM Import/Export에 사용하는 리전에서 AWS Security Token Service(AWS STS)를 활성화합니다. 그런 다음 필요한 서비스 역할을 생성합니다.

  5. AWS CLI를 설치한 클라이언트 시스템에서 export-image 명령을 실행하여 이미지 내보내기 작업을 시작합니다.

    aws ec2 export-image --image-id `ami-1234567890abcdef0` --disk-image-format example-disk-image-format --s3-export-location S3Bucket=example-export-bucket,S3Prefix=exports/

    참고: ami-1234567890abcdef0을 AMI ID로 바꾸십시오. example-disk-image-format을 원하는 형식으로 바꾸십시오. example-export-bucket을 Amazon S3 버킷의 이름으로 바꾸십시오.

    출력 예시:

    {   
        "DiskImageFormat": "vmdk",
        "ExportImageTaskId": "export-ami-1234567890abcdef0",
        "ImageId": "example-ami-id",
        "RoleName": "vmimport",
        "Progress": "0",
        "S3ExportLocation": {
            "S3Bucket": "example-export-bucket",
            "S3Prefix": "exports/"
        },
        "Status": "active",
        "StatusMessage": "validating"
    }

    위의 예시에서 Amazon S3 키 prefixexport-ami-id.format은 내보낸 파일을 지정된 Amazon S3 버킷에 씁니다. 내보낸 파일에 접두사를 추가할 수 있습니다.

  6. 이미지 내보내기 작업의 상태를 확인하려면 describe-export-image-tasks 명령을 실행합니다.

    aws ec2 describe-export-image-tasks --export-image-task-ids export-example-ami-id

    참고: export-example-ami-id를 내보내기 작업 ID로 바꾸십시오.

    출력 예시:

    {    "ExportImageTasks": [
            {
                "ExportImageTaskId": "export-ami-1234567890abcdef0",
                "Progress": "21",
                "S3ExportLocation": {
                    "S3Bucket": "my-export-bucket",
                    "S3Prefix": "exports/"
                },
                "Status": "active",
                "StatusMessage": "updating"
            }
        ]
    }
  7. 이미지 내보내기 작업의 상태가 완료로 변경되었는지 확인합니다. 완료 상태가 되면 내보낸 파일을 Amazon S3 버킷의 객체로 사용할 수 있습니다.
    완료 상태 출력 예시:

    {    "ExportImageTasks": [
            {
                "ExportImageTaskId": "example-export-ami-id",
                "S3ExportLocation": {
                    "S3Bucket": "example-export-bucket",
                    "S3Prefix": "exports/"
                },
                "Status": "completed"
            }
        ]
    }
  8. Amazon S3 콘솔을 사용하여 Amazon S3 버킷에 액세스할 수 있습니다. 그런 다음 객체를 다운로드합니다.

관련 정보

VM Import/Export를 사용하여 Amazon Machine Image(AMI)에서 직접 VM 내보내기

AWS 계정에서 IAM 사용자 생성

AWS 보안 자격 증명

Amazon EC2의 Amazon Machine Image

VM Import/Export 문제 해결

AWS 공식업데이트됨 일 년 전