로컬 CentOS 6.x VM을 AWS EC2로 가져옵니다.
소개
로컬의 CenOS 6.x VMWare VM을 AWS EC2로 가져갑니다.
레거시 로컬 환경이라고 할까, 서버가 흐려지기 때문에 AWS에 올리려고 하는 이야기.
AWSCLI를 이용해 커멘드 라인으로 로컬에 있는 VM 를 이동한다.
거친
준비
절차
VMWare VM 내보내기(OVF 형식)
VM을 중지한 후 수행해야 합니다.
파일 메뉴에서 OVF로 내보내기(E)를 선택하여 파일을 출력합니다.
이것을 실행하면, 이하의 3개의 파일이 출력된다.
내보낸 (OVF 형식) 파일을 S3에 복사
S3에서 버킷 만들기
버킷 만들기를 클릭합니다.
버킷 이름을 입력하고 '다음'
특히 아무것도 없기 때문에 아무것도하지 않고 "다음"
마이그레이션하자마자 지우므로 공개 액세스로 버킷 만들기
버킷에 OVF 형식 파일 복사
버킷 선택
업로드를 클릭하여 내보낸 VM의 세 파일을 업로드합니다.
S3에서 EC2로 복사할 역할을 만들고 정책 할당
역할 만들기
다음 JSON 파일 준비
``json
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Principal": { "Service": "vmie.amazonaws.com"},
"Action": "sts:AssumeRole",
"Condition": {
"StringEquals":{
"sts:Externalid": "vmimport"
}
}
}
]
}
위의 JSON 파일을 사용하여 다음 명령을 실행합니다.
/root/.local/bin/aws iam create-role --role-name vmimport --assume-role-policy-document "file:///tmp/trust-policy.json"
역할을 만들 수 있는 권한이 없으면 다음과 같은 오류가 발생합니다.
An error occurred (AccessDenied) when calling the PutRolePolicy operation: User: arn:aws:iam::105252861779:user/cliadmin is not authorized to perform:
명령 실행이 정상적으로 끝나면 다음과 같은 것이 표시된다
ROLE arn:aws:iam::105252861779:role/vmimport 2020-07-15T10:36:22Z / AROARRAMPG5J2MR35GNQ3 vmimport
ASSUMEROLEPOLICYDOCUMENT 2012-10-17
STATEMENT sts:AssumeRole Allow
STRINGEQUALS vmimport
PRINCIPAL vmie.amazonaws.com
정책 할당
다음 JSON 파일을 준비합니다. 「버킷명」에 작성한 버킷명을 기재한다.
{
"Version":"2012-10-17",
"Statement":[
{
"Effect":"Allow",
"Action":[
"s3:GetBucketLocation",
"s3:GetObject",
"s3:ListBucket"
],
"Resource":[
"arn:aws:s3:::バケット名",
"arn:aws:s3:::バケット名/*"
]
},
{
"Effect":"Allow",
"Action":[
"ec2:ModifySnapshotAttribute",
"ec2:CopySnapshot",
"ec2:RegisterImage",
"ec2:Describe*"
],
"Resource":"*"
}
]
}
위의 JSON 파일을 사용하여 다음 명령을 실행하여 역할에 정책을 할당합니다.
/root/.local/bin/aws iam put-role-policy --role-name vmimport --policy-name vmimport --policy-document "file:///tmp/role-policy.json"
역할을 만들 수 있는 권한이 없으면 다음과 같은 오류가 발생합니다.
An error occurred (AccessDenied) when calling the PutRolePolicy operation: User: arn:aws:iam::105252861779:user/cliadmin is not authorized to perform:
S3에 복사한 파일을 AMI로 가져오기
다음 JSON 파일을 준비합니다.
[
{
"Description": "First disk",
"Format": "vmdk",
"UserBucket": {
"S3Bucket": "バケット名",
"S3Key": "フォルダ名/インポート対象VMDK(test.vmdk)"
}
}
]
위에서 준비한 JSON 파일을 이용하여 다음 명령을 실행합니다.
/root/.local/bin/aws ec2 import-image --description "vmec2mig" --disk-containers "file:///tmp/containers.json"
역할이 없으며 역할에 정책이 할당되지 않으면 다음 오류가 발생합니다.
An error occurred (InvalidParameter) when calling the ImportImage operation: The service role vmimport provided does not exist or does not have sufficient permissions
실행할 수 있으면 가져오기가 시작되므로 잠시 기다립니다.
/root/.local/bin/aws ec2 import-image --description "vmec2mig" --disk-containers "file:///tmp/containers.json"
vmec2mig import-ami-0746702dcd8ae0ba4 1 active pending
SNAPSHOTDETAILS First disk 0.0 VMDK
USERBUCKET testlink-vm TestLink_CentOS6.6_extl0104ce6-disk1.vmdk
/root/.local/bin/aws ec2 describe-import-image-tasks --import-task-ids import-ami-0746702dcd8ae0ba4
IMPORTIMAGETASKS vmec2mig import-ami-0746702dcd8ae0ba4 4 active validated
# /root/.local/bin/aws ec2 describe-import-image-tasks --import-task-ids import-ami-0746702dcd8ae0ba4
IMPORTIMAGETASKS x86_64 vmec2mig ami-019afc5f9ae98ab03 import-ami-0746702dcd8ae0ba4 BYOL Linux completed
상태가 completed가 되면 AMI에 사용되고 있다
AMI에서 EC2에 등록
등록한 AMI를 선택하고 「액션」에서 「기동」을 클릭하면 EC2로 기동합니다.
Reference
이 문제에 관하여(로컬 CentOS 6.x VM을 AWS EC2로 가져옵니다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/bakachou/items/38d9ef670e25e80e38b0
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
/root/.local/bin/aws iam create-role --role-name vmimport --assume-role-policy-document "file:///tmp/trust-policy.json"
An error occurred (AccessDenied) when calling the PutRolePolicy operation: User: arn:aws:iam::105252861779:user/cliadmin is not authorized to perform:
ROLE arn:aws:iam::105252861779:role/vmimport 2020-07-15T10:36:22Z / AROARRAMPG5J2MR35GNQ3 vmimport
ASSUMEROLEPOLICYDOCUMENT 2012-10-17
STATEMENT sts:AssumeRole Allow
STRINGEQUALS vmimport
PRINCIPAL vmie.amazonaws.com
{
"Version":"2012-10-17",
"Statement":[
{
"Effect":"Allow",
"Action":[
"s3:GetBucketLocation",
"s3:GetObject",
"s3:ListBucket"
],
"Resource":[
"arn:aws:s3:::バケット名",
"arn:aws:s3:::バケット名/*"
]
},
{
"Effect":"Allow",
"Action":[
"ec2:ModifySnapshotAttribute",
"ec2:CopySnapshot",
"ec2:RegisterImage",
"ec2:Describe*"
],
"Resource":"*"
}
]
}
/root/.local/bin/aws iam put-role-policy --role-name vmimport --policy-name vmimport --policy-document "file:///tmp/role-policy.json"
An error occurred (AccessDenied) when calling the PutRolePolicy operation: User: arn:aws:iam::105252861779:user/cliadmin is not authorized to perform:
다음 JSON 파일을 준비합니다.
[
{
"Description": "First disk",
"Format": "vmdk",
"UserBucket": {
"S3Bucket": "バケット名",
"S3Key": "フォルダ名/インポート対象VMDK(test.vmdk)"
}
}
]
위에서 준비한 JSON 파일을 이용하여 다음 명령을 실행합니다.
/root/.local/bin/aws ec2 import-image --description "vmec2mig" --disk-containers "file:///tmp/containers.json"
역할이 없으며 역할에 정책이 할당되지 않으면 다음 오류가 발생합니다.
An error occurred (InvalidParameter) when calling the ImportImage operation: The service role vmimport provided does not exist or does not have sufficient permissions
실행할 수 있으면 가져오기가 시작되므로 잠시 기다립니다.
/root/.local/bin/aws ec2 import-image --description "vmec2mig" --disk-containers "file:///tmp/containers.json"
vmec2mig import-ami-0746702dcd8ae0ba4 1 active pending
SNAPSHOTDETAILS First disk 0.0 VMDK
USERBUCKET testlink-vm TestLink_CentOS6.6_extl0104ce6-disk1.vmdk
/root/.local/bin/aws ec2 describe-import-image-tasks --import-task-ids import-ami-0746702dcd8ae0ba4
IMPORTIMAGETASKS vmec2mig import-ami-0746702dcd8ae0ba4 4 active validated
# /root/.local/bin/aws ec2 describe-import-image-tasks --import-task-ids import-ami-0746702dcd8ae0ba4
IMPORTIMAGETASKS x86_64 vmec2mig ami-019afc5f9ae98ab03 import-ami-0746702dcd8ae0ba4 BYOL Linux completed
상태가 completed가 되면 AMI에 사용되고 있다
AMI에서 EC2에 등록
등록한 AMI를 선택하고 「액션」에서 「기동」을 클릭하면 EC2로 기동합니다.
Reference
이 문제에 관하여(로컬 CentOS 6.x VM을 AWS EC2로 가져옵니다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/bakachou/items/38d9ef670e25e80e38b0
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
Reference
이 문제에 관하여(로컬 CentOS 6.x VM을 AWS EC2로 가져옵니다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/bakachou/items/38d9ef670e25e80e38b0텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)