본문 바로가기
[AWS-DR]/EC2 Image Builder

[중요2] Importing a Virtual Machine into AWS 2023

by METAVERSE STORY 2024. 5. 29.
반응형
728x170

 

 

https://docs.aws.amazon.com/ko_kr/vm-import/latest/userguide/required-permissions.html

 

VM Import/Export에 필요한 권한 - VM Import

일부 작업에서는 Amazon S3 버킷을 사용해야 합니다. 이 예제 정책은 Amazon S3 버킷을 생성할 권한을 부여하지 않습니다. 사용자 또는 역할은 기존 버킷을 지정해야 하거나 새 버킷( s3:CreateBucket)을

docs.aws.amazon.com

 

 

 

 
 
## 온프레미스 VM ==> AWS 마이그레이션 방안

 
 
 
1. CLI 설치 (관리 PC)

 
 
 
 
2. CLI 설정 (관리 PC)

 
## CLI 유저 생성

 
- Access Keys 생성

 
- CLI 설정

 
 
 
 
3. VM 가져오기를 위한 AWS 역할 생성

 
## trust-policy.json 파일 생성 (관리PC)

 

-- 컴퓨터에서 trust-policy.json이라는 파일을 하나 만듭니다. 다음 정책을 파일에 추가합니다.

{
   "Version": "2012-10-17",
   "Statement": [
      {
         "Effect": "Allow",
         "Principal": { "Service": "vmie.amazonaws.com" },
         "Action": "sts:AssumeRole",
         "Condition": {
            "StringEquals":{
               "sts:Externalid": "vmimport"
            }
         }
      }
   ]
}

 

 

 

 


## vmimport 역할 생성

 

-- create-role 명령을 사용하여 vmimport 역할을 생성하고 VM Import/Export 액세스 권한을 부여합니다. 이전 단계에서 생성한 trust-policy.json 파일의 위치에 대한 전체 경로를 지정하고 다음 예와 같이 file:// 접두사를 포함해야 합니다.
aws iam create-role --role-name vmimport --assume-role-policy-document "file://C:\import\trust-policy.json"

 

 
 

 


 
 
 
4. 역할에 정책 연결

 
## 버킷명 정의

 
 
## S3 버킷 생성

 
 

 


## 버킷용 role-policy.json 생성
-- 다음 role-policy.json 정책으로 이름이 지정된 파일을 생성합니다.
   여기서
disk-image-file-bucket는 디스크 이미지용 버킷이고 export-bucket은 내보낸 이미지용 버킷입니다.

{
   "Version":"2012-10-17",
   "Statement":[
      {
         "Effect": "Allow",
         "Action": [
            "s3:GetBucketLocation",
            "s3:GetObject",
            "s3:ListBucket" 
         ],
         "Resource": [
            "arn:aws:s3:::disk-image-file-bucket",
            "arn:aws:s3:::disk-image-file-bucket/*"
         ]
      },
      {
         "Effect": "Allow",
         "Action": [
            "s3:GetBucketLocation",
            "s3:GetObject",
            "s3:ListBucket",
            "s3:PutObject",
            "s3:GetBucketAcl"
         ],
         "Resource": [
            "arn:aws:s3:::export-bucket",
            "arn:aws:s3:::export-bucket/*"
         ]
      },
      {
         "Effect": "Allow",
         "Action": [
            "ec2:ModifySnapshotAttribute",
            "ec2:CopySnapshot",
            "ec2:RegisterImage",
            "ec2:Describe*"
         ],
         "Resource": "*"
      }
   ]
}

 

-- (선택 사항) 에서 AWS KMS AWS Key Management Service키를 사용하여 암호화된 리소스를 가져오려면 파일에 다음 권한을 추가합니다. role-policy.json

{
  "Effect": "Allow",
  "Action": [
    "kms:CreateGrant",
    "kms:Decrypt",
    "kms:DescribeKey",
    "kms:Encrypt",
    "kms:GenerateDataKey*",
    "kms:ReEncrypt*"
  ],
  "Resource": "*"
}

 

-- (선택 사항) 라이선스 구성을 AMI에 연결하려면 파일에 다음 라이선스 관리자 권한을 추가합니다.

{
  "Effect": "Allow",
  "Action": [
    "license-manager:GetLicenseConfiguration",
    "license-manager:UpdateLicenseSpecificationsForResource",
    "license-manager:ListLicenseSpecificationsForResource"
  ],
  "Resource": "*"
}

 

 

 

 
-- 버킷용 role-policy.json 적용
다음 put-role-policy 명령을 사용하여 정책을 상기에 만들어진 역할에 연결합니다. 
role-policy.json 파일의 위치에 대한 전체 경로를 지정해야 합니다.

aws iam put-role-policy --role-name vmimport --policy-name vmimport --policy-document "file://C:\import\role-policy.json"

 
 
 
=================================================================
 
 

 

 

 

 

 


 

 
5. VM을 OVA 파일로 내보내기

 
## Export to OVF 선택 (전원 종료 후 작업)

 
 
 
 
 
 
 
6. OVA 파일을 S3 버킷에 업로드

 
 

 
 
 

 

 


 
 
7. AWS 명령어로 이미지 생성

 


 ## 예 1: 디스크가 하나인 이미지 가져오기
디스크가 하나인 이미지를 가져오려면 다음 명령을 사용합니다.

aws ec2 import-image --description "My server VM" --disk-containers "file://C:\import\containers.json"

-- 다음은 S3 버킷을 사용하여 이미지를 지정하는 예제 containers.json 파일입니다.

[
  {
    "Description": "My Server OVA",
    "Format": "ova",
    "UserBucket": {
        "S3Bucket": "my-import-bucket",
        "S3Key": "vms/my-server-vm.ova"
    }
  }
]

 

 
 

 
 

 

 

 


 
 
 
8. AWS 이미지 생성 프로세스 모니터링
-- describe-import-image-tasks명령을 사용하여 가져오기 작업의 상태를 반환합니다.

aws ec2 describe-import-image-tasks --import-task-ids import-ami-1234567890abcdef0

 

  • active — 가져오기 작업이 진행 중입니다.
  • deleting — 가져오기 작업이 취소되는 중입니다.
  • deleted — 가져오기 작업이 취소되었습니다.
  • updating — 가져오기 상태를 업데이트하는 중입니다.
  • validating — 가져온 이미지를 확인하는 중입니다.
  • validated — 가져온 이미지를 확인하였습니다.
  • converting — 가져온 이미지를 AMI로 변환 중입니다.
  • completed — 가져오기 작업이 완료되었으며 AMI를 사용할 준비가 되었습니다.

 

 
 

 
 
 

 
 
 
 
 
 
 
[최종] EC2 복원 과정

 
- Browse more AMIs 클릭  ==> My AMIs 선택

 

 
 
 
 
 
 
 
 
 
 
 
 
 
Main Slide : https://cloudtechlinks.com/V53-AWS-Im...

AWS Import Requirements : https://docs.aws.amazon.com/vm-import...



Preparation Steps
----------------------
1. Installing the latest AWS CLI : https://docs.aws.amazon.com/cli/lates...
   Command you see me run : aws --version

2. Configue the AWS CLI : https://docs.aws.amazon.com/cli/lates...

3. Create an AWS Role for VM Importing   : https://docs.aws.amazon.com/vm-import...

4. Attach a Policy to the AWS Role, also : https://docs.aws.amazon.com/vm-import...



Importing Steps (Steps 1-4)
---------------------------

Importing a VM as an image using VM Import/Export : https://docs.aws.amazon.com/vm-import...



Other Information
---------------------s----
VM Import/Export : https://aws.amazon.com/ec2/vm-import/

 

VM Import/Export

VM Import/Export를 사용해 손쉽게 기존 환경의 가상 머신 이미지를 Amazon EC2 인스턴스로 가져오고 다시 온프레미스 환경으로 내보낼 수 있습니다. VM Import/Export를 사용하면 IT 보안, 구성 관리, 규정

aws.amazon.com

 
 
 
 
https://www.youtube.com/watch?v=qPjTvKkr1cI

반응형
그리드형

댓글