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로 내보낼 수 있습니다.
해결 방법
전제 조건
- VM 내보내기 제한을 검토하여 VM Import/Export가 AMI를 지원하는지 확인하세요.
- AWS Identity and Access Management(IAM) 사용자로 로그인하는 경우 필요한 IAM 사용자 권한이 있는지 확인하세요.
**참고:**AWS CLI 명령을 실행할 때 오류가 발생하는 경우, AWS CLI 오류 문제 해결을 참조하세요. 또한 최신 AWS CLI 버전을 사용하고 있는지 확인하세요.
AMI 사본을 이미지로 내보내기
이미지 내보내기 작업을 실행하려면 다음 작업을 수행하십시오.
-
내보내려고 하는 Amazon Elastic Compute Cloud(Amazon EC2) 인스턴스에서 Amazon Elastic Block Store(Amazon EBS) 지원 AMI를 생성합니다.
리눅스의 경우 Amazon EBS 기반 리눅스 AMI 생성을 참조합니다.
Windows의 경우 사용자 지정 Windows AMI 생성을 참조합니다.
-
클라이언트 시스템에 AWS CLI를 설치합니다. 그런 다음 IAM 사용자의 AWS 보안 자격 증명으로 AWS CLI를 구성합니다.
-
내보내려는 AMI와 동일한 AWS 리전에 새 S3 버킷을 생성합니다.
-
VM Import/Export에 사용하는 리전에서 AWS Security Token Service(AWS STS)를 활성화하세요. 그런 다음 필요한 서비스 역할을 생성합니다.
-
AWS CLI를 설치한 클라이언트 시스템에서 export-image 명령을 실행하여 이미지 내보내기 작업을 시작합니다.
aws ec2 export-image --image-id example-ami-id --disk-image-format example-disk-image-format --s3-export-location S3Bucket=example-export-bucket,S3Prefix=exports/
참고: 이 예제에서는 Amazon S3 키 prefixexport-ami-id.format이 내보낸 파일을 지정된 S3 버킷에 기록합니다. 내보낸 파일에 접두사를 추가할 수 있습니다.
export-image 명령 출력 예시:
{
"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"
}
-
이미지 내보내기 작업의 상태를 확인하려면 describe-export-image-tasks 명령을 실행합니다.
aws ec2 describe-export-image-tasks --export-image-task-ids export-example-ami-id
describe-export-image-tasks 명령 출력 예시:
{
"ExportImageTasks": [
{
"ExportImageTaskId": "export-ami-1234567890abcdef0"
"Progress": "21",
"S3ExportLocation": {
"S3Bucket": "my-export-bucket",
"S3Prefix": "exports/"
},
"Status": "active",
"StatusMessage": "updating"
}
]
}
-
이미지 내보내기 작업의 상태가 완료로 변경되었는지 확인합니다. 이는 내보낸 파일이 S3 버킷에서 객체로 준비되었음을 나타냅니다.
완료 상태 출력 예시:
{
"ExportImageTasks": [
{
"ExportImageTaskId": "example-export-ami-id"
"S3ExportLocation": {
"S3Bucket": "example-export-bucket",
"S3Prefix": "exports/"
},
"Status": "completed"
}
]
}
-
S3 콘솔을 사용하여 Amazon S3 버킷에 액세스할 수 있습니다. 그런 다음 객체를 찾아 다운로드합니다.
관련 정보
Amazon Machine Image(AMI)에서 직접 VM 내보내기
AWS 계정에서 IAM 사용자 생성
AWS 보안 자격 증명
Amazon Machine Image(AMI)
VM Import/Export 문제 해결